T
A reference to a component of the type T
if one is found, otherwise null
.
Gets a reference to a component of type T
on the same GameObject as the component specified.
The typical usage for this method is to call it from a MonoBehaviour script (which itself is a type of
component), to find references to other Components or MonoBehaviours attached to the same GameObject as that script. In this case you can call the method with no preceding object specified. For example:myResults = GetComponent<ComponentType>()
You can also call this method on a reference to different component, which might be attached to a different GameObject. In this case, the GameObject to which that component is attached is searched. For example:myResults = otherComponent.GetComponent<ComponentType>()
Note: GetComponent returns only the first matching component found on the GameObject on which it is called, and the order that the components are checked is not defined. Therefore, if there are more than one of the specified type that could match, and you need to find a specific one, you should use Component.GetComponents and check the list of components returned to identify the one you want.
To find components attached to other GameObjects, you need a reference to that other GameObject (or any component attached to that GameObject). You can then call GetComponent
on that reference.
See the Component and GameObject class reference pages for the other variations of the GetComponent
family of methods.
The following example gets a reference to a hinge joint component on the same GameObject as the script, and if found, sets a property on that hinge joint component.
using UnityEngine;
public class GetComponentExample : MonoBehaviour { void Start() { HingeJoint hinge = GetComponent<HingeJoint>();
if (hinge != null) { hinge.useSpring = false; } } }
Note: If the type you request is a derivative of MonoBehaviour and the associated script can't be loaded then this function will return `null` for that component.
type | The type of Component to retrieve. |
Component
A Component of the matching type
, otherwise null
if no Component is found.
The non-generic version of this method.
This version of GetComponent is not as efficient as the Generic version (above), so you should only use it if necessary.
using UnityEngine;
public class GetComponentExample : MonoBehaviour { void Start() { HingeJoint hinge = gameObject.GetComponent(typeof(HingeJoint)) as HingeJoint;
if (hinge != null) { hinge.useSpring = false; } } }
type | The name of the type of Component to get. |
Component
A Component of the matching type
, otherwise null
if no Component is found.
The string-based version of this method.
This version of GetComponent is not as efficient as the Generic version (above), so you should only use it if necessary.
using UnityEngine;
public class GetComponentExample : MonoBehaviour { void Start() { HingeJoint hinge = GetComponent("HingeJoint") as HingeJoint;
if (hinge != null) { hinge.useSpring = false; } } }
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.