Parameter | Description |
---|---|
componentOrGameObject | The object to find the corresponding object from. |
TObject The corresponding object or null.
Retrieves the corresponding asset object of source
, or null if it can't be found.
Use this method to get a Prefab Asset object the source
was instantiated from.
For example, in the diagram shown below, prefab asset A contains a child nested prefab B, which contains a child nested prefab C.
The image shows the nested prefab assets, with B and C nested under A, and C nested under B, and how this structure carries over to their nested instances in the Hierarchy window.
In this example scenario, if you supply the instance of GameObject C as the componentOrGameObject
parameter to GetCorrespondingObjectFromSource
, then the method returns the object C from the asset Prefab A.
The following example adds a menu item to the Editor, which launches a simple wizard that allows you to test the results of this method.
using UnityEditor; using UnityEngine; public class AssetSourceTestWizard : ScriptableWizard { public GameObject instance;
[MenuItem("Test/Asset Source Test Wizard")] static void CreateWizard() { ScriptableWizard.DisplayWizard<AssetSourceTestWizard>("Asset Source Test Wizard", "Do Test"); }
void OnWizardCreate() { var o1 = PrefabUtility.GetCorrespondingObjectFromSource(instance); Debug.Log("Corresponding object from source: " + o1.name + " from: " + AssetDatabase.GetAssetPath(o1)); } }