Creates a game object with HideFlags and specified components.
This is very similar to creating a GameObject the usual way, except it
sets the specified HideFlags immediately.
Editor Window that shows how does the example looks.
// Simple script that lets you manage the flags of an instanceID from a // GameObject or lets you create a new empty GameObject with custom flags set
class GameObjectFlags extends EditorWindow {
var objName : String = "GameObject"; var instanceID : int = 0; var create : boolean = true; var go : GameObject = null;
var hideHierarchy : boolean = false;
@MenuItem("Examples/GameObject flags") static function Init() { var window = GetWindow(GameObjectFlags); window.Show(); }
function OnGUI() { create = EditorGUILayout.Toggle("Create a GO:", create); GUI.enabled = create; objName = EditorGUILayout.TextField("GameObject Name:", objName); if(GUILayout.Button("Create")) { var created = EditorUtility.CreateGameObjectWithHideFlags( objName, hideHierarchy ? HideFlags.HideInHierarchy : 0); Debug.Log("Created GameObject ID: " + created.GetInstanceID()); } GUI.enabled = !create; EditorGUILayout.BeginHorizontal(); instanceID = EditorGUILayout.IntField("Instance ID:", instanceID); if(GUILayout.Button("Search & Update flags")) { go = null; go = EditorUtility.InstanceIDToObject(instanceID); if(go) go.hideFlags = hideHierarchy ? HideFlags.HideInHierarchy : 0; } EditorGUILayout.EndHorizontal();
if(!go) EditorGUILayout.LabelField("Object: ","No object was found"); else EditorGUILayout.LabelField("Object: ", go.name);
GUI.enabled = true; hideHierarchy = EditorGUILayout.Toggle("HideInHierarchy", hideHierarchy);
} }