Files

8.2 KiB
Raw Permalink Blame History

GameObject & component commands

Commands for creating GameObjects, querying the scene hierarchy, mutating the core GameObject/Transform surface, and adding/removing components and editing their serialized properties. Scene mutations are wrapped in Unity's Undo system (so a multi-step action reverts as one collapsible step) and are blocked during Play mode. Objects are referenced by an ObjectRef handle (globalId/path/guid/instanceId/hierarchyPath), and results come back as AuthoringResult identities you can chain into a follow-up call.

create_gameobject

Create an empty GameObject or a built-in primitive (cube/sphere/capsule/cylinder/plane/quad) in the active scene.

Parameter Required Default Description
name no Name for the new GameObject. Defaults to 'GameObject' (or the primitive name).
primitive no Optional primitive type: cube, sphere, capsule, cylinder, plane, quad. Omit for an empty GameObject.
parent no Optional parent handle (globalId/path/guid/instanceId/hierarchyPath). The new object becomes a child of it.

Returns: AuthoringResult Notes: Undo-able; blocked during Play mode.

create_gameobjects

Batch-create N empty GameObjects or primitives in one call. Optional positions/rotations/scales are arrays of [x,y,z] (length must equal count). Returns the created identities.

Parameter Required Default Description
name no Base name. With count>1 and no explicit names, objects are suffixed Name1..NameN.
primitive no Optional primitive type: cube, sphere, capsule, cylinder, plane, quad. Omit for empty GameObjects.
parent no Optional parent handle. Every created object becomes a child of it.
count no 1 How many GameObjects to create. Default 1.
positions no Local positions, one [x,y,z] per object. Length must equal count when supplied.
rotations no Local Euler rotations (degrees), one [x,y,z] per object. Length must equal count when supplied.
scales no Local scales, one [x,y,z] per object. Length must equal count when supplied.

Returns: CreateGameObjectsResult Notes: Undo-able (the whole batch reverts as one step); blocked during Play mode.

find_gameobjects

Find GameObjects in loaded scenes by name, tag, component type, and/or hierarchy path (filters are combined). Returns structured identities.

Parameter Required Default Description
name no Exact name to match.
tag no Tag to match (e.g. 'Player').
type no Component type name to match (e.g. 'Rigidbody', 'UnityEngine.Camera').
hierarchy_path no Exact hierarchy path to match (e.g. '/Root/Child').
include_inactive no true Include inactive GameObjects. Default true.

Returns: FindGameObjectsResult

set_transform

Set a GameObject's local position/rotation(euler)/scale. Omitted channels are left unchanged.

Parameter Required Default Description
target yes Handle of the GameObject to modify.
position no Local position as [x,y,z].
rotation no Local rotation as Euler angles [x,y,z] in degrees.
scale no Local scale as [x,y,z].

Returns: AuthoringResult Notes: Undo-able; blocked during Play mode.

set_parent

Reparent a GameObject under a new parent, or detach it to scene root when no parent is given.

Parameter Required Default Description
target yes Handle of the GameObject to reparent.
parent no Handle of the new parent. Omit (or empty) to move the object to the scene root.
world_position_stays no true Keep the object's world position when reparenting. Default true.

Returns: AuthoringResult Notes: Undo-able; blocked during Play mode.

set_active

Set a GameObject's active self-state (activeSelf).

Parameter Required Default Description
target yes Handle of the GameObject.
active yes Desired active state.

Returns: AuthoringResult Notes: Undo-able; blocked during Play mode.

set_tag

Set a GameObject's tag (the tag must already exist in the project).

Parameter Required Default Description
target yes Handle of the GameObject.
tag yes Tag to assign (must exist in the Tag Manager).

Returns: AuthoringResult Notes: Undo-able; blocked during Play mode.

set_layer

Set a GameObject's layer by name or numeric index (0-31).

Parameter Required Default Description
target yes Handle of the GameObject.
layer yes Layer name (e.g. 'UI') or numeric index 0-31.

Returns: AuthoringResult Notes: Undo-able; blocked during Play mode.

rename_gameobject

Rename a GameObject.

Parameter Required Default Description
target yes Handle of the GameObject.
name yes New name.

Returns: AuthoringResult Notes: Undo-able; blocked during Play mode.

delete_gameobject

Delete a GameObject from the scene (reversible via Undo).

Parameter Required Default Description
target yes Handle of the GameObject to delete.

Returns: AuthoringResult Notes: Undo-able; blocked during Play mode. The result describes the object's identity captured before destruction.

add_component

Add a component (by type name) to a GameObject.

Parameter Required Default Description
target yes Handle of the GameObject.
type yes Component type name (e.g. 'Rigidbody' or 'UnityEngine.Camera').

Returns: AuthoringResult Notes: Undo-able; blocked during Play mode.

remove_component

Remove a component from a GameObject. Provide either a component handle (target) or a GameObject handle (target) plus a type name.

Parameter Required Default Description
target yes Handle of the component to remove, OR of the GameObject when 'type' is given.
type no Component type name to remove from the target GameObject (omit when 'target' already points at a component).

Returns: AuthoringResult Notes: Undo-able; blocked during Play mode.

get_component_properties

Get a component's serialized properties as a JSON map. Address the component by handle, or by GameObject handle + type.

Parameter Required Default Description
target yes Handle of the component, OR of the GameObject when 'type' is given.
type no Component type name on the target GameObject (omit when 'target' is a component handle).

Returns: ComponentPropertiesResult

set_component_properties

Set serialized properties on a component (one Undo step). 'properties' maps property name -> value; object references accept an ObjectRef handle.

Parameter Required Default Description
target yes Handle of the component, OR of the GameObject when 'type' is given.
properties yes Map of serialized property name to value. Vectors/colors are arrays; object refs are handle objects.
type no Component type name on the target GameObject (omit when 'target' is a component handle).

Returns: ComponentPropertiesResult Notes: Undo-able (one Undo step); blocked during Play mode. An unknown property name fails the whole batch (no partial apply).

See Creating commands and Connectivity.