Version: 2017.3
public Transform Find (string name);

Parameters

n Name of child to be found.

Returns

Transform The returned child transform or null if no child is found.

Description

Finds a child by n and returns it.

If no child with n can be found, null is returned. If n contains a '/' character it will access the Transform in the hierarchy like a path name.

Note: Find does not perform a recursive descend down a Transform hierarchy.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public GameObject player; public GameObject gun; public Transform ammo;

//Invoked when a button is clicked. public void Example() { //Finds and assigns the child of the player named "Gun". gun = player.transform.Find("Gun").gameObject;

//If the child was found. if (gun != null) { //Find the child named "ammo" of the gameobject "magazine" (magazine is a child of "gun"). ammo = gun.transform.Find("magazine/ammo"); } else Debug.Log("No child with the name 'Gun' attached to the player"); } }

As described Find does not descend the Transform. Find will only search the given list of children looking for a named Transform.


A GameObject with three children. Find() does not find the third child.

// ExampleClass has a GameObject with three spheres attached.
// Two of these are children of the GameObject.  The third
// transform, sphere3, is a child of sphere2.  Find() does
// not find this child.

using UnityEngine;

public class ExampleClass : MonoBehaviour { void Start() { Transform result = gameObject.transform.Find("sphere3");

if (result) { Debug.Log("Found sphere3"); } else { Debug.Log("Did not find sphere3"); } } }