Version: 2017.3 (switch to 2017.4)
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

PrefabUtility.InstantiatePrefab

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

Did you find this page useful? Please give it a rating: