assetComponentOrGameObject | Prefab Asset to instantiate. |
destinationScene | Scene to instantiate the Prefab in. |
parent | The parent Transform to be assigned. |
Object The GameObject at the root of the Prefab.
Instantiates the given Prefab in a given Scene.
This is similar to Instantiate but creates a Prefab connection to the Prefab. If a Scene handle is not given the Prefab is instantiated in the active Scene.
using UnityEngine; using UnityEditor;
public class Example : EditorWindow { [MenuItem("Examples/Instantiate Selected")] static void CreatePrefab() { GameObject clone = PrefabUtility.InstantiatePrefab(Selection.activeObject as GameObject) as GameObject; }
[MenuItem("Examples/Instantiate Selected", true)]
static bool ValidateCreatePrefab() { GameObject go = Selection.activeObject as GameObject; if (go == null) return false;
return PrefabUtility.GetPrefabType(go) == PrefabType.Prefab || PrefabUtility.GetPrefabType(go) == PrefabType.ModelPrefab; } }