Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
CloseFor some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
CloseprefabRoot | The root GameObject of a Prefab asset. |
scene | The scene to search for Prefab instances. The scene you specify must be valid and loaded. |
GameObject[]
The root GameObjects for all instances of the Prefab asset with root prefabRoot
.
Retrieves the root GameObjects for all instances of the Prefab asset with root prefabRoot
found in all currently loaded scenes. If prefabRoot
is not a valid Prefab asset root GameObject, an ArgumentException
is thrown.
FindAllInstancesOfPrefab will not return nested Prefab instances.
using UnityEditor; using UnityEngine; using UnityEngine.SceneManagement; using NUnit.Framework;
public class Example : MonoBehaviour { public GameObject prefabAssetRoot; private void Start() { var expectedInstance = (GameObject)PrefabUtility.InstantiatePrefab(prefabAssetRoot); var instances = PrefabUtility.FindAllInstancesOfPrefab(prefabAssetRoot); Assert.AreEqual(1, instances.Length); Assert.AreEqual(expectedInstance, instances[0]); } }
Returns the root GameObjects for all instances of the Prefab asset with root prefabRoot
found in scene
. If prefabRoot
is not a valid Prefab asset root GameObject, or scene
is not valid and loaded, ArgumentException
is thrown.
FindAllInstancesOfPrefab will not return nested Prefab instances.
using UnityEditor; using UnityEngine; using UnityEngine.SceneManagement; using NUnit.Framework;
public class Example : MonoBehaviour { public GameObject prefabAssetRoot; private void Start() { var expectedInstance = (GameObject)PrefabUtility.InstantiatePrefab(prefabAssetRoot); var instances = PrefabUtility.FindAllInstancesOfPrefab(prefabAssetRoot, SceneManager.GetActiveScene()); Assert.AreEqual(1, instances.Length); Assert.AreEqual(expectedInstance, instances[0]); } }