Version: 2017.3

PrefabUtility.InstantiatePrefab

Switch to Manual
public static Object InstantiatePrefab (Object target);
public static Object InstantiatePrefab (Object target, SceneManagement.Scene destinationScene);

Parameters

target Prefab asset to instantiate.
destinationScene Scene to instantiate the prefab in.

Returns

Object The GameObject at the root of the prefab.

Description

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; } }