docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    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.

    In This Article
    Back to top
    Copyright © 2026 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)