Version: Unity 6.6 Beta (6000.6)
LanguageEnglish
  • C#

Component.TryGetComponent

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Declaration

public bool TryGetComponent(out T component);

Parameters

Parameter Description
component The output argument that contains the component or null.

Returns

bool Returns true if the component is found, false otherwise.

Description

Gets the component of the specified type, if it exists.

TryGetComponent attempts to retrieve the component of type T on the same GameObject as the component it's called on. For more information on usage and behavior of the search, refer to Component.GetComponent. The difference between this and Component.GetComponent is that TryGetComponent doesn't allocate in the Editor if the requested component doesn't exist.

Note: This method doesn't search the hierarchy of parent or child GameObjects, but is confined to the GameObject the component it's called on is attached to. Because it only checks that GameObject, TryGetComponent returns the requested component whether the GameObject is active or inactive. The active state affects only the hierarchy-traversing methods such as Component.GetComponentInChildren, which take an includeInactive parameter.

using UnityEngine;

public class TryGetComponentExample : MonoBehaviour { void Start() { if (TryGetComponent<HingeJoint>(out HingeJoint hinge)) { hinge.useSpring = false; } } }

Declaration

public bool TryGetComponent(Type type, out Component component);

Parameters

Parameter Description
type The type of component to search for.
component The output argument that contains the component or null.

Returns

bool Returns true if the component is found, false otherwise.

Description

The non-generic version of this method.

This version of TryGetComponent is not as efficient as the Generic version (above), so you should only use it if necessary.