Version: 2020.2
public static Object InstantiatePrefab (Object assetComponentOrGameObject);
public static Object InstantiatePrefab (Object assetComponentOrGameObject, SearchService.Scene destinationScene);


target Prefab Asset to instantiate.
destinationScene Scene to instantiate the Prefab in.


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 { [MenuItem("Examples/Instantiate Selected")] static void InstantiatePrefab() { Selection.activeObject = PrefabUtility.InstantiatePrefab(Selection.activeObject as GameObject); }

[MenuItem("Examples/Instantiate Selected", true)] static bool ValidateInstantiatePrefab() { GameObject go = Selection.activeObject as GameObject; if (go == null) return false;

return PrefabUtility.IsPartOfPrefabAsset(go); } }