xxxxxxxxxx
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
public GameObject player;
//Invoked when a button is pressed.
public void SetParent(GameObject newParent)
{
//Makes the GameObject "newParent" the parent of the GameObject "player".
player.transform.parent = newParent.transform;
//Display the parent's name in the console.
Debug.Log("Player's Parent: " + player.transform.parent.name);
// Check if the new parent has a parent GameObject.
if (newParent.transform.parent != null)
{
//Display the name of the grand parent of the player.
Debug.Log("Player's Grand parent: " + player.transform.parent.parent.name);
}
}
public void DetachFromParent()
{
// Detaches the transform from its parent.
transform.parent = null;
}
}
xxxxxxxxxx
public GameObject Child;
public Transform NewParent;
// Sets "newParent" as the new parent of the child GameObject.
Child.transform.SetParent(NewParent);
// Removes parent, puts child into a top-level object in the hierarchy
Child.transform.SetParent(null);
xxxxxxxxxx
// Assuming the user wants to get the parent GameObject of a specific GameObject named "childObject"
// Get the reference to the child GameObject
GameObject childObject = /* Add code to get the specific GameObject here */;
// Get the parent GameObject of the childObject
GameObject parentObject = childObject.transform.parent.gameObject;
// Use parentObject as needed, for example:
parentObject.GetComponent<SomeComponent>().DoSomething();