GameObject.GetComponent

Switch to Manual
public Component GetComponent(Type type);

Parameters

type The type of Component to retrieve.

Description

Returns the component of Type type if the game object has one attached, null if it doesn't.

Using gameObject.GetComponent will return the first component that is found and the order is undefined. If you expect there to be more than one component of the same type, use gameObject.GetComponents instead, and cycle through the returned components testing for some unique property.

using UnityEngine;

public class GetComponentExample : MonoBehaviour { void Start() { HingeJoint hinge = gameObject.GetComponent(typeof(HingeJoint)) as HingeJoint;

if (hinge != null) hinge.useSpring = false; } }

public T GetComponent();

Description

Generic version of this method.

using UnityEngine;

public class GetComponentGenericExample : MonoBehaviour { void Start() { HingeJoint hinge = gameObject.GetComponent<HingeJoint>();

if (hinge != null) hinge.useSpring = false; } }

public Component GetComponent(string type);

Parameters

type The type of Component to retrieve.

Description

Returns the component with name type if the game object has one attached, null if it doesn't.

It is better to use GetComponent with a Type instead of a string for performance reasons. Sometimes you might not be able to get to the type however, for example when trying to access a C# script from Javascript. In that case you can simply access the component by name instead of type.

using UnityEngine;

public class GetComponentNonPerformantExample : MonoBehaviour { void Start() { HingeJoint hinge = gameObject.GetComponent("HingeJoint") as HingeJoint;

if (hinge != null) hinge.useSpring = false; } }

Did you find this page useful? Please give it a rating: