← MCP Security Catalog

PlayCanvas Editor MCP Server 0.7.0

npm · @playcanvas/editor-mcp-server · latest release

Scan failed
Security result
124
Observed tools
Version rating
Change risk

Independent inventory

Observed 2026-08-25T12:36:58.436Z using mcpSecurity-inventory. Protocol 2025-06-18.

ToolCategoryRisk
add_componentsAdd one or more components to an existing entity (camera, light, render, collision, rigidbody, element, screen, script, sound, etc.). Pass each component's initial data under its name. Returns the updated entity summary. Physics note: rigidbody/collision components only simulate when the project has the Ammo physics module enabled (Editor: IMPORT AMMO / enable physics in project settings). If it is not enabled, add the components then enable Ammo — do not stall on the decision. When NOT to use: to create a new entity (use create_entities), to tweak an existing component property (use modify_entities), or to attach a script to a script component (use attach_script).
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Entity ID"
    },
    "components": {
      "type": "object",
      "properties": {
        "anim": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            }
          },
          "additionalProperties": true,
          "description": "Anim component (loosely typed; pass any valid component fields)"
        },
        "animation": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            }
          },
          "additionalProperties": true,
          "description": "Animation (legacy) component (loosely typed; pass any valid component fields)"
        },
        "audiolistener": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            }
          },
          "additionalProperties": true,
          "description": "Audio listener component"
        },
        "button": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            }
          },
          "additionalProperties": true,
          "description": "Button component (loosely typed; pass any valid component fields)"
        },
        "camera": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "clearColorBuffer": {
              "type": "boolean",
              "description": "Clear color buffer"
            },
            "clearColor": {
              "type": "array",
              "items": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "minItems": 4,
              "maxItems": 4,
              "description": "Clear color"
            },
            "clearDepthBuffer": {
              "type": "boolean",
              "description": "Clear depth buffer"
            },
            "renderSceneDepthMap": {
              "type": "boolean"
            },
            "renderSceneColorMap": {
              "type": "boolean"
            },
            "projection": {
              "anyOf": [
                {
                  "type": "number",
                  "const": 0,
                  "description": "Perspective"
                },
                {
                  "type": "number",
                  "const": 1,
                  "description": "Orthographic"
                }
              ]
            },
            "fov": {
              "type": "number",
              "description": "Field of view degrees"
            },
            "frustumCulling": {
              "type": "boolean"
            },
            "orthoHeight": {
              "type": "number",
              "description": "Ortho height"
            },
            "nearClip": {
              "type": "number",
              "minimum": 0
            },
            "farClip": {
              "type": "number",
              "minimum": 0
            },
            "priority": {
              "type": "number"
            },
            "rect": {
              "type": "array",
              "items": {
                "type": "number"
              },
              "minItems": 4,
              "maxItems": 4,
              "description": "Viewport rect [x,y,w,h]"
            },
            "layers": {
              "type": "array",
              "items": {
                "type": "integer",
                "minimum": 0
              }
            },
            "toneMapping": {
              "anyOf": [
                {
                  "type": "number",
                  "const": 0,
                  "description": "Linear"
                },
                {
                  "type": "number",
                  "const": 1,
                  "description": "Filmic"
                },
                {
                  "type": "number",
                  "const": 2,
                  "description": "Hejl"
                },
                {
                  "type": "number",
                  "const": 3,
                  "description": "ACES"
                },
                {
                  "type": "number",
                  "const": 4,
                  "description": "ACES2"
                },
                {
                  "type": "number",
                  "const": 5,
                  "description": "Neutral"
                },
                {
                  "type": "number",
                  "const": 6,
                  "description": "None"
                }
              ]
            },
            "gammaCorrection": {
              "anyOf": [
                {
                  "type": "number",
                  "const": 0,
                  "description": "None"
                },
                {
                  "type": "number",
                  "const": 1,
                  "description": "sRGB"
                }
              ]
            }
          },
          "additionalProperties": true,
          "description": "Camera component"
        },
        "collision": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "type": {
              "type": "string",
              "enum": [
                "box",
                "sphere",
                "capsule",
                "cylinder",
                "mesh"
              ]
            },
            "halfExtents": {
              "type": "array",
              "items": {
                "type": "number"
              },
              "minItems": 3,
              "maxItems": 3,
              "description": "Box half-extents"
            },
            "radius": {
              "type": "number",
              "minimum": 0
            },
            "axis": {
              "anyOf": [
                {
                  "type": "number",
                  "const": 0,
                  "description": "X"
                },
                {
                  "type": "number",
                  "const": 1,
                  "description": "Y"
                },
                {
                  "type": "number",
                  "const": 2,
                  "description": "Z"
                }
              ]
            },
            "height": {
              "type": "number",
              "minimum": 0
            },
            "convexHull": {
              "type": "boolean"
            },
            "asset": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "Asset ID"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Model asset"
            },
            "renderAsset": {
              "$ref": "#/properties/components/properties/collision/properties/asset",
              "description": "Render asset"
            },
            "linearOffset": {
              "$ref": "#/properties/components/properties/collision/properties/halfExtents",
              "description": "[x,y,z]"
            },
            "angularOffset": {
              "$ref": "#/properties/components/properties/collision/properties/halfExtents",
              "description": "[x,y,z]"
            }
          },
          "additionalProperties": true,
          "description": "Collision component. Requires the Ammo physics module to be enabled in the project (IMPORT AMMO) to take effect. halfExtents/radius are in LOCAL space and are multiplied by the entity world scale — size the collider via these fields rather than relying on entity scale."
        },
        "element": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "type": {
              "type": "string",
              "enum": [
                "text",
                "image",
                "group"
              ]
            },
            "anchor": {
              "$ref": "#/properties/components/properties/camera/properties/rect",
              "description": "[left,bottom,right,top]"
            },
            "pivot": {
              "type": "array",
              "items": {
                "type": "number"
              },
              "minItems": 2,
              "maxItems": 2,
              "description": "[x,y]"
            },
            "text": {
              "type": "string"
            },
            "key": {
              "type": [
                "string",
                "null"
              ],
              "description": "Localization key"
            },
            "fontAsset": {
              "$ref": "#/properties/components/properties/collision/properties/asset",
              "description": "Nullable asset reference"
            },
            "fontSize": {
              "type": "number"
            },
            "minFontSize": {
              "type": "number"
            },
            "maxFontSize": {
              "type": "number"
            },
            "autoFitWidth": {
              "type": "boolean"
            },
            "autoFitHeight": {
              "type": "boolean"
            },
            "maxLines": {
              "type": [
                "number",
                "null"
              ]
            },
            "lineHeight": {
              "type": "number"
            },
            "wrapLines": {
              "type": "boolean"
            },
            "spacing": {
              "type": "number",
              "description": "Letter spacing"
            },
            "color": {
              "type": "array",
              "items": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "minItems": 3,
              "maxItems": 3,
              "description": "RGB color [r,g,b] 0-1"
            },
            "opacity": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "textureAsset": {
              "$ref": "#/properties/components/properties/collision/properties/asset",
              "description": "Nullable asset reference"
            },
            "spriteAsset": {
              "$ref": "#/properties/components/properties/collision/properties/asset",
              "description": "Nullable asset reference"
            },
            "spriteFrame": {
              "type": "number"
            },
            "pixelsPerUnit": {
              "type": [
                "number",
                "null"
              ]
            },
            "width": {
              "type": "number"
            },
            "height": {
              "type": "number"
            },
            "margin": {
              "$ref": "#/properties/components/properties/camera/properties/rect",
              "description": "[x,y,z,w]"
            },
            "alignment": {
              "$ref": "#/properties/components/properties/element/properties/pivot",
              "description": "[x,y]"
            },
            "outlineColor": {
              "$ref": "#/properties/components/properties/camera/properties/clearColor",
              "description": "RGBA color [r,g,b,a] 0-1"
            },
            "outlineThickness": {
              "type": "number"
            },
            "shadowColor": {
              "$ref": "#/properties/components/properties/camera/properties/clearColor",
              "description": "RGBA color [r,g,b,a] 0-1"
            },
            "shadowOffset": {
              "$ref": "#/properties/components/properties/element/properties/pivot",
              "description": "[x,y]"
            },
            "rect": {
              "$ref": "#/properties/components/properties/camera/properties/rect",
              "description": "Texture rect [u,v,w,h]"
            },
            "materialAsset": {
              "$ref": "#/properties/components/properties/collision/properties/asset",
              "description": "Nullable asset reference"
            },
            "autoWidth": {
              "type": "boolean"
            },
            "autoHeight": {
              "type": "boolean"
            },
            "fitMode": {
              "type": "string",
              "enum": [
                "stretch",
                "contain",
                "cover"
              ]
            },
            "useInput": {
              "type": "boolean"
            },
            "batchGroupId": {
              "type": [
                "number",
                "null"
              ]
            },
            "mask": {
              "type": "boolean"
            },
            "layers": {
              "type": "array",
              "items": {
                "type": "number"
              }
            },
            "enableMarkup": {
              "type": "boolean"
            }
          },
          "additionalProperties": true,
          "description": "UI element component"
        },
        "layoutchild": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            }
          },
          "additionalProperties": true,
          "description": "Layout child component (loosely typed; pass any valid component fields)"
        },
        "layoutgroup": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            }
          },
          "additionalProperties": true,
          "description": "Layout group component (loosely typed; pass any valid component fields)"
        },
        "light": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "type": {
              "type": "string",
              "enum": [
                "directional",
                "spot",
                "omni"
              ]
            },
            "bake": {
              "type": "boolean",
              "description": "Bake to lightmap"
            },
            "bakeArea": {
              "type": "number",
              "minimum": 0,
              "maximum": 180
            },
            "bakeNumSamples": {
              "type": "integer",
              "minimum": 1,
              "maximum": 255
            },
            "bakeDir": {
              "type": "boolean"
            },
            "affectDynamic": {
              "type": "boolean"
            },
            "affectLightmapped": {
              "type": "boolean"
            },
            "affectSpecularity": {
              "type": "boolean"
            },
            "color": {
              "$ref": "#/properties/components/properties/element/properties/color",
              "description": "RGB color [r,g,b] 0-1"
            },
            "intensity": {
              "type": "number",
              "minimum": 0,
              "maximum": 32
            },
            "castShadows": {
              "type": "boolean"
            },
            "shadowUpdateMode": {
              "anyOf": [
                {
                  "type": "number",
                  "const": 1,
                  "description": "ThisFrame"
                },
                {
                  "type": "number",
                  "const": 2,
                  "description": "Realtime"
                }
              ]
            },
            "shadowType": {
              "anyOf": [
                {
                  "type": "number",
                  "const": 0,
                  "description": "PCF3_32F"
                },
                {
                  "type": "number",
                  "const": 2,
                  "description": "VSM_16F"
                },
                {
                  "type": "number",
                  "const": 3,
                  "description": "VSM_32F"
                },
                {
                  "type": "number",
                  "const": 4,
                  "description": "PCF5_32F"
                },
                {
                  "type": "number",
                  "const": 5,
                  "description": "PCF1_32F"
                },
                {
                  "type": "number",
                  "const": 6,
                  "description": "PCSS_32F"
                },
                {
                  "type": "number",
                  "const": 7,
                  "description": "PCF1_16F"
                },
                {
                  "type": "number",
                  "const": 8,
                  "description": "PCF3_16F"
                },
                {
                  "type": "number",
                  "const": 9,
                  "description": "PCF5_16F"
                }
              ]
            },
            "vsmBlurMode": {
              "anyOf": [
                {
                  "type": "number",
                  "const": 0,
                  "description": "Box"
                },
                {
                  "type": "number",
                  "const": 1,
                  "description": "Gaussian"
                }
              ]
            },
            "vsmBlurSize": {
              "type": "integer",
              "minimum": 1,
              "maximum": 25
            },
            "vsmBias": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "shadowDistance": {
              "type": "number",
              "minimum": 0
            },
            "shadowIntensity": {
              "type": "number",
              "minimum": 0
            },
            "shadowResolution": {
              "type": "number",
              "enum": [
                16,
                32,
                64,
                128,
                256,
                512,
                1024,
                2048,
                4096
              ]
            },
            "numCascades": {
              "type": "integer",
              "minimum": 1,
              "maximum": 4
            },
            "cascadeDistribution": {
              "type": "number"
            },
            "shadowBias": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "normalOffsetBias": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "range": {
              "type": "number",
              "minimum": 0,
              "description": "Light range"
            },
            "falloffMode": {
              "anyOf": [
                {
                  "type": "number",
                  "const": 0,
                  "description": "Linear"
                },
                {
                  "type": "number",
                  "const": 1,
                  "description": "InverseSquared"
                }
              ]
            },
            "innerConeAngle": {
              "type": "number",
              "minimum": 0,
              "maximum": 45
            },
            "outerConeAngle": {
              "type": "number",
              "minimum": 0,
              "maximum": 90
            },
            "shape": {
              "anyOf": [
                {
                  "type": "number",
                  "const": 0,
                  "description": "Punctual"
                },
                {
                  "type": "number",
                  "const": 1,
                  "description": "Rect"
                },
                {
                  "type": "number",
                  "const": 2,
                  "description": "Disk"
                },
                {
                  "type": "number",
                  "const": 3,
                  "description": "Sphere"
                }
              ]
            },
            "cookieAsset": {
              "$ref": "#/properties/components/properties/collision/properties/asset",
              "description": "Nullable asset reference"
            },
            "cookieIntensity": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "cookieFalloff": {
              "type": "boolean"
            },
            "cookieChannel": {
              "type": "string",
              "enum": [
                "r",
                "g",
                "b",
                "a",
                "rgb"
              ]
            },
            "cookieAngle": {
              "type": "number"
            },
            "cookieScale": {
              "$ref": "#/properties/components/properties/element/properties/pivot",
              "description": "[x,y]"
            },
            "cookieOffset": {
              "$ref": "#/properties/components/properties/element/properties/pivot",
              "description": "[x,y]"
            },
            "isStatic": {
              "type": "boolean"
            },
            "layers": {
              "type": "array",
              "items": {
                "type": "integer",
                "minimum": 0
              }
            }
          },
          "additionalProperties": true,
          "description": "Light component"
        },
        "model": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            }
          },
          "additionalProperties": true,
          "description": "Model (legacy) component (loosely typed; pass any valid component fields)"
        },
        "particlesystem": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            }
          },
          "additionalProperties": true,
          "description": "Particle system component (loosely typed; pass any valid component fields)"
        },
        "render": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "type": {
              "type": "string",
              "enum": [
                "asset",
                "box",
                "capsule",
                "sphere",
                "cylinder",
                "cone",
                "plane"
              ]
            },
            "asset": {
              "$ref": "#/properties/components/properties/collision/properties/asset",
              "description": "Render asset"
            },
            "materialAssets": {
              "type": "array",
              "items": {
                "$ref": "#/properties/components/properties/collision/properties/asset"
              }
            },
            "layers": {
              "type": "array",
              "items": {
                "type": "integer",
                "minimum": 0
              }
            },
            "batchGroupId": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            },
            "castShadows": {
              "type": "boolean"
            },
            "castShadowsLightmap": {
              "type": "boolean"
            },
            "receiveShadows": {
              "type": "boolean"
            },
            "lightmapped": {
              "type": "boolean"
            },
            "lightmapSizeMultiplier": {
              "type": "number"
            },
            "isStatic": {
              "type": "boolean"
            },
            "rootBone": {
              "type": [
                "string",
                "null"
              ]
            },
            "aabbCenter": {
              "$ref": "#/properties/components/properties/collision/properties/halfExtents",
              "description": "[x,y,z]"
            },
            "aabbHalfExtents": {
              "$ref": "#/properties/components/properties/collision/properties/halfExtents",
              "description": "[x,y,z]"
            }
          },
          "additionalProperties": true,
          "description": "Render component"
        },
        "rigidbody": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "type": {
              "type": "string",
              "enum": [
                "static",
                "dynamic",
                "kinematic"
              ]
            },
            "mass": {
              "type": "number",
              "minimum": 0
            },
            "linearDamping": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "angularDamping": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "linearFactor": {
              "$ref": "#/properties/components/properties/collision/properties/halfExtents",
              "description": "[x,y,z]"
            },
            "angularFactor": {
              "$ref": "#/properties/components/properties/collision/properties/halfExtents",
              "description": "[x,y,z]"
            },
            "friction": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "restitution": {
              "type": "number",
              "minimum": 0,
              "maximum": 1,
              "description": "Bounciness"
            }
          },
          "additionalProperties": true,
          "description": "Rigidbody component. Requires the Ammo physics module to be enabled in the project (IMPORT AMMO); without it the body will not simulate. Usually paired with a collision component."
        },
        "screen": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "screenSpace": {
              "type": "boolean",
              "description": "2D screen mode"
            },
            "scaleMode": {
              "type": "string",
              "enum": [
                "none",
                "blend"
              ]
            },
            "scaleBlend": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "resolution": {
              "$ref": "#/properties/components/properties/element/properties/pivot",
              "description": "[x,y]"
            },
            "referenceResolution": {
              "$ref": "#/properties/components/properties/element/properties/pivot",
              "description": "[x,y]"
            },
            "priority": {
              "type": "integer",
              "minimum": 0,
              "maximum": 127
            }
          },
          "additionalProperties": true,
          "description": "Screen component"
        },
        "scrollbar": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            }
          },
          "additionalProperties": true,
          "description": "Scrollbar component (loosely typed; pass any valid component fields)"
        },
        "scrollview": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            }
          },
          "additionalProperties": true,
          "description": "Scroll view component (loosely typed; pass any valid component fields)"
        },
        "script": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "order": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Script execution order"
            },
            "scripts": {
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "attributes": {
                    "type": "object",
                    "additionalProperties": {
                      "description": "Script attribute values"
                    }
                  }
                },
                "additionalProperties": true
              },
              "description": "Script instances"
            }
          },
          "additionalProperties": true,
          "description": "Script component"
        },
        "sound": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "volume": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "pitch": {
              "type": "number",
              "minimum": 0
            },
            "positional": {
              "type": "boolean",
              "description": "3D audio"
            },
            "refDistance": {
              "type": "number",
              "minimum": 0
            },
            "maxDistance": {
              "type": "number",
              "minimum": 0
            },
            "rollOffFactor": {
              "type": "number",
              "minimum": 0
            },
            "distanceModel": {
              "type": "string",
              "enum": [
                "linear",
                "inverse",
                "exponential"
              ]
            },
            "slots": {
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "volume": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "pitch": {
                    "type": "number",
                    "minimum": 0
                  },
                  "asset": {
                    "$ref": "#/properties/components/properties/collision/properties/asset",
                    "description": "Audio asset"
                  },
                  "startTime": {
                    "type": "number"
                  },
                  "duration": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "loop": {
                    "type": "boolean"
                  },
                  "autoPlay": {
                    "type": "boolean"
                  },
                  "overlap": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": true
              },
              "default": {
                "1": {
                  "name": "Slot 1",
                  "loop": false,
                  "autoPlay": false,
                  "overlap": false,
                  "asset": null,
                  "startTime": 0,
                  "duration": null,
                  "volume": 1,
                  "pitch": 1
                }
              },
              "description": "Sound slots"
            }
          },
          "additionalProperties": true,
          "description": "Sound component"
        },
        "sprite": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            }
          },
          "additionalProperties": true,
          "description": "Sprite component (loosely typed; pass any valid component fields)"
        }
      },
      "additionalProperties": true,
      "description": "Entity components"
    }
  },
  "required": [
    "id",
    "components"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Add Components",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
add_entity_scriptsAttach a parsed script to one or more entities, creating script components when needed.
Input schema
{
  "type": "object",
  "properties": {
    "entityIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "description": "Entity ID"
      },
      "minItems": 1
    },
    "script": {
      "type": "string",
      "minLength": 1,
      "description": "Registered script name"
    },
    "attributes": {
      "type": "object",
      "additionalProperties": {}
    },
    "index": {
      "type": "integer",
      "minimum": 0,
      "description": "Execution order index"
    }
  },
  "required": [
    "entityIds",
    "script"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Add Entity Scripts",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
add_script_component_scriptAdd a named script to an entity that ALREADY has a script component. Returns the updated entity summary. When NOT to use: if the entity has no script component yet, prefer attach_script, which creates the component and attaches the script in one call.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Entity ID"
    },
    "scriptName": {
      "type": "string",
      "description": "Registered script name (the parsed script's name attribute)"
    }
  },
  "required": [
    "id",
    "scriptName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Add Script To Script Component",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
apply_mergeApply a merge whose conflicts are all resolved. Call twice: first with finalize:false to prepare and review, then finalize:true to commit. finalize:true writes the merge checkpoint onto the current branch and RELOADS the editor (the tool waits for reconnect and returns vcs_status); finalize:false does not reload. When NOT to use: to abort a merge (use cancel_merge).
Input schema
{
  "type": "object",
  "properties": {
    "mergeId": {
      "type": "string",
      "description": "Id of the merge (from start_merge)"
    },
    "finalize": {
      "type": "boolean",
      "description": "false = prepare and review the merge; true = commit it (only after a finalize:false pass and all conflicts resolved)"
    }
  },
  "required": [
    "mergeId",
    "finalize"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Apply Merge",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
apply_template_overridesApply all overrides from a template instance, or only the supplied override records.
Input schema
{
  "type": "object",
  "properties": {
    "entityId": {
      "type": "string",
      "format": "uuid",
      "description": "Entity ID"
    },
    "overrides": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "resource_id": {
            "$ref": "#/properties/entityId"
          },
          "override_type": {
            "type": "string",
            "minLength": 1
          },
          "path": {
            "type": "string"
          }
        },
        "required": [
          "resource_id",
          "override_type"
        ],
        "additionalProperties": true
      },
      "minItems": 1
    }
  },
  "required": [
    "entityId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Apply Template Overrides",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
attach_scriptAttach a script to an entity in one step: creates the script component if missing, then adds the named script. This consolidates the common "add script component" + "add script" flow. Returns the updated entity summary. Note: the script must already exist as a parsed script asset (create one with create_assets type="script", set its code with set_script_text, then script_parse). When NOT to use: to write the script's source code (use set_script_text) or to set script attribute values (use modify_entities on components.script.scripts.<name>.attributes).
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Entity ID"
    },
    "scriptName": {
      "type": "string",
      "description": "Registered script name to attach"
    },
    "attributes": {
      "type": "object",
      "additionalProperties": {},
      "description": "Initial script attribute values"
    },
    "index": {
      "type": "integer",
      "minimum": 0,
      "description": "Execution order index"
    }
  },
  "required": [
    "id",
    "scriptName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Attach Script",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
bake_lightmapsBake scene lightmaps, optionally limited to the given entities. Returns only after baking finishes and reports model assets missing UV1.
Input schema
{
  "type": "object",
  "properties": {
    "entityIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "description": "Entity ID"
      },
      "minItems": 1,
      "description": "Lightmapped entity resource_ids; omit to bake all lightmapped entities"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Bake Lightmaps",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
cancel_mergeForce-stop an in-progress merge, discarding the merge and its conflicts. Project data is untouched. Does not reload the editor. When NOT to use: to commit a merge (use apply_merge).
Input schema
{
  "type": "object",
  "properties": {
    "mergeId": {
      "type": "string",
      "description": "Id of the merge to cancel (from start_merge)"
    }
  },
  "required": [
    "mergeId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Cancel Merge",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
cancel_model_unwrapCancel an in-progress UV1 unwrap for a model asset.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Model asset id"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Cancel Model Unwrap",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
capture_runtimeScreenshot the RUNNING Launch instance (not the editor preview) as a downscaled WebP image — the agent's "eye" for visually verifying play-mode behavior. Requires launch_start first. Captures the live frame buffer, so what you see reflects scripts/physics/animation actually running. When NOT to use: before launch_start (use capture_viewport for edit-time visuals).
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "Capture Runtime",
  "readOnlyHint": true,
  "openWorldHint": false
}
capture_viewportCapture a screenshot of the editor viewport (the current editing camera view) as a downscaled WebP image, for visual verification of edit-time state. Tip: call focus_viewport first to frame the entities you care about. Note: this renders the editor preview only (scripts/physics/animation are NOT running). When NOT to use: to verify play-mode/runtime behavior (use capture_runtime after launch_start).
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "Capture Viewport",
  "readOnlyHint": true,
  "openWorldHint": false
}
clear_cubemap_prefilterRemove generated runtime lighting data from a cubemap.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Clear Cubemap Prefilter",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
clear_selectionClear the editor's current selection.
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "Clear Selection",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
close_branchClose a branch (a soft, reversible archive — reopen it later with open_branch). Cannot close the current branch or a permanent branch. Does not reload the editor. When NOT to use: to permanently remove a branch (use delete_branch).
Input schema
{
  "type": "object",
  "properties": {
    "branchId": {
      "type": "string",
      "description": "Id of the branch to close (from list_branches)"
    }
  },
  "required": [
    "branchId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Close Branch",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
convert_texture_assetConvert a texture source to a new AVIF, JPEG, PNG, or WebP texture asset.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Source texture asset id"
    },
    "format": {
      "type": "string",
      "enum": [
        "avif",
        "jpeg",
        "png",
        "webp"
      ]
    }
  },
  "required": [
    "id",
    "format"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Convert Texture Asset",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
create_assetsCreate one or more native data/text assets. Imported binary assets use upload_assets. Each asset is { type, options }; options vary by type (e.g. material takes data, script takes filename/text, template takes an entity id). Successful batches return the existing asset-summary array. Failed batches retain error status and expose succeeded and failed entries in response metadata. When NOT to use: to add an existing asset to an entity (use add_components/modify_entities) or to change a material's look after creation (use set_material_properties).
Input schema
{
  "type": "object",
  "properties": {
    "assets": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "animstategraph"
              },
              "options": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "folder": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "description": "Asset ID"
                  },
                  "name": {
                    "type": "string"
                  },
                  "preload": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false,
            "description": "Animation state graph asset"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "bundle"
              },
              "options": {
                "type": "object",
                "properties": {
                  "assets": {
                    "type": "array",
                    "items": {
                      "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder"
                    }
                  },
                  "folder": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  },
                  "name": {
                    "type": "string"
                  },
                  "preload": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false,
            "description": "Bundle asset"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "css"
              },
              "options": {
                "type": "object",
                "properties": {
                  "folder": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  },
                  "name": {
                    "type": "string"
                  },
                  "preload": {
                    "type": "boolean"
                  },
                  "text": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false,
            "description": "CSS asset"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "cubemap"
              },
              "options": {
                "type": "object",
                "properties": {
                  "anisotropy": {
                    "type": "number"
                  },
                  "folder": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  },
                  "magFilter": {
                    "type": "integer"
                  },
                  "minFilter": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  },
                  "preload": {
                    "type": "boolean"
                  },
                  "textures": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Nullable asset reference"
                    },
                    "maxItems": 6
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false,
            "description": "Cubemap asset"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "folder"
              },
              "options": {
                "type": "object",
                "properties": {
                  "folder": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false,
            "description": "Folder asset"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "html"
              },
              "options": {
                "type": "object",
                "properties": {
                  "folder": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  },
                  "name": {
                    "type": "string"
                  },
                  "preload": {
                    "type": "boolean"
                  },
                  "text": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false,
            "description": "HTML asset"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "i18n"
              },
              "options": {
                "type": "object",
                "properties": {
                  "folder": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  },
                  "localizationData": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "name": {
                    "type": "string"
                  },
                  "preload": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false,
            "description": "Localization JSON asset"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "json"
              },
              "options": {
                "type": "object",
                "properties": {
                  "folder": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  },
                  "json": {},
                  "name": {
                    "type": "string"
                  },
                  "preload": {
                    "type": "boolean"
                  },
                  "spaces": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 10
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false,
            "description": "JSON asset"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "material"
              },
              "options": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "ambient": {
                        "type": "array",
                        "items": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        },
                        "minItems": 3,
                        "maxItems": 3,
                        "description": "RGB color [r,g,b] 0-1"
                      },
                      "aoMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "aoMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "aoMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "aoMapTiling": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        },
                        "minItems": 2,
                        "maxItems": 2,
                        "description": "[x,y]"
                      },
                      "aoMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "aoMapRotation": {
                        "type": "number"
                      },
                      "aoVertexColor": {
                        "type": "boolean"
                      },
                      "aoVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "aoIntensity": {
                        "type": "number"
                      },
                      "diffuse": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/ambient",
                        "description": "RGB color [r,g,b] 0-1"
                      },
                      "diffuseMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "diffuseMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "diffuseMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "diffuseMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "diffuseMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "diffuseMapRotation": {
                        "type": "number"
                      },
                      "diffuseVertexColor": {
                        "type": "boolean"
                      },
                      "diffuseVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "specular": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/ambient",
                        "description": "RGB color [r,g,b] 0-1"
                      },
                      "specularMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "specularMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "specularMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "specularMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "specularMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "specularMapRotation": {
                        "type": "number"
                      },
                      "specularAntialias": {
                        "type": "boolean"
                      },
                      "specularTint": {
                        "type": "boolean"
                      },
                      "specularVertexColor": {
                        "type": "boolean"
                      },
                      "specularVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "occludeSpecular": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2
                      },
                      "specularityFactor": {
                        "type": "number"
                      },
                      "specularityFactorMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "specularityFactorMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "specularityFactorMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "specularityFactorMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "specularityFactorMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "specularityFactorMapRotation": {
                        "type": "number"
                      },
                      "specularityFactorTint": {
                        "type": "boolean"
                      },
                      "specularityFactorVertexColor": {
                        "type": "boolean"
                      },
                      "specularityFactorVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "enableGGXSpecular": {
                        "type": "boolean"
                      },
                      "anisotropy": {
                        "type": "number",
                        "minimum": -1,
                        "maximum": 1
                      },
                      "useMetalness": {
                        "type": "boolean"
                      },
                      "metalness": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "metalnessMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "metalnessMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "metalnessMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "metalnessMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "metalnessMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "metalnessMapRotation": {
                        "type": "number"
                      },
                      "metalnessVertexColor": {
                        "type": "boolean"
                      },
                      "metalnessVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "useMetalnessSpecularColor": {
                        "type": "boolean"
                      },
                      "conserveEnergy": {
                        "type": "boolean"
                      },
                      "shininess": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      "glossMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "glossMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "glossMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "glossMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "glossMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "glossMapRotation": {
                        "type": "number"
                      },
                      "glossVertexColor": {
                        "type": "boolean"
                      },
                      "glossVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "glossInvert": {
                        "type": "boolean"
                      },
                      "clearCoat": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "clearCoatMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "clearCoatMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "clearCoatMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "clearCoatMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "clearCoatMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "clearCoatMapRotation": {
                        "type": "number"
                      },
                      "clearCoatVertexColor": {
                        "type": "boolean"
                      },
                      "clearCoatVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "clearCoatGloss": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "clearCoatGlossMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "clearCoatGlossMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "clearCoatGlossMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "clearCoatGlossMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "clearCoatGlossMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "clearCoatGlossMapRotation": {
                        "type": "number"
                      },
                      "clearCoatGlossVertexColor": {
                        "type": "boolean"
                      },
                      "clearCoatGlossVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "clearCoatGlossInvert": {
                        "type": "boolean"
                      },
                      "clearCoatNormalMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "clearCoatNormalMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "clearCoatNormalMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "clearCoatNormalMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "clearCoatNormalMapRotation": {
                        "type": "number"
                      },
                      "useSheen": {
                        "type": "boolean"
                      },
                      "sheen": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/ambient",
                        "description": "RGB color [r,g,b] 0-1"
                      },
                      "sheenMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "sheenMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "sheenMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "sheenMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "sheenMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "sheenMapRotation": {
                        "type": "number"
                      },
                      "sheenVertexColor": {
                        "type": "boolean"
                      },
                      "sheenVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "sheenGloss": {
                        "type": "number"
                      },
                      "sheenGlossMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "sheenGlossMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "sheenGlossMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "sheenGlossMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "sheenGlossMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "sheenGlossMapRotation": {
                        "type": "number"
                      },
                      "sheenGlossVertexColor": {
                        "type": "boolean"
                      },
                      "sheenGlossVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "sheenGlossInvert": {
                        "type": "boolean"
                      },
                      "emissive": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/ambient",
                        "description": "RGB color [r,g,b] 0-1"
                      },
                      "emissiveMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "emissiveMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "emissiveMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "emissiveMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "emissiveMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "emissiveMapRotation": {
                        "type": "number"
                      },
                      "emissiveIntensity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "emissiveVertexColor": {
                        "type": "boolean"
                      },
                      "emissiveVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "normalMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "normalMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "normalMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "normalMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "normalMapRotation": {
                        "type": "number"
                      },
                      "bumpMapFactor": {
                        "type": "number"
                      },
                      "useDynamicRefraction": {
                        "type": "boolean"
                      },
                      "refraction": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "refractionMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "refractionMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "refractionMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "refractionMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "refractionMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "refractionMapRotation": {
                        "type": "number"
                      },
                      "refractionVertexColor": {
                        "type": "boolean"
                      },
                      "refractionVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "refractionIndex": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "dispersion": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "thickness": {
                        "type": "number"
                      },
                      "thicknessMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "thicknessMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "thicknessMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "thicknessMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "thicknessMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "thicknessMapRotation": {
                        "type": "number"
                      },
                      "thicknessVertexColor": {
                        "type": "boolean"
                      },
                      "thicknessVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "attenuation": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        },
                        "minItems": 3,
                        "maxItems": 3
                      },
                      "attenuationDistance": {
                        "type": "number"
                      },
                      "useIridescence": {
                        "type": "boolean"
                      },
                      "iridescence": {
                        "type": "number"
                      },
                      "iridescenceMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "iridescenceMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "iridescenceMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "iridescenceMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "iridescenceMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "iridescenceMapRotation": {
                        "type": "number"
                      },
                      "iridescenceRefractionIndex": {
                        "type": "number"
                      },
                      "iridescenceThicknessMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "iridescenceThicknessMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "iridescenceThicknessMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "iridescenceThicknessMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "iridescenceThicknessMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "iridescenceThicknessMapRotation": {
                        "type": "number"
                      },
                      "iridescenceThicknessMin": {
                        "type": "number"
                      },
                      "iridescenceThicknessMax": {
                        "type": "number"
                      },
                      "heightMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "heightMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "heightMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "heightMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "heightMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "heightMapRotation": {
                        "type": "number"
                      },
                      "heightMapFactor": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 2
                      },
                      "alphaToCoverage": {
                        "type": "boolean"
                      },
                      "alphaTest": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "alphaFade": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "opacity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "opacityMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "opacityMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "opacityMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "opacityMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "opacityMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "opacityMapRotation": {
                        "type": "number"
                      },
                      "opacityVertexColor": {
                        "type": "boolean"
                      },
                      "opacityVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "opacityFadesSpecular": {
                        "type": "boolean"
                      },
                      "opacityDither": {
                        "type": "string",
                        "enum": [
                          "none",
                          "bayer8",
                          "bluenoise",
                          "ignnoise"
                        ]
                      },
                      "opacityShadowDither": {
                        "type": "string",
                        "enum": [
                          "none",
                          "bayer8",
                          "bluenoise",
                          "ignnoise"
                        ]
                      },
                      "reflectivity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "sphereMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "cubeMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "cubeMapProjection": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "cubeMapProjectionBox": {
                        "type": "object",
                        "properties": {
                          "center": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            },
                            "minItems": 3,
                            "maxItems": 3,
                            "description": "[x,y,z]"
                          },
                          "halfExtents": {
                            "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/cubeMapProjectionBox/properties/center"
                          }
                        },
                        "required": [
                          "center",
                          "halfExtents"
                        ],
                        "additionalProperties": false
                      },
                      "lightMap": {
                        "$ref": "#/properties/assets/items/anyOf/3/properties/options/properties/textures/items",
                        "description": "Nullable asset reference"
                      },
                      "lightMapChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "lightMapUv": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 7
                      },
                      "lightMapTiling": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "lightMapOffset": {
                        "$ref": "#/properties/assets/items/anyOf/8/properties/options/properties/data/properties/aoMapTiling",
                        "description": "[x,y]"
                      },
                      "lightMapRotation": {
                        "type": "number"
                      },
                      "lightVertexColor": {
                        "type": "boolean"
                      },
                      "lightVertexColorChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "depthTest": {
                        "type": "boolean"
                      },
                      "depthWrite": {
                        "type": "boolean"
                      },
                      "depthBias": {
                        "type": "number"
                      },
                      "slopeDepthBias": {
                        "type": "number"
                      },
                      "cull": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 3
                      },
                      "blendType": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "useFog": {
                        "type": "boolean"
                      },
                      "useLighting": {
                        "type": "boolean"
                      },
                      "useSkybox": {
                        "type": "boolean"
                      },
                      "useTonemap": {
                        "type": "boolean"
                      },
                      "twoSidedLighting": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true
                  },
                  "folder": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  },
                  "name": {
                    "type": "string"
                  },
                  "preload": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false,
            "description": "Material asset"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "script"
              },
              "options": {
                "type": "object",
                "properties": {
                  "filename": {
                    "type": "string",
                    "minLength": 1
                  },
                  "data": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "folder": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  },
                  "preload": {
                    "type": "boolean"
                  },
                  "text": {
                    "type": "string"
                  }
                },
                "required": [
                  "filename"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "type",
              "options"
            ],
            "additionalProperties": false,
            "description": "Script asset"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "shader"
              },
              "options": {
                "type": "object",
                "properties": {
                  "folder": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  },
                  "name": {
                    "type": "string"
                  },
                  "preload": {
                    "type": "boolean"
                  },
                  "text": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false,
            "description": "Shader asset"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "sprite"
              },
              "options": {
                "type": "object",
                "properties": {
                  "folder": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  },
                  "frameKeys": {
                    "type": "array",
                    "items": {
                      "type": [
                        "string",
                        "number"
                      ]
                    }
                  },
                  "name": {
                    "type": "string"
                  },
                  "pixelsPerUnit": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "preload": {
                    "type": "boolean"
                  },
                  "renderMode": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 2
                  },
                  "textureAtlas": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false,
            "description": "Sprite asset"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "template"
              },
              "options": {
                "type": "object",
                "properties": {
                  "entity": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Entity ID"
                  },
                  "folder": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  },
                  "name": {
                    "type": "string"
                  },
                  "preload": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "entity"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "type",
              "options"
            ],
            "additionalProperties": false,
            "description": "Template asset"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "text"
              },
              "options": {
                "type": "object",
                "properties": {
                  "folder": {
                    "$ref": "#/properties/assets/items/anyOf/0/properties/options/properties/folder",
                    "description": "Asset ID"
                  },
                  "name": {
                    "type": "string"
                  },
                  "preload": {
                    "type": "boolean"
                  },
                  "text": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false,
            "description": "Text asset"
          }
        ]
      },
      "minItems": 1
    }
  },
  "required": [
    "assets"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Create Assets",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
create_branchCreate a new branch (scope a feature on its own branch) and switch the editor to it. Branches from the current branch by default. This RELOADS the editor; the tool waits for it to reconnect and returns the resulting vcs_status on the new branch. Name must be unique in the project and at most 1000 characters. When NOT to use: to switch to an existing branch (use switch_branch).
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1000,
      "description": "Name for the new branch"
    },
    "sourceBranchId": {
      "type": "string",
      "description": "Branch to fork from (defaults to the current branch)"
    },
    "sourceCheckpointId": {
      "type": "string",
      "description": "Checkpoint on the source branch to fork from (defaults to its latest)"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Create Branch",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
create_buildCreate a published PlayCanvas build for scenes in the designated project. Returns the created durable build job.
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1000
    },
    "sceneIds": {
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0
      },
      "minItems": 1,
      "description": "Scene ids in the designated project"
    },
    "primarySceneId": {
      "$ref": "#/properties/sceneIds/items",
      "description": "Primary scene; must also be in sceneIds"
    },
    "engineVersion": {
      "type": "string",
      "description": "Configured engine channel or exact available engine version"
    },
    "concatenate": {
      "type": "boolean"
    },
    "minify": {
      "type": "boolean"
    },
    "sourceMaps": {
      "type": "boolean"
    },
    "optimizeSceneFormat": {
      "type": "boolean"
    },
    "description": {
      "type": "string",
      "maxLength": 10000
    },
    "version": {
      "type": "string",
      "maxLength": 20
    },
    "releaseNotes": {
      "type": "string",
      "maxLength": 10000
    },
    "imageS3Key": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "name",
    "sceneIds"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Create Build",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
create_checkpointCreate a checkpoint (an immutable snapshot of the current branch's scenes/assets/settings) with a description. Returns the created checkpoint ({ id, createdAt, description }). Does not reload the editor. Snapshotting is asynchronous; for very large projects it may exceed the request timeout, in which case the checkpoint usually still completes — confirm with list_checkpoints. When NOT to use: to roll back to a checkpoint (use restore_checkpoint).
Input schema
{
  "type": "object",
  "properties": {
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 10000,
      "description": "Description of the checkpoint"
    },
    "branchId": {
      "type": "string",
      "description": "Branch to checkpoint (defaults to the current branch)"
    }
  },
  "required": [
    "description"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Create Checkpoint",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
create_cubemap_from_textureConvert an equirectangular texture to six face textures and a cubemap asset.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Source equirectangular texture asset id"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Create Cubemap From Texture",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
create_entitiesCreate one or more entities (optionally nested hierarchies) in the current scene. Use this to add new objects: cameras, lights, models, UI, empty groups, etc. Coordinates are local to the parent; rotation is euler degrees; scale is a multiplier. Returns the created entity summaries inline (resource_id, name, path, components) so you do NOT need a follow-up list_entities call to recover the new ids. Physics note: rigidbody/collision components only simulate if the project has the Ammo physics module enabled (Editor: click IMPORT AMMO / enable physics in project settings). Without it, rigidbodies are created but stay frozen at launch — enable Ammo before relying on physics rather than pausing to ask. When NOT to use: to change an existing entity (use modify_entities), to add a component to an existing entity (use add_components), or to instantiate a template asset (use instantiate_template_assets).
Input schema
{
  "type": "object",
  "properties": {
    "entities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "entity": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "enabled": {
                "type": "boolean"
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/properties/entities/items/properties/entity"
                }
              },
              "position": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "minItems": 3,
                "maxItems": 3,
                "description": "Local position"
              },
              "rotation": {
                "$ref": "#/properties/entities/items/properties/entity/properties/position",
                "description": "Local rotation (euler degrees)"
              },
              "scale": {
                "$ref": "#/properties/entities/items/properties/entity/properties/position",
                "description": "Local scale"
              },
              "components": {
                "type": "object",
                "properties": {
                  "anim": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Anim component (loosely typed; pass any valid component fields)"
                  },
                  "animation": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Animation (legacy) component (loosely typed; pass any valid component fields)"
                  },
                  "audiolistener": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Audio listener component"
                  },
                  "button": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Button component (loosely typed; pass any valid component fields)"
                  },
                  "camera": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "clearColorBuffer": {
                        "type": "boolean",
                        "description": "Clear color buffer"
                      },
                      "clearColor": {
                        "type": "array",
                        "items": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        },
                        "minItems": 4,
                        "maxItems": 4,
                        "description": "Clear color"
                      },
                      "clearDepthBuffer": {
                        "type": "boolean",
                        "description": "Clear depth buffer"
                      },
                      "renderSceneDepthMap": {
                        "type": "boolean"
                      },
                      "renderSceneColorMap": {
                        "type": "boolean"
                      },
                      "projection": {
                        "anyOf": [
                          {
                            "type": "number",
                            "const": 0,
                            "description": "Perspective"
                          },
                          {
                            "type": "number",
                            "const": 1,
                            "description": "Orthographic"
                          }
                        ]
                      },
                      "fov": {
                        "type": "number",
                        "description": "Field of view degrees"
                      },
                      "frustumCulling": {
                        "type": "boolean"
                      },
                      "orthoHeight": {
                        "type": "number",
                        "description": "Ortho height"
                      },
                      "nearClip": {
                        "type": "number",
                        "minimum": 0
                      },
                      "farClip": {
                        "type": "number",
                        "minimum": 0
                      },
                      "priority": {
                        "type": "number"
                      },
                      "rect": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        },
                        "minItems": 4,
                        "maxItems": 4,
                        "description": "Viewport rect [x,y,w,h]"
                      },
                      "layers": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "toneMapping": {
                        "anyOf": [
                          {
                            "type": "number",
                            "const": 0,
                            "description": "Linear"
                          },
                          {
                            "type": "number",
                            "const": 1,
                            "description": "Filmic"
                          },
                          {
                            "type": "number",
                            "const": 2,
                            "description": "Hejl"
                          },
                          {
                            "type": "number",
                            "const": 3,
                            "description": "ACES"
                          },
                          {
                            "type": "number",
                            "const": 4,
                            "description": "ACES2"
                          },
                          {
                            "type": "number",
                            "const": 5,
                            "description": "Neutral"
                          },
                          {
                            "type": "number",
                            "const": 6,
                            "description": "None"
                          }
                        ]
                      },
                      "gammaCorrection": {
                        "anyOf": [
                          {
                            "type": "number",
                            "const": 0,
                            "description": "None"
                          },
                          {
                            "type": "number",
                            "const": 1,
                            "description": "sRGB"
                          }
                        ]
                      }
                    },
                    "additionalProperties": true,
                    "description": "Camera component"
                  },
                  "collision": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "box",
                          "sphere",
                          "capsule",
                          "cylinder",
                          "mesh"
                        ]
                      },
                      "halfExtents": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/position",
                        "description": "Box half-extents"
                      },
                      "radius": {
                        "type": "number",
                        "minimum": 0
                      },
                      "axis": {
                        "anyOf": [
                          {
                            "type": "number",
                            "const": 0,
                            "description": "X"
                          },
                          {
                            "type": "number",
                            "const": 1,
                            "description": "Y"
                          },
                          {
                            "type": "number",
                            "const": 2,
                            "description": "Z"
                          }
                        ]
                      },
                      "height": {
                        "type": "number",
                        "minimum": 0
                      },
                      "convexHull": {
                        "type": "boolean"
                      },
                      "asset": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "description": "Asset ID"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "description": "Model asset"
                      },
                      "renderAsset": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/collision/properties/asset",
                        "description": "Render asset"
                      },
                      "linearOffset": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/position",
                        "description": "[x,y,z]"
                      },
                      "angularOffset": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/position",
                        "description": "[x,y,z]"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Collision component. Requires the Ammo physics module to be enabled in the project (IMPORT AMMO) to take effect. halfExtents/radius are in LOCAL space and are multiplied by the entity world scale — size the collider via these fields rather than relying on entity scale."
                  },
                  "element": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "text",
                          "image",
                          "group"
                        ]
                      },
                      "anchor": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/camera/properties/rect",
                        "description": "[left,bottom,right,top]"
                      },
                      "pivot": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        },
                        "minItems": 2,
                        "maxItems": 2,
                        "description": "[x,y]"
                      },
                      "text": {
                        "type": "string"
                      },
                      "key": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Localization key"
                      },
                      "fontAsset": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/collision/properties/asset",
                        "description": "Nullable asset reference"
                      },
                      "fontSize": {
                        "type": "number"
                      },
                      "minFontSize": {
                        "type": "number"
                      },
                      "maxFontSize": {
                        "type": "number"
                      },
                      "autoFitWidth": {
                        "type": "boolean"
                      },
                      "autoFitHeight": {
                        "type": "boolean"
                      },
                      "maxLines": {
                        "type": [
                          "number",
                          "null"
                        ]
                      },
                      "lineHeight": {
                        "type": "number"
                      },
                      "wrapLines": {
                        "type": "boolean"
                      },
                      "spacing": {
                        "type": "number",
                        "description": "Letter spacing"
                      },
                      "color": {
                        "type": "array",
                        "items": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        },
                        "minItems": 3,
                        "maxItems": 3,
                        "description": "RGB color [r,g,b] 0-1"
                      },
                      "opacity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "textureAsset": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/collision/properties/asset",
                        "description": "Nullable asset reference"
                      },
                      "spriteAsset": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/collision/properties/asset",
                        "description": "Nullable asset reference"
                      },
                      "spriteFrame": {
                        "type": "number"
                      },
                      "pixelsPerUnit": {
                        "type": [
                          "number",
                          "null"
                        ]
                      },
                      "width": {
                        "type": "number"
                      },
                      "height": {
                        "type": "number"
                      },
                      "margin": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/camera/properties/rect",
                        "description": "[x,y,z,w]"
                      },
                      "alignment": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/element/properties/pivot",
                        "description": "[x,y]"
                      },
                      "outlineColor": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/camera/properties/clearColor",
                        "description": "RGBA color [r,g,b,a] 0-1"
                      },
                      "outlineThickness": {
                        "type": "number"
                      },
                      "shadowColor": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/camera/properties/clearColor",
                        "description": "RGBA color [r,g,b,a] 0-1"
                      },
                      "shadowOffset": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/element/properties/pivot",
                        "description": "[x,y]"
                      },
                      "rect": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/camera/properties/rect",
                        "description": "Texture rect [u,v,w,h]"
                      },
                      "materialAsset": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/collision/properties/asset",
                        "description": "Nullable asset reference"
                      },
                      "autoWidth": {
                        "type": "boolean"
                      },
                      "autoHeight": {
                        "type": "boolean"
                      },
                      "fitMode": {
                        "type": "string",
                        "enum": [
                          "stretch",
                          "contain",
                          "cover"
                        ]
                      },
                      "useInput": {
                        "type": "boolean"
                      },
                      "batchGroupId": {
                        "type": [
                          "number",
                          "null"
                        ]
                      },
                      "mask": {
                        "type": "boolean"
                      },
                      "layers": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "enableMarkup": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true,
                    "description": "UI element component"
                  },
                  "layoutchild": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Layout child component (loosely typed; pass any valid component fields)"
                  },
                  "layoutgroup": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Layout group component (loosely typed; pass any valid component fields)"
                  },
                  "light": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "directional",
                          "spot",
                          "omni"
                        ]
                      },
                      "bake": {
                        "type": "boolean",
                        "description": "Bake to lightmap"
                      },
                      "bakeArea": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 180
                      },
                      "bakeNumSamples": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 255
                      },
                      "bakeDir": {
                        "type": "boolean"
                      },
                      "affectDynamic": {
                        "type": "boolean"
                      },
                      "affectLightmapped": {
                        "type": "boolean"
                      },
                      "affectSpecularity": {
                        "type": "boolean"
                      },
                      "color": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/element/properties/color",
                        "description": "RGB color [r,g,b] 0-1"
                      },
                      "intensity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 32
                      },
                      "castShadows": {
                        "type": "boolean"
                      },
                      "shadowUpdateMode": {
                        "anyOf": [
                          {
                            "type": "number",
                            "const": 1,
                            "description": "ThisFrame"
                          },
                          {
                            "type": "number",
                            "const": 2,
                            "description": "Realtime"
                          }
                        ]
                      },
                      "shadowType": {
                        "anyOf": [
                          {
                            "type": "number",
                            "const": 0,
                            "description": "PCF3_32F"
                          },
                          {
                            "type": "number",
                            "const": 2,
                            "description": "VSM_16F"
                          },
                          {
                            "type": "number",
                            "const": 3,
                            "description": "VSM_32F"
                          },
                          {
                            "type": "number",
                            "const": 4,
                            "description": "PCF5_32F"
                          },
                          {
                            "type": "number",
                            "const": 5,
                            "description": "PCF1_32F"
                          },
                          {
                            "type": "number",
                            "const": 6,
                            "description": "PCSS_32F"
                          },
                          {
                            "type": "number",
                            "const": 7,
                            "description": "PCF1_16F"
                          },
                          {
                            "type": "number",
                            "const": 8,
                            "description": "PCF3_16F"
                          },
                          {
                            "type": "number",
                            "const": 9,
                            "description": "PCF5_16F"
                          }
                        ]
                      },
                      "vsmBlurMode": {
                        "anyOf": [
                          {
                            "type": "number",
                            "const": 0,
                            "description": "Box"
                          },
                          {
                            "type": "number",
                            "const": 1,
                            "description": "Gaussian"
                          }
                        ]
                      },
                      "vsmBlurSize": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 25
                      },
                      "vsmBias": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "shadowDistance": {
                        "type": "number",
                        "minimum": 0
                      },
                      "shadowIntensity": {
                        "type": "number",
                        "minimum": 0
                      },
                      "shadowResolution": {
                        "type": "number",
                        "enum": [
                          16,
                          32,
                          64,
                          128,
                          256,
                          512,
                          1024,
                          2048,
                          4096
                        ]
                      },
                      "numCascades": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 4
                      },
                      "cascadeDistribution": {
                        "type": "number"
                      },
                      "shadowBias": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "normalOffsetBias": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "range": {
                        "type": "number",
                        "minimum": 0,
                        "description": "Light range"
                      },
                      "falloffMode": {
                        "anyOf": [
                          {
                            "type": "number",
                            "const": 0,
                            "description": "Linear"
                          },
                          {
                            "type": "number",
                            "const": 1,
                            "description": "InverseSquared"
                          }
                        ]
                      },
                      "innerConeAngle": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 45
                      },
                      "outerConeAngle": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 90
                      },
                      "shape": {
                        "anyOf": [
                          {
                            "type": "number",
                            "const": 0,
                            "description": "Punctual"
                          },
                          {
                            "type": "number",
                            "const": 1,
                            "description": "Rect"
                          },
                          {
                            "type": "number",
                            "const": 2,
                            "description": "Disk"
                          },
                          {
                            "type": "number",
                            "const": 3,
                            "description": "Sphere"
                          }
                        ]
                      },
                      "cookieAsset": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/collision/properties/asset",
                        "description": "Nullable asset reference"
                      },
                      "cookieIntensity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "cookieFalloff": {
                        "type": "boolean"
                      },
                      "cookieChannel": {
                        "type": "string",
                        "enum": [
                          "r",
                          "g",
                          "b",
                          "a",
                          "rgb"
                        ]
                      },
                      "cookieAngle": {
                        "type": "number"
                      },
                      "cookieScale": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/element/properties/pivot",
                        "description": "[x,y]"
                      },
                      "cookieOffset": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/element/properties/pivot",
                        "description": "[x,y]"
                      },
                      "isStatic": {
                        "type": "boolean"
                      },
                      "layers": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "minimum": 0
                        }
                      }
                    },
                    "additionalProperties": true,
                    "description": "Light component"
                  },
                  "model": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Model (legacy) component (loosely typed; pass any valid component fields)"
                  },
                  "particlesystem": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Particle system component (loosely typed; pass any valid component fields)"
                  },
                  "render": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "asset",
                          "box",
                          "capsule",
                          "sphere",
                          "cylinder",
                          "cone",
                          "plane"
                        ]
                      },
                      "asset": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/collision/properties/asset",
                        "description": "Render asset"
                      },
                      "materialAssets": {
                        "type": "array",
                        "items": {
                          "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/collision/properties/asset"
                        }
                      },
                      "layers": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "batchGroupId": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "castShadows": {
                        "type": "boolean"
                      },
                      "castShadowsLightmap": {
                        "type": "boolean"
                      },
                      "receiveShadows": {
                        "type": "boolean"
                      },
                      "lightmapped": {
                        "type": "boolean"
                      },
                      "lightmapSizeMultiplier": {
                        "type": "number"
                      },
                      "isStatic": {
                        "type": "boolean"
                      },
                      "rootBone": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "aabbCenter": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/position",
                        "description": "[x,y,z]"
                      },
                      "aabbHalfExtents": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/position",
                        "description": "[x,y,z]"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Render component"
                  },
                  "rigidbody": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "static",
                          "dynamic",
                          "kinematic"
                        ]
                      },
                      "mass": {
                        "type": "number",
                        "minimum": 0
                      },
                      "linearDamping": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "angularDamping": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "linearFactor": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/position",
                        "description": "[x,y,z]"
                      },
                      "angularFactor": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/position",
                        "description": "[x,y,z]"
                      },
                      "friction": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "restitution": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "description": "Bounciness"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Rigidbody component. Requires the Ammo physics module to be enabled in the project (IMPORT AMMO); without it the body will not simulate. Usually paired with a collision component."
                  },
                  "screen": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "screenSpace": {
                        "type": "boolean",
                        "description": "2D screen mode"
                      },
                      "scaleMode": {
                        "type": "string",
                        "enum": [
                          "none",
                          "blend"
                        ]
                      },
                      "scaleBlend": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "resolution": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/element/properties/pivot",
                        "description": "[x,y]"
                      },
                      "referenceResolution": {
                        "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/element/properties/pivot",
                        "description": "[x,y]"
                      },
                      "priority": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 127
                      }
                    },
                    "additionalProperties": true,
                    "description": "Screen component"
                  },
                  "scrollbar": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Scrollbar component (loosely typed; pass any valid component fields)"
                  },
                  "scrollview": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Scroll view component (loosely typed; pass any valid component fields)"
                  },
                  "script": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "order": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "Script execution order"
                      },
                      "scripts": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object",
                          "properties": {
                            "enabled": {
                              "type": "boolean"
                            },
                            "attributes": {
                              "type": "object",
                              "additionalProperties": {
                                "description": "Script attribute values"
                              }
                            }
                          },
                          "additionalProperties": true
                        },
                        "description": "Script instances"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Script component"
                  },
                  "sound": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "volume": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "pitch": {
                        "type": "number",
                        "minimum": 0
                      },
                      "positional": {
                        "type": "boolean",
                        "description": "3D audio"
                      },
                      "refDistance": {
                        "type": "number",
                        "minimum": 0
                      },
                      "maxDistance": {
                        "type": "number",
                        "minimum": 0
                      },
                      "rollOffFactor": {
                        "type": "number",
                        "minimum": 0
                      },
                      "distanceModel": {
                        "type": "string",
                        "enum": [
                          "linear",
                          "inverse",
                          "exponential"
                        ]
                      },
                      "slots": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "volume": {
                              "type": "number",
                              "minimum": 0,
                              "maximum": 1
                            },
                            "pitch": {
                              "type": "number",
                              "minimum": 0
                            },
                            "asset": {
                              "$ref": "#/properties/entities/items/properties/entity/properties/components/properties/collision/properties/asset",
                              "description": "Audio asset"
                            },
                            "startTime": {
                              "type": "number"
                            },
                            "duration": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "loop": {
                              "type": "boolean"
                            },
                            "autoPlay": {
                              "type": "boolean"
                            },
                            "overlap": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": true
                        },
                        "default": {
                          "1": {
                            "name": "Slot 1",
                            "loop": false,
                            "autoPlay": false,
                            "overlap": false,
                            "asset": null,
                            "startTime": 0,
                            "duration": null,
                            "volume": 1,
                            "pitch": 1
                          }
                        },
                        "description": "Sound slots"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Sound component"
                  },
                  "sprite": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true,
                    "description": "Sprite component (loosely typed; pass any valid component fields)"
                  }
                },
                "additionalProperties": true,
                "description": "Entity components"
              }
            },
            "additionalProperties": false
          },
          "parent": {
            "type": "string",
            "format": "uuid",
            "description": "Parent entity resource_id. Omit to create under the scene root."
          }
        },
        "additionalProperties": false
      },
      "minItems": 1,
      "description": "Entity hierarchies to create"
    }
  },
  "required": [
    "entities"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Create Entities",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
create_sceneCreate a new empty scene in the current project/branch. Returns the created scene record. This does not switch to the new scene; call load_scene with its uniqueId to open it. When NOT to use: to copy an existing scene (use duplicate_scene).
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name for the new scene (optional)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Create Scene",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
create_texture_atlasDuplicate a texture asset as an editable texture atlas and return the new asset.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Source texture asset id"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Create Texture Atlas",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
delete_assetsPermanently delete assets by id. This is destructive; entities referencing the deleted assets will lose those references. Returns { deleted: <count> }. When NOT to use: to remove an asset reference from an entity without deleting the asset itself (use modify_entities).
Input schema
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "description": "Asset ID"
      },
      "minItems": 1
    },
    "rejectReferenced": {
      "type": "boolean",
      "description": "Fail before deletion if any asset is referenced"
    }
  },
  "required": [
    "ids"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Delete Assets",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
delete_branchDESTRUCTIVE: permanently delete a branch and its checkpoints. Cannot be undone. Cannot delete the current branch or a permanent branch. Does not reload the editor. When NOT to use: to archive a branch reversibly (use close_branch).
Input schema
{
  "type": "object",
  "properties": {
    "branchId": {
      "type": "string",
      "description": "Id of the branch to delete (from list_branches)"
    }
  },
  "required": [
    "branchId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Delete Branch",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
delete_buildPermanently delete a build job and its linked artifact from the designated project.
Input schema
{
  "type": "object",
  "properties": {
    "buildId": {
      "type": "integer",
      "exclusiveMinimum": 0
    }
  },
  "required": [
    "buildId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Delete Build",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
delete_entitiesPermanently delete entities and all of their descendants. This is destructive and not undoable via this tool. The scene root cannot be deleted. Returns { deleted: <count> }. When NOT to use: to temporarily hide an entity (set enabled=false via modify_entities instead) or to remove a single component (use remove_components).
Input schema
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "description": "Entity ID"
      },
      "minItems": 1
    }
  },
  "required": [
    "ids"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Delete Entities",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
delete_scenePermanently delete a scene by its id. This is destructive and cannot be undone. When NOT to use: to switch away from a scene without deleting it (use load_scene).
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": [
        "number",
        "string"
      ],
      "description": "Scene id to delete (the \"id\" field from list_scenes)"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Delete Scene",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
diff_checkpointsCompute the diff between two checkpoints and return the change data. Branch ids default to the current branch. Read-only; does not reload the editor. Use to inspect what changed before merging or restoring. When NOT to use: to roll back to a checkpoint (use restore_checkpoint).
Input schema
{
  "type": "object",
  "properties": {
    "srcCheckpointId": {
      "type": "string",
      "description": "Id of the source (older) checkpoint"
    },
    "dstCheckpointId": {
      "type": "string",
      "description": "Id of the destination (newer) checkpoint"
    },
    "srcBranchId": {
      "type": "string",
      "description": "Branch of the source checkpoint (defaults to the current branch)"
    },
    "dstBranchId": {
      "type": "string",
      "description": "Branch of the destination checkpoint (defaults to the current branch)"
    }
  },
  "required": [
    "srcCheckpointId",
    "dstCheckpointId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Diff Checkpoints",
  "readOnlyHint": true,
  "openWorldHint": false
}
download_assetDownload an asset to a local file. Downloads are limited to 512 MiB and never overwrite unless overwrite=true.
Input schema
{
  "type": "object",
  "properties": {
    "assetId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Asset ID"
    },
    "path": {
      "type": "string",
      "minLength": 1,
      "description": "Local output path"
    },
    "overwrite": {
      "type": "boolean"
    }
  },
  "required": [
    "assetId",
    "path"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Download Asset",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
download_buildCreate a static or NPM download build, wait for its artifact, and save the archive to an explicit local path. Existing files are not overwritten unless overwrite=true.
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1000
    },
    "sceneIds": {
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0
      },
      "minItems": 1,
      "description": "Scene ids in the designated project"
    },
    "primarySceneId": {
      "$ref": "#/properties/sceneIds/items",
      "description": "Primary scene; must also be in sceneIds"
    },
    "engineVersion": {
      "type": "string",
      "description": "Configured engine channel or exact available engine version"
    },
    "concatenate": {
      "type": "boolean"
    },
    "minify": {
      "type": "boolean"
    },
    "sourceMaps": {
      "type": "boolean"
    },
    "optimizeSceneFormat": {
      "type": "boolean"
    },
    "format": {
      "type": "string",
      "enum": [
        "static",
        "npm"
      ]
    },
    "outputPath": {
      "type": "string",
      "minLength": 1
    },
    "overwrite": {
      "type": "boolean"
    }
  },
  "required": [
    "name",
    "sceneIds",
    "format",
    "outputPath"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Download Build",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": true
}
duplicate_assetsDuplicate assets in their current folders and return the created asset summaries.
Input schema
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "description": "Asset ID"
      },
      "minItems": 1
    }
  },
  "required": [
    "ids"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Duplicate Assets",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
duplicate_entitiesDuplicate existing entities (including their children) in place under the same parent. Returns the new entity summaries. Set rename=true to auto-suffix names to avoid duplicates. When NOT to use: to create a reusable prefab across scenes (create a template asset instead) or to build a brand-new entity (use create_entities).
Input schema
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "description": "Entity ID"
      },
      "minItems": 1,
      "description": "Entity resource_ids to duplicate"
    },
    "rename": {
      "type": "boolean",
      "description": "Auto-rename duplicates to keep names unique"
    }
  },
  "required": [
    "ids"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Duplicate Entities",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
duplicate_sceneDuplicate an existing scene by its id, giving the copy a new name. Returns the created scene record. When NOT to use: to create an empty scene (use create_scene).
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": [
        "number",
        "string"
      ],
      "description": "Scene id to duplicate (the \"id\" field from list_scenes)"
    },
    "name": {
      "type": "string",
      "description": "Name for the duplicated scene"
    }
  },
  "required": [
    "id",
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Duplicate Scene",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
find_entities_by_scriptList the entities whose script component uses a given (registered) script name. Returns compact entity summaries. When NOT to use: to search entities by name (use search_entities) or to read a script's source (use get_asset_text).
Input schema
{
  "type": "object",
  "properties": {
    "script": {
      "type": "string",
      "description": "Registered script name to look up"
    }
  },
  "required": [
    "script"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Find Entities By Script",
  "readOnlyHint": true,
  "openWorldHint": false
}
focus_cameraAim the current editor camera to look at a world-space point from a given distance. Useful for framing an exact location before capture_viewport. When NOT to use: to frame specific entities (use focus_viewport) or to move an in-scene camera entity (use modify_entities on its transform).
Input schema
{
  "type": "object",
  "properties": {
    "point": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "minItems": 3,
      "maxItems": 3,
      "description": "World-space point [x, y, z] to look at"
    },
    "distance": {
      "type": "number",
      "description": "Distance from the point at which to place the camera"
    }
  },
  "required": [
    "point",
    "distance"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Focus Camera",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
focus_viewportFrame the editor camera on the given entities, optionally from a preset view (top/front/etc.) or a custom yaw/pitch. Useful before capture_viewport. Returns { focused: <count> }. When NOT to use: to move an in-scene camera entity (use modify_entities on its transform).
Input schema
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "description": "Entity ID"
      },
      "minItems": 1,
      "description": "Entity resource_ids to frame"
    },
    "view": {
      "type": "string",
      "enum": [
        "top",
        "bottom",
        "front",
        "back",
        "left",
        "right",
        "perspective"
      ],
      "description": "Preset camera orientation"
    },
    "yaw": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Custom horizontal angle (degrees); ignored if view is set"
    },
    "pitch": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Custom vertical angle (degrees); ignored if view is set"
    }
  },
  "required": [
    "ids"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Focus Viewport",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
generate_texture_metadataGenerate missing pipeline metadata for a texture asset.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Generate Texture Metadata",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
get_anim_state_graphGet the complete structural data for an anim state graph asset, including layers, states, transitions, conditions, and parameters.
Input schema
{
  "type": "object",
  "properties": {
    "assetId": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Anim state graph asset id"
    }
  },
  "required": [
    "assetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Anim State Graph",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_animation_eventsGet the stable-id event map for a GLB animation asset, including time and optional number/string payloads.
Input schema
{
  "type": "object",
  "properties": {
    "assetId": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "GLB animation asset id"
    }
  },
  "required": [
    "assetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Animation Events",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_assetGet the complete JSON for one project asset by id.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Asset ID"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Asset",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_asset_referencesList the project assets, entities, or settings that reference an asset.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Asset ID"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Asset References",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_asset_textRead the full text contents of a text-based asset (script, text, json, css, html, or shader), returned as text. When NOT to use: to read a script's declared name or attribute definitions (use script_parse), to read binary assets like textures or models, or to list assets (use list_assets).
Input schema
{
  "type": "object",
  "properties": {
    "assetId": {
      "type": "number",
      "description": "Asset id of a text-based asset (script, text, json, css, html, shader)"
    }
  },
  "required": [
    "assetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Asset Text",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_buildGet a publish or download build job by id from the designated project.
Input schema
{
  "type": "object",
  "properties": {
    "buildId": {
      "type": "integer",
      "exclusiveMinimum": 0
    }
  },
  "required": [
    "buildId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Build",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_checkpointGet a single checkpoint by its id. Returns the checkpoint record ({ id, createdAt, description, user }). When NOT to use: to list a branch's checkpoints (use list_checkpoints).
Input schema
{
  "type": "object",
  "properties": {
    "checkpointId": {
      "type": "string",
      "description": "Id of the checkpoint to get (from list_checkpoints)"
    }
  },
  "required": [
    "checkpointId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Checkpoint",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_conflict_fileRead the content of one side of a conflicting file so you can decide how to resolve it. Read-only; does not resolve anything. When NOT to use: to choose a resolution (use resolve_conflicts).
Input schema
{
  "type": "object",
  "properties": {
    "mergeId": {
      "type": "string",
      "description": "Id of the merge (from start_merge)"
    },
    "conflictId": {
      "type": "string",
      "description": "Id of the conflict (from the merge's conflicts list)"
    },
    "fileName": {
      "type": "string",
      "description": "Name of the conflicting file (from the conflict record)"
    },
    "resolved": {
      "type": "boolean",
      "description": "Fetch the resolved version instead of the original (default false)"
    }
  },
  "required": [
    "mergeId",
    "conflictId",
    "fileName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Conflict File",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_entityGet the complete edit-time JSON for one entity by resource_id.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Entity ID"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Entity",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_mergeGet the current state of a merge, including its status and full conflict list ({ id, mergeProgressStatus, conflicts, numConflicts }). Use to re-check which conflicts are still unresolved before apply_merge. When NOT to use: to start a merge (use start_merge).
Input schema
{
  "type": "object",
  "properties": {
    "mergeId": {
      "type": "string",
      "description": "Id of the merge (from start_merge)"
    }
  },
  "required": [
    "mergeId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Merge",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_sceneGet a single scene by its id (not uniqueId). Returns the full scene record. When NOT to use: to load/switch to a scene in the editor (use load_scene) or to list scenes (use list_scenes).
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": [
        "number",
        "string"
      ],
      "description": "Scene id (the \"id\" field from list_scenes, not uniqueId)"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Scene",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_selectionRead the editor's current selection. Returns { type: "entity" | "asset" | null, ids: [...] }. Entity ids are resource_ids (strings); asset ids are numbers. When NOT to use: to list all entities/assets (use list_entities/list_assets).
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "Get Selection",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_template_overridesRead the current apply/revert override records for a template instance.
Input schema
{
  "type": "object",
  "properties": {
    "entityId": {
      "type": "string",
      "format": "uuid",
      "description": "Entity ID"
    }
  },
  "required": [
    "entityId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Template Overrides",
  "readOnlyHint": true,
  "openWorldHint": false
}
hard_reset_checkpointDESTRUCTIVE: reset the branch head back to a checkpoint and PERMANENTLY ERASE every checkpoint created after it. Cannot be undone. This RELOADS the editor; the tool waits for it to reconnect and returns the resulting vcs_status. When NOT to use: to roll back working state while keeping history (use restore_checkpoint).
Input schema
{
  "type": "object",
  "properties": {
    "checkpointId": {
      "type": "string",
      "description": "Id of the checkpoint to hard reset to (from list_checkpoints); all later checkpoints are erased"
    },
    "branchId": {
      "type": "string",
      "description": "Branch to hard reset (defaults to the current branch)"
    }
  },
  "required": [
    "checkpointId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Hard Reset To Checkpoint",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
inject_inputDispatch keyboard / mouse / touch input to the RUNNING Launch instance so you can drive end-to-end interactions ("press W to move", "click a button", "tap the screen"). Requires launch_start first. Events run in order; coordinates are CSS pixels from the canvas top-left (match capture_runtime's framing). Returns { dispatched }. Patterns: key press with holdMs to move for a duration; mouse click at (x,y); a down→move…→up sequence for dragging; touch tap for mobile UI. After injecting, use capture_runtime / read_runtime_logs / query the scene to observe the effect. When NOT to use: to change entity data directly (use modify_entities) or before launch_start.
Input schema
{
  "type": "object",
  "properties": {
    "events": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "key"
              },
              "key": {
                "type": "string",
                "description": "Key name: a single char (\"w\", \"1\"), or a named key (\"Space\", \"Enter\", \"ArrowUp\", \"Shift\", \"Escape\")"
              },
              "action": {
                "type": "string",
                "enum": [
                  "press",
                  "down",
                  "up"
                ],
                "description": "press = down+up (default); use down/up to hold across calls"
              },
              "holdMs": {
                "type": "integer",
                "minimum": 0,
                "maximum": 10000,
                "description": "For action=press, hold the key down this long before releasing"
              },
              "repeat": {
                "type": "integer",
                "minimum": 1,
                "maximum": 50,
                "description": "Repeat this key event N times"
              }
            },
            "required": [
              "type",
              "key"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "mouse"
              },
              "action": {
                "type": "string",
                "enum": [
                  "move",
                  "down",
                  "up",
                  "click"
                ]
              },
              "x": {
                "type": "number",
                "description": "X in CSS pixels from the canvas top-left"
              },
              "y": {
                "type": "number",
                "description": "Y in CSS pixels from the canvas top-left"
              },
              "button": {
                "type": "number",
                "enum": [
                  0,
                  1,
                  2
                ],
                "description": "0=left (default), 1=middle, 2=right"
              }
            },
            "required": [
              "type",
              "action"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "touch"
              },
              "action": {
                "type": "string",
                "enum": [
                  "start",
                  "move",
                  "end",
                  "tap"
                ]
              },
              "x": {
                "type": "number",
                "description": "X in CSS pixels from the canvas top-left"
              },
              "y": {
                "type": "number",
                "description": "Y in CSS pixels from the canvas top-left"
              },
              "id": {
                "type": "integer",
                "description": "Touch identifier (for multi-touch sequences)"
              }
            },
            "required": [
              "type",
              "action",
              "x",
              "y"
            ],
            "additionalProperties": false
          }
        ]
      },
      "minItems": 1,
      "description": "Ordered list of input events to dispatch"
    },
    "betweenMs": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000,
      "description": "Delay between consecutive events (default 0)"
    }
  },
  "required": [
    "events"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Inject Runtime Input",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
instantiate_template_assetsInstantiate template assets into the scene, creating entity hierarchies from them. Returns the created entity summaries. When NOT to use: for non-template assets (only type="template" assets can be instantiated) or to build an entity from scratch (use create_entities).
Input schema
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "description": "Asset ID"
      },
      "minItems": 1,
      "description": "Template asset ids to instantiate"
    },
    "parentId": {
      "type": "string",
      "format": "uuid",
      "description": "Parent entity resource_id; defaults to the scene root"
    },
    "index": {
      "type": "integer",
      "minimum": 0,
      "description": "Insertion index under the parent"
    }
  },
  "required": [
    "ids"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Instantiate Template Assets",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
launch_startStart a real Launch runtime instance of the current scene (the editor's Launch button) so scripts, physics, animation and input actually run. Opens the launch page in a new browser window with debug logging on; the editor bridges it automatically. Returns { url, sceneId, ready, adopted } where ready=true means the runtime is usable by capture_runtime / read_runtime_logs, and adopted=true means it attached to an app that was already running instead of starting a new one (which happens only when no options are passed, so pass an option to force a fresh launch). This is the prerequisite for all runtime tools. If ready=false, the page may still be loading or popups were blocked; poll read_runtime_logs or retry. When NOT to use: to screenshot the editor (use capture_viewport); to change the scene (edit-time tools).
Input schema
{
  "type": "object",
  "properties": {
    "device": {
      "type": "string",
      "enum": [
        "webgpu",
        "webgl2",
        "webgl1"
      ],
      "description": "Graphics device to launch with (default: project setting)"
    },
    "engineVersion": {
      "type": "string",
      "minLength": 1
    },
    "profiler": {
      "type": "boolean"
    },
    "debug": {
      "type": "boolean"
    },
    "concatenate": {
      "type": "boolean"
    },
    "bundles": {
      "type": "boolean"
    },
    "miniStats": {
      "type": "boolean"
    },
    "waitMs": {
      "type": "integer",
      "minimum": 0,
      "maximum": 60000,
      "description": "How long to wait for the runtime to connect before returning (default 20000)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Launch Runtime",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
launch_stopStop the running Launch instance started by launch_start (closes the launch window). Returns { stopped }. When NOT to use: there is no need to call this between captures — keep the instance running and re-capture.
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "Stop Runtime",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
list_assetsList project assets, returning compact summaries by default (id, name, type, folder, tags). Results are paginated: use limit (default 50) and offset; the response meta includes total, count, hasMore and nextCursor. Filter with type, name (case-insensitive contains) and/or tag. Use full=true only when you need the complete asset JSON (large). An empty result is a successful, empty list (not an error). When NOT to use: to search the public asset store (use store_search).
Input schema
{
  "type": "object",
  "properties": {
    "full": {
      "type": "boolean",
      "description": "Return full asset JSON instead of the compact summary (much larger)"
    },
    "type": {
      "type": "string",
      "enum": [
        "animation",
        "animstategraph",
        "audio",
        "binary",
        "bundle",
        "container",
        "css",
        "cubemap",
        "folder",
        "font",
        "gsplat",
        "html",
        "json",
        "material",
        "model",
        "render",
        "scene",
        "script",
        "shader",
        "sprite",
        "template",
        "text",
        "texture",
        "textureatlas",
        "wasm"
      ],
      "description": "Filter by asset type"
    },
    "name": {
      "type": "string",
      "description": "Filter by name (case-insensitive contains)"
    },
    "tag": {
      "type": "string",
      "description": "Filter by tag"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Max assets to return (default 50)"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Number of assets to skip (use nextCursor from a previous page)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "List Assets",
  "readOnlyHint": true,
  "openWorldHint": false
}
list_branchesList the project's branches. Returns branch records ({ id, name, createdAt, closed, permanent, latestCheckpointId, user }). Paginates via limit + cursor (meta.nextCursor); set closed:true to include closed branches, favorite:true for your favourites. When NOT to use: to read the current branch (use vcs_status).
Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Max branches to return"
    },
    "cursor": {
      "type": "string",
      "description": "Pagination cursor (a branch id from a previous meta.nextCursor)"
    },
    "closed": {
      "type": "boolean",
      "description": "Include closed branches"
    },
    "favorite": {
      "type": "boolean",
      "description": "List only your favourite branches"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "List Branches",
  "readOnlyHint": true,
  "openWorldHint": false
}
list_buildsList publish and download builds for the designated project, including durable job status and artifacts.
Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "cursor": {
      "type": "string",
      "pattern": "^\\d+$"
    },
    "type": {
      "type": "string",
      "enum": [
        "publish",
        "download"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "complete",
        "running",
        "error"
      ]
    },
    "format": {
      "type": "string",
      "enum": [
        "playcanvas",
        "static",
        "npm"
      ]
    },
    "branch": {
      "type": "string"
    },
    "actor": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "List Builds",
  "readOnlyHint": true,
  "openWorldHint": false
}
list_checkpointsList checkpoints on a branch (the current branch by default), newest first. Returns records ({ id, createdAt, description, user }). Paginates via limit + cursor (meta.nextCursor); backend default limit 25, max 50. Use a checkpoint id with restore_checkpoint / hard_reset_checkpoint. When NOT to use: to list branches (use list_branches).
Input schema
{
  "type": "object",
  "properties": {
    "branchId": {
      "type": "string",
      "description": "Branch to list checkpoints for (defaults to the current branch)"
    },
    "limit": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 50,
      "description": "Max checkpoints to return (max 50)"
    },
    "cursor": {
      "type": "string",
      "description": "Pagination cursor (a checkpoint id from a previous meta.nextCursor)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "List Checkpoints",
  "readOnlyHint": true,
  "openWorldHint": false
}
list_entitiesList entities in the current scene, returning compact summaries by default (resource_id, name, hierarchy path, parent, enabled, tags, component names). Results are paginated: use limit (default 50) and offset to page through large scenes; the response meta includes total, count, hasMore and nextCursor. Filter with name (case-insensitive contains), component (only entities with that component) and/or tag. Use full=true only when you need the complete entity JSON (large; prefer summaries). An empty result is a successful, empty list (not an error). When NOT to use: when you already know an entity id and just need to act on it; for runtime/play-mode state (this returns edit-time data only).
Input schema
{
  "type": "object",
  "properties": {
    "full": {
      "type": "boolean",
      "description": "Return full entity JSON instead of the compact summary (much larger)"
    },
    "name": {
      "type": "string",
      "description": "Filter by name (case-insensitive contains)"
    },
    "component": {
      "type": "string",
      "minLength": 1,
      "description": "Filter to entities that have this component"
    },
    "tag": {
      "type": "string",
      "description": "Filter by tag"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Max entities to return (default 50)"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Number of entities to skip (use nextCursor from a previous page)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "List Entities",
  "readOnlyHint": true,
  "openWorldHint": false
}
list_scenesList the scenes in the current project/branch. Returns scene records including id, uniqueId and name. Use uniqueId with load_scene to switch scenes, and id with get_scene / duplicate_scene / delete_scene. When NOT to use: to list assets (use list_assets).
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "List Scenes",
  "readOnlyHint": true,
  "openWorldHint": false
}
list_store_licensesList valid Store licenses for project imports.
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "List Store Licenses",
  "readOnlyHint": true,
  "openWorldHint": true
}
load_sceneLoad (switch the editor to) a scene by its uniqueId. This unloads the current scene and opens the target one. By default the tool returns after queuing the load. Set wait=true to return only after the requested scene is active. When NOT to use: to read a scene without switching (use get_scene) or to create a new scene (use create_scene).
Input schema
{
  "type": "object",
  "properties": {
    "uniqueId": {
      "type": [
        "number",
        "string"
      ],
      "description": "Scene uniqueId (the \"uniqueId\" field from list_scenes, not id)"
    },
    "wait": {
      "type": "boolean",
      "description": "Wait until the editor reports the requested scene is active"
    }
  },
  "required": [
    "uniqueId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Load Scene",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
modify_anim_state_graphApply a validated batch of structural operations to an anim state graph as one undoable transaction. Add operations may omit id to allocate one; generated ids and the resulting graph are returned. State deletion also deletes attached transitions. Parameter deletion is rejected while conditions use it. Use layer.update defaultStateId to change a layer default before removing its old default state.
Input schema
{
  "type": "object",
  "properties": {
    "assetId": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Anim state graph asset id"
    },
    "operations": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "layer.add"
              },
              "id": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "pattern": "^[A-Za-z0-9 _-]+$"
              },
              "properties": {
                "type": "object",
                "properties": {
                  "blendType": {
                    "type": "string",
                    "enum": [
                      "OVERWRITE",
                      "ADDITIVE"
                    ]
                  },
                  "weight": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "kind"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "layer.update"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "properties": {
                "type": "object",
                "properties": {
                  "name": {
                    "$ref": "#/properties/operations/items/anyOf/0/properties/name"
                  },
                  "blendType": {
                    "type": "string",
                    "enum": [
                      "OVERWRITE",
                      "ADDITIVE"
                    ]
                  },
                  "weight": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "defaultStateId": {
                    "$ref": "#/properties/operations/items/anyOf/0/properties/id"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "kind",
              "id",
              "properties"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "layer.remove"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "layer.move"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "index": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              }
            },
            "required": [
              "kind",
              "id",
              "index"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "state.add"
              },
              "layerId": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "name": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/name"
              },
              "properties": {
                "type": "object",
                "properties": {
                  "speed": {
                    "type": "number"
                  },
                  "loop": {
                    "type": "boolean"
                  },
                  "posX": {
                    "type": "number"
                  },
                  "posY": {
                    "type": "number"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "kind",
              "layerId",
              "name"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "state.update"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "properties": {
                "type": "object",
                "properties": {
                  "name": {
                    "$ref": "#/properties/operations/items/anyOf/0/properties/name"
                  },
                  "speed": {
                    "type": "number"
                  },
                  "loop": {
                    "type": "boolean"
                  },
                  "posX": {
                    "type": "number"
                  },
                  "posY": {
                    "type": "number"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "kind",
              "id",
              "properties"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "state.remove"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "transition.add"
              },
              "layerId": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "from": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "to": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "properties": {
                "type": "object",
                "properties": {
                  "exitTime": {
                    "type": "number",
                    "minimum": 0
                  },
                  "interruptionSource": {
                    "type": "string",
                    "enum": [
                      "NONE",
                      "NEXT_STATE",
                      "PREV_STATE",
                      "NEXT_STATE_PREV_STATE",
                      "PREV_STATE_NEXT_STATE"
                    ]
                  },
                  "priority": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "time": {
                    "type": "number",
                    "minimum": 0
                  },
                  "transitionOffset": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "kind",
              "layerId",
              "from",
              "to"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "transition.update"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "properties": {
                "$ref": "#/properties/operations/items/anyOf/7/properties/properties"
              }
            },
            "required": [
              "kind",
              "id",
              "properties"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "transition.remove"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "transition.move"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "index": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              }
            },
            "required": [
              "kind",
              "id",
              "index"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "condition.add"
              },
              "transitionId": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "properties": {
                "type": "object",
                "properties": {
                  "parameterName": {
                    "$ref": "#/properties/operations/items/anyOf/0/properties/name"
                  },
                  "predicate": {
                    "type": "string",
                    "enum": [
                      "EQUAL_TO",
                      "NOT_EQUAL_TO",
                      "LESS_THAN",
                      "LESS_THAN_EQUAL_TO",
                      "GREATER_THAN",
                      "GREATER_THAN_EQUAL_TO"
                    ],
                    "default": "EQUAL_TO"
                  },
                  "value": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "boolean"
                      }
                    ]
                  }
                },
                "required": [
                  "parameterName",
                  "value"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "kind",
              "transitionId",
              "properties"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "condition.update"
              },
              "transitionId": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "properties": {
                "type": "object",
                "properties": {
                  "parameterName": {
                    "$ref": "#/properties/operations/items/anyOf/0/properties/name"
                  },
                  "predicate": {
                    "$ref": "#/properties/operations/items/anyOf/11/properties/properties/properties/predicate"
                  },
                  "value": {
                    "$ref": "#/properties/operations/items/anyOf/11/properties/properties/properties/value"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "kind",
              "transitionId",
              "id",
              "properties"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "condition.remove"
              },
              "transitionId": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              }
            },
            "required": [
              "kind",
              "transitionId",
              "id"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "parameter.add"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "name": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/name"
              },
              "type": {
                "type": "string",
                "enum": [
                  "INTEGER",
                  "FLOAT",
                  "BOOLEAN",
                  "TRIGGER"
                ]
              },
              "value": {
                "$ref": "#/properties/operations/items/anyOf/11/properties/properties/properties/value"
              }
            },
            "required": [
              "kind",
              "name",
              "type",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "parameter.update"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "properties": {
                "type": "object",
                "properties": {
                  "name": {
                    "$ref": "#/properties/operations/items/anyOf/0/properties/name"
                  },
                  "type": {
                    "$ref": "#/properties/operations/items/anyOf/14/properties/type"
                  },
                  "value": {
                    "$ref": "#/properties/operations/items/anyOf/11/properties/properties/properties/value"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "kind",
              "id",
              "properties"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "parameter.remove"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": false
          }
        ]
      },
      "minItems": 1,
      "maxItems": 100
    }
  },
  "required": [
    "assetId",
    "operations"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Modify Anim State Graph",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": false
}
modify_animation_eventsAdd, update, or remove GLB animation events as one undoable transaction. Times are normalized from 0 to 1. Event ids remain stable and generated ids are returned.
Input schema
{
  "type": "object",
  "properties": {
    "assetId": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "GLB animation asset id"
    },
    "operations": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "event.add"
              },
              "id": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "name": {
                "type": "string",
                "minLength": 1
              },
              "time": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "properties": {
                "type": "object",
                "properties": {
                  "number": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "string": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "kind",
              "name",
              "time"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "event.update"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              },
              "properties": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1
                  },
                  "time": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "number": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "string": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "kind",
              "id",
              "properties"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "event.remove"
              },
              "id": {
                "$ref": "#/properties/operations/items/anyOf/0/properties/id"
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": false
          }
        ]
      },
      "minItems": 1,
      "maxItems": 100
    }
  },
  "required": [
    "assetId",
    "operations"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Modify Animation Events",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": false
}
modify_assetsEdit asset name, tags, preload, or data paths. Array operations are supported under data.*. Anim state graph structure and animation events require their dedicated mutation tools.
Input schema
{
  "type": "object",
  "properties": {
    "edits": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "description": "Asset ID"
              },
              "path": {
                "type": "string",
                "minLength": 1
              },
              "op": {
                "type": "string",
                "const": "set"
              },
              "value": {}
            },
            "required": [
              "id",
              "path"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "$ref": "#/properties/edits/items/anyOf/0/properties/id"
              },
              "path": {
                "type": "string",
                "minLength": 1
              },
              "op": {
                "type": "string",
                "const": "unset"
              }
            },
            "required": [
              "id",
              "path",
              "op"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "$ref": "#/properties/edits/items/anyOf/0/properties/id"
              },
              "path": {
                "type": "string",
                "minLength": 1
              },
              "op": {
                "type": "string",
                "const": "insert"
              },
              "value": {},
              "index": {
                "type": "integer",
                "minimum": 0
              }
            },
            "required": [
              "id",
              "path",
              "op"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "$ref": "#/properties/edits/items/anyOf/0/properties/id"
              },
              "path": {
                "type": "string",
                "minLength": 1
              },
              "op": {
                "type": "string",
                "const": "remove"
              },
              "index": {
                "type": "integer",
                "minimum": 0
              }
            },
            "required": [
              "id",
              "path",
              "op",
              "index"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "$ref": "#/properties/edits/items/anyOf/0/properties/id"
              },
              "path": {
                "type": "string",
                "minLength": 1
              },
              "op": {
                "type": "string",
                "const": "move"
              },
              "index": {
                "type": "integer",
                "minimum": 0
              },
              "to": {
                "type": "integer",
                "minimum": 0
              }
            },
            "required": [
              "id",
              "path",
              "op",
              "index",
              "to"
            ],
            "additionalProperties": false
          }
        ]
      },
      "minItems": 1
    }
  },
  "required": [
    "edits"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Modify Assets",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": false
}
modify_bundle_assetAdd or remove project assets from a bundle. Returns accepted and rejected ids; invalid asset types and duplicates are rejected.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Bundle asset id"
    },
    "add": {
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0
      }
    },
    "remove": {
      "type": "array",
      "items": {
        "$ref": "#/properties/add/items"
      }
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Modify Bundle Asset",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
modify_entitiesSet or unset properties on existing entities by dot-notation path. Valid top-level paths: "name", "enabled", "position" ([x,y,z] local), "rotation" ([x,y,z] euler degrees), "scale" ([x,y,z]), "tags". Component properties use "components.<type>.<prop>", e.g. "components.light.intensity", "components.camera.fov", "components.render.castShadows", "components.script.scripts.<name>.attributes.<attr>" (the entity must already have that component; add it with add_components first). Each edit targets one entity id + one path. Returns the post-edit summaries of the affected entities. Edits are validated on write: an unknown top-level path, or a component path for a component the entity does not have, fails immediately with a message listing the entity's valid paths/components — so you can fix it in one shot instead of retrying blind. When NOT to use: to create entities (use create_entities), to add/remove components (use add_components/remove_components), or to change scene-wide settings (use modify_scene_settings).
Input schema
{
  "type": "object",
  "properties": {
    "edits": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Entity ID"
              },
              "path": {
                "type": "string",
                "minLength": 1,
                "description": "Property path in dot notation, e.g. \"position\", \"components.light.intensity\""
              },
              "op": {
                "type": "string",
                "const": "set",
                "description": "Defaults to set"
              },
              "value": {
                "description": "Vectors are arrays, e.g. position [0,1,0]."
              }
            },
            "required": [
              "id",
              "path",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "$ref": "#/properties/edits/items/anyOf/0/properties/id"
              },
              "path": {
                "type": "string",
                "minLength": 1,
                "description": "Component property path in dot notation"
              },
              "op": {
                "type": "string",
                "const": "unset"
              }
            },
            "required": [
              "id",
              "path",
              "op"
            ],
            "additionalProperties": false
          }
        ]
      },
      "minItems": 1
    }
  },
  "required": [
    "edits"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Modify Entities",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
modify_project_settingsModify project-wide settings such as physics engine, rendering device (WebGL2/WebGPU), layers, loading screen, script loading order, input, and resolution. Pass a partial object of setting path/value pairs (nested objects or dot-paths, e.g. { enableWebGpu: true, "layers.0.name": "World" }); only the provided fields change. Returns the full resulting project settings snapshot. When NOT to use: to change per-scene settings like fog or gravity (use modify_scene_settings) or a single entity (use modify_entities).
Input schema
{
  "type": "object",
  "properties": {
    "settings": {
      "type": "object",
      "additionalProperties": {},
      "description": "Partial project settings to change (path/value pairs); only provided fields are modified"
    }
  },
  "required": [
    "settings"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Modify Project Settings",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
modify_scene_settingsModify scene-wide settings such as physics gravity and rendering (fog, ambient light, skybox, tonemapping, exposure, lightmapping). Only the provided fields are changed. Returns the full resulting scene settings snapshot. When NOT to use: to change a single entity (use modify_entities) or to read settings without changing them (use query_scene_settings).
Input schema
{
  "type": "object",
  "properties": {
    "settings": {
      "type": "object",
      "properties": {
        "physics": {
          "type": "object",
          "properties": {
            "gravity": {
              "type": "array",
              "items": {
                "type": "number"
              },
              "minItems": 3,
              "maxItems": 3,
              "description": "Gravity force"
            }
          },
          "additionalProperties": true,
          "description": "Physics settings"
        },
        "render": {
          "type": "object",
          "properties": {
            "fog": {
              "type": "string",
              "enum": [
                "none",
                "linear",
                "exp",
                "exp2"
              ]
            },
            "fog_start": {
              "type": "number",
              "minimum": 0
            },
            "fog_end": {
              "type": "number",
              "minimum": 0
            },
            "fog_density": {
              "type": "number",
              "minimum": 0
            },
            "fog_color": {
              "type": "array",
              "items": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "minItems": 3,
              "maxItems": 3,
              "description": "RGB color [r,g,b] 0-1"
            },
            "global_ambient": {
              "$ref": "#/properties/settings/properties/render/properties/fog_color",
              "description": "Ambient light color"
            },
            "gamma_correction": {
              "anyOf": [
                {
                  "type": "number",
                  "const": 0,
                  "description": "None"
                },
                {
                  "type": "number",
                  "const": 1,
                  "description": "sRGB"
                }
              ]
            },
            "lightmapSizeMultiplier": {
              "type": "number"
            },
            "lightmapMaxResolution": {
              "type": "number"
            },
            "lightmapMode": {
              "anyOf": [
                {
                  "type": "number",
                  "const": 0,
                  "description": "Color"
                },
                {
                  "type": "number",
                  "const": 1,
                  "description": "ColorDir"
                }
              ]
            },
            "tonemapping": {
              "type": "number"
            },
            "exposure": {
              "type": "number"
            },
            "skybox": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "Asset ID"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Skybox cubemap"
            },
            "skyType": {
              "type": "string",
              "enum": [
                "infinite",
                "box",
                "dome"
              ]
            },
            "skyMeshPosition": {
              "$ref": "#/properties/settings/properties/physics/properties/gravity",
              "description": "[x,y,z]"
            },
            "skyMeshRotation": {
              "$ref": "#/properties/settings/properties/physics/properties/gravity",
              "description": "[x,y,z]"
            },
            "skyMeshScale": {
              "$ref": "#/properties/settings/properties/physics/properties/gravity",
              "description": "[x,y,z]"
            },
            "skyCenter": {
              "$ref": "#/properties/settings/properties/physics/properties/gravity",
              "description": "[x,y,z]"
            },
            "skyboxIntensity": {
              "type": "number"
            },
            "skyboxMip": {
              "type": "integer",
              "minimum": 0,
              "maximum": 5
            },
            "skyboxRotation": {
              "$ref": "#/properties/settings/properties/physics/properties/gravity",
              "description": "[x,y,z]"
            },
            "lightmapFilterEnabled": {
              "type": "boolean"
            },
            "lightmapFilterRange": {
              "type": "number"
            },
            "lightmapFilterSmoothness": {
              "type": "number"
            },
            "ambientBake": {
              "type": "boolean"
            },
            "ambientBakeNumSamples": {
              "type": "number"
            },
            "ambientBakeSpherePart": {
              "type": "number"
            },
            "ambientBakeOcclusionBrightness": {
              "type": "number"
            },
            "ambientBakeOcclusionContrast": {
              "type": "number"
            },
            "clusteredLightingEnabled": {
              "type": "boolean"
            },
            "lightingCells": {
              "$ref": "#/properties/settings/properties/physics/properties/gravity",
              "description": "[x,y,z]"
            },
            "lightingMaxLightsPerCell": {
              "type": "number"
            },
            "lightingCookieAtlasResolution": {
              "type": "number"
            },
            "lightingShadowAtlasResolution": {
              "type": "number"
            },
            "lightingShadowType": {
              "anyOf": [
                {
                  "type": "number",
                  "const": 0,
                  "description": "PCF3_32F"
                },
                {
                  "type": "number",
                  "const": 4,
                  "description": "PCF5_32F"
                },
                {
                  "type": "number",
                  "const": 5,
                  "description": "PCF1_32F"
                }
              ]
            },
            "lightingCookiesEnabled": {
              "type": "boolean"
            },
            "lightingAreaLightsEnabled": {
              "type": "boolean"
            },
            "lightingShadowsEnabled": {
              "type": "boolean"
            }
          },
          "additionalProperties": true,
          "description": "Render settings"
        }
      },
      "additionalProperties": true,
      "description": "Scene settings"
    }
  },
  "required": [
    "settings"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Modify Scene Settings",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
modify_settingsSet or unset arbitrary Editor settings by dot path in project, scene, projectUser, user, session, or projectPrivate scope. Asset import defaults are in projectUser under editor.pipeline.*. Project, scene, and private settings require project write access. Query the scope first to discover current paths and values.
Input schema
{
  "type": "object",
  "properties": {
    "scope": {
      "type": "string",
      "enum": [
        "project",
        "projectUser",
        "projectPrivate",
        "user",
        "session",
        "scene"
      ]
    },
    "edits": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "path": {
                "type": "string",
                "minLength": 1,
                "description": "Dot-notation settings path"
              },
              "op": {
                "type": "string",
                "const": "set",
                "description": "Defaults to set"
              },
              "value": {}
            },
            "required": [
              "path",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "path": {
                "type": "string",
                "minLength": 1,
                "description": "Dot-notation settings path"
              },
              "op": {
                "type": "string",
                "const": "unset"
              }
            },
            "required": [
              "path",
              "op"
            ],
            "additionalProperties": false
          }
        ]
      },
      "minItems": 1
    }
  },
  "required": [
    "scope",
    "edits"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Modify Settings",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
modify_sprite_assetModify sprite data (atlas, frame order, pixels per unit, render mode) or replace a texture atlas frame map in one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Sprite or texture atlas asset id"
    },
    "props": {
      "type": "object",
      "properties": {
        "pixelsPerUnit": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "renderMode": {
          "type": "integer",
          "minimum": 0,
          "maximum": 2
        },
        "frameKeys": {
          "type": "array",
          "items": {
            "type": [
              "string",
              "number"
            ]
          }
        },
        "textureAtlasAsset": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "frames": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "rect": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "minItems": 4,
                "maxItems": 4
              },
              "pivot": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "minItems": 2,
                "maxItems": 2
              },
              "border": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "minItems": 4,
                "maxItems": 4
              }
            },
            "required": [
              "name",
              "rect",
              "pivot",
              "border"
            ],
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "id",
    "props"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Modify Sprite Asset",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
move_assetsMove assets to a folder in the designated project and wait until their paths update. Omit folderId to move them to the root.
Input schema
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "description": "Asset ID"
      },
      "minItems": 1
    },
    "folderId": {
      "anyOf": [
        {
          "$ref": "#/properties/ids/items"
        },
        {
          "type": "null"
        }
      ],
      "description": "Nullable asset reference"
    }
  },
  "required": [
    "ids"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Move Assets",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
move_entity_scriptMove a script to a new execution-order index on an entity.
Input schema
{
  "type": "object",
  "properties": {
    "entityId": {
      "type": "string",
      "format": "uuid",
      "description": "Entity ID"
    },
    "script": {
      "type": "string",
      "minLength": 1,
      "description": "Registered script name"
    },
    "index": {
      "type": "integer",
      "minimum": 0,
      "description": "New execution-order index"
    }
  },
  "required": [
    "entityId",
    "script",
    "index"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Move Entity Script",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
my_assets_importImport an asset owned by the current user into the current project.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Asset ID"
    },
    "name": {
      "type": "string",
      "minLength": 1
    },
    "folder": {
      "$ref": "#/properties/id",
      "description": "Asset ID"
    }
  },
  "required": [
    "id",
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Import My Asset",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
my_assets_searchSearch assets owned by the current user.
Input schema
{
  "type": "object",
  "properties": {
    "search": {
      "type": "string"
    },
    "skip": {
      "type": "integer",
      "minimum": 0
    },
    "limit": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Search My Assets",
  "readOnlyHint": true,
  "openWorldHint": true
}
open_branchRe-open a previously closed branch. Find closed branches with list_branches({ closed: true }). Does not reload the editor. When NOT to use: to switch the editor onto the branch (use switch_branch).
Input schema
{
  "type": "object",
  "properties": {
    "branchId": {
      "type": "string",
      "description": "Id of the closed branch to re-open (from list_branches with closed:true)"
    }
  },
  "required": [
    "branchId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Open Branch",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
prefilter_cubemapGenerate runtime lighting data for a cubemap.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "legacy": {
      "type": "boolean",
      "description": "Generate the compatibility DDS format for older engines"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Prefilter Cubemap",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
process_font_assetRebuild a font asset for an explicit character set and optional inversion setting.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "characters": {
      "type": "string",
      "minLength": 1
    },
    "invert": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "characters"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Process Font Asset",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
process_texture_variantsCompress or remove explicit texture variants and wait for processing to settle.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "formats": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "basis",
          "dxt",
          "etc1",
          "etc2",
          "pvr"
        ]
      },
      "minItems": 1
    },
    "remove": {
      "type": "boolean"
    },
    "force": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "formats"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Process Texture Variants",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
query_project_settingsRead the current project-wide settings (physics, rendering device, layers, loading screen, script loading order, input, resolution). Returns the full settings object. When NOT to use: to change settings (use modify_project_settings) or to read per-scene settings (use query_scene_settings).
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "Query Project Settings",
  "readOnlyHint": true,
  "openWorldHint": false
}
query_runtime_stateRead the LIVE runtime state of entities in the RUNNING Launch instance — the non-visual ground-truth read-back for verifying play-mode behaviour without guessing screenshot timing. Requires launch_start first. For each matched entity returns world position, local position, euler rotation, scale, enabled, component names, plus rigidbody (type/mass/linearVelocity/angularVelocity) and element (type/text, e.g. a HUD score label) when present. Filter with ids (editor resource_ids — the runtime uses the same GUIDs) or name (case-insensitive substring); omit both to page through every entity. Paginated via limit (default 50) + offset (meta has total/count/hasMore/nextCursor). Use this to answer questions the camera cannot: "did the ball actually move / fall through the floor?", "is the rigidbody simulating (velocity != 0)?", "what does the score HUD say?". An empty result is success, not an error. When NOT to use: for edit-time scene data (use list_entities); before launch_start; to change state (use modify_entities / inject_input).
Input schema
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Entity resource_ids to inspect (same GUIDs as edit-time). Omit to filter by name or list all."
    },
    "name": {
      "type": "string",
      "description": "Filter by entity name (case-insensitive substring)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Max entities to return (default 50)"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Entities to skip (use nextCursor from a previous page)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Query Runtime State",
  "readOnlyHint": true,
  "openWorldHint": false
}
query_scene_settingsRead the current scene-wide settings (physics + rendering). Returns the full settings object. When NOT to use: to change settings (use modify_scene_settings).
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "Query Scene Settings",
  "readOnlyHint": true,
  "openWorldHint": false
}
query_settingsRead any Editor settings scope: project, current scene, per-project user preferences (including editor.pipeline asset import defaults), global user preferences, session settings, or private project settings. Omit path for the complete scope or provide a dot path for one value.
Input schema
{
  "type": "object",
  "properties": {
    "scope": {
      "type": "string",
      "enum": [
        "project",
        "projectUser",
        "projectPrivate",
        "user",
        "session",
        "scene"
      ]
    },
    "path": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "scope"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Query Settings",
  "readOnlyHint": true,
  "openWorldHint": false
}
query_viewport_stateRead the exact editor viewport camera and overlay state so it can be restored after visual inspection.
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "Query Viewport State",
  "readOnlyHint": true,
  "openWorldHint": false
}
query_viewport_visibilityList entities hidden only in the editor viewport. This does not read or change persisted entity enabled values.
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "Query Viewport Visibility",
  "readOnlyHint": true,
  "openWorldHint": false
}
read_editor_logsRead recent edit-time Editor console logs with filters and pagination.
Input schema
{
  "type": "object",
  "properties": {
    "types": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "info",
          "warn",
          "error"
        ]
      },
      "minItems": 1
    },
    "search": {
      "type": "string",
      "minLength": 1
    },
    "since": {
      "type": "integer",
      "minimum": 0,
      "description": "Minimum Unix timestamp in milliseconds"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Read Editor Logs",
  "readOnlyHint": true,
  "openWorldHint": false
}
read_runtime_logsRead console output (log/info/warn/error), uncaught exceptions and unhandled rejections from the RUNNING Launch instance — the first-line signal for runtime bugs. Requires launch_start first. Returns the most recent entries first, paginated (meta has total/count/hasMore/nextCursor). Defaults to warnings + errors; set level="all" (or debug/info/warn/error as a minimum severity) to widen, and keyword to filter. An empty result is success, not an error. When NOT to use: to read edit-time editor logs (this is the launched app only).
Input schema
{
  "type": "object",
  "properties": {
    "level": {
      "type": "string",
      "enum": [
        "all",
        "debug",
        "info",
        "warn",
        "error"
      ],
      "description": "Minimum severity to include (default: warn)"
    },
    "keyword": {
      "type": "string",
      "description": "Only include entries whose text contains this (case-insensitive)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "description": "Max entries to return (default 100)"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Entries to skip from the newest (use nextCursor)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Read Runtime Logs",
  "readOnlyHint": true,
  "openWorldHint": false
}
redoRedo the last undone edit in the editor. Returns whether anything was redone plus the resulting { canUndo, canRedo } state. When NOT to use: to repeat an arbitrary action (redo only re-applies an edit that was just undone).
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "Redo",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
reimport_assetsRe-run the import pipeline for existing source assets and return succeeded and failed entries.
Input schema
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "description": "Asset ID"
      },
      "minItems": 1
    },
    "settings": {
      "type": "object",
      "properties": {
        "pow2": {
          "type": "boolean"
        },
        "searchRelatedAssets": {
          "type": "boolean"
        },
        "overwriteModel": {
          "type": "boolean"
        },
        "overwriteAnimation": {
          "type": "boolean"
        },
        "overwriteMaterial": {
          "type": "boolean"
        },
        "overwriteTexture": {
          "type": "boolean"
        },
        "preserveMapping": {
          "type": "boolean"
        },
        "useGlb": {
          "type": "boolean"
        },
        "animSampleRate": {
          "type": "number"
        },
        "animCurveTolerance": {
          "type": "number"
        },
        "animEnableCubic": {
          "type": "boolean"
        },
        "animUseFbxFilename": {
          "type": "boolean"
        },
        "useContainers": {
          "type": "boolean"
        },
        "meshCompression": {
          "type": "string",
          "enum": [
            "none",
            "draco"
          ]
        },
        "dracoDecodeSpeed": {
          "type": "number"
        },
        "dracoMeshSize": {
          "type": "number"
        },
        "unwrapUv": {
          "type": "boolean"
        },
        "unwrapUvTexelsPerMeter": {
          "type": "number"
        },
        "importMorphNormals": {
          "type": "boolean"
        },
        "useUniqueIndices": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "ids"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Reimport Assets",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": false
}
remove_componentsRemove one or more components from an entity by component name. Returns the updated entity summary. When NOT to use: to delete the whole entity (use delete_entities) or to just disable a component (set components.<name>.enabled=false via modify_entities).
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Entity ID"
    },
    "components": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "description": "Editor component type"
      },
      "minItems": 1
    }
  },
  "required": [
    "id",
    "components"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Remove Components",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
remove_entity_scriptsRemove a script from one or more entities.
Input schema
{
  "type": "object",
  "properties": {
    "entityIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "description": "Entity ID"
      },
      "minItems": 1
    },
    "script": {
      "type": "string",
      "minLength": 1,
      "description": "Registered script name"
    }
  },
  "required": [
    "entityIds",
    "script"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Remove Entity Scripts",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
rename_sceneRename the currently loaded scene. Load another scene first to rename it.
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Rename Scene",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
reparent_entityMove an entity to a new parent in the hierarchy, optionally at a specific child index. Set preserveTransform=true to keep the entity at the same world position after moving. Returns the moved entity summary (including its new hierarchy path). When NOT to use: to change position/rotation values directly (use modify_entities).
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Entity ID"
    },
    "parent": {
      "type": "string",
      "format": "uuid",
      "description": "New parent entity resource_id"
    },
    "index": {
      "type": "integer",
      "minimum": 0,
      "description": "Insertion index among the parent's children"
    },
    "preserveTransform": {
      "type": "boolean",
      "description": "Keep the same world transform after reparenting"
    }
  },
  "required": [
    "id",
    "parent"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Reparent Entity",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
replace_assetReplace references to one asset with another asset.
Input schema
{
  "type": "object",
  "properties": {
    "assetId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Asset ID"
    },
    "replacementId": {
      "$ref": "#/properties/assetId"
    }
  },
  "required": [
    "assetId",
    "replacementId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Replace Asset References",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
resolve_conflictsResolve one or more merge conflicts by picking a side, or revert them to unresolved. resolution "source" keeps the merged-in branch's version, "dest" keeps the current branch's version, "revert" un-resolves. Returns the updated conflict records. Repeat until get_merge shows no unresolved conflicts, then apply_merge. When NOT to use: to inspect a conflict's content first (use get_conflict_file).
Input schema
{
  "type": "object",
  "properties": {
    "mergeId": {
      "type": "string",
      "description": "Id of the merge (from start_merge)"
    },
    "conflictIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "Ids of the conflicts to resolve (from the merge's conflicts list)"
    },
    "resolution": {
      "type": "string",
      "enum": [
        "source",
        "dest",
        "revert"
      ],
      "description": "\"source\" = keep the merged-in branch, \"dest\" = keep the current branch, \"revert\" = un-resolve"
    }
  },
  "required": [
    "mergeId",
    "conflictIds",
    "resolution"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Resolve Conflicts",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
resolve_entitiesResolve entities by name into their resource_ids and hierarchy paths, so you can drive follow-up calls without shuttling UUIDs. By default matches case-insensitive substrings; set exact=true to match the full name. Returns summaries (resource_id, name, path, components). An empty result is a successful, empty list (not an error). When NOT to use: when you need filtering by component/tag or pagination (use list_entities).
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Entity name to look up"
    },
    "exact": {
      "type": "boolean",
      "description": "Require an exact (case-insensitive) name match instead of substring"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Resolve Entities By Name",
  "readOnlyHint": true,
  "openWorldHint": false
}
restore_checkpointRestore (soft revert) the current branch's working state to a checkpoint. History is preserved — later checkpoints remain. This RELOADS the editor; the tool waits for it to reconnect and returns the resulting vcs_status. When NOT to use: to permanently erase later checkpoints (use hard_reset_checkpoint).
Input schema
{
  "type": "object",
  "properties": {
    "checkpointId": {
      "type": "string",
      "description": "Id of the checkpoint to restore (from list_checkpoints)"
    },
    "branchId": {
      "type": "string",
      "description": "Branch to restore on (defaults to the current branch)"
    }
  },
  "required": [
    "checkpointId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Restore Checkpoint",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
revert_template_overridesRevert all overrides on a template instance, or only the supplied override records.
Input schema
{
  "type": "object",
  "properties": {
    "entityId": {
      "type": "string",
      "format": "uuid",
      "description": "Entity ID"
    },
    "overrides": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "resource_id": {
            "$ref": "#/properties/entityId"
          },
          "override_type": {
            "type": "string",
            "minLength": 1
          },
          "path": {
            "type": "string"
          }
        },
        "required": [
          "resource_id",
          "override_type"
        ],
        "additionalProperties": true
      },
      "minItems": 1
    }
  },
  "required": [
    "entityId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Revert Template Overrides",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": false
}
script_parseParse a script asset to extract its declared script name(s) and attribute definitions. Run this after set_script_text. Returns the parsed script metadata. When NOT to use: to read entity-level script attribute values (use list_entities/modify_entities).
Input schema
{
  "type": "object",
  "properties": {
    "assetId": {
      "type": "number",
      "description": "Script asset id"
    }
  },
  "required": [
    "assetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Parse Script",
  "readOnlyHint": true,
  "openWorldHint": false
}
search_entitiesFuzzy-search entities by name and return the best matches ranked by relevance (each as a compact summary). Use this to find an entity when you only know part of its name. When NOT to use: to filter by component or tag (use list_entities) or to find entities using a script (use find_entities_by_script).
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Name (or partial name) to fuzzy-match against"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "description": "Max results to return (default: all matches)"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Search Entities",
  "readOnlyHint": true,
  "openWorldHint": false
}
set_asset_textOverwrite the full contents of a CSS, HTML, JSON, script, shader, or text asset.
Input schema
{
  "type": "object",
  "properties": {
    "assetId": {
      "type": "number",
      "description": "Text-based asset id"
    },
    "text": {
      "type": "string",
      "description": "Full replacement contents"
    }
  },
  "required": [
    "assetId",
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Set Asset Text",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
set_material_diffuseSet only the diffuse (base) color of a material. Color is [r,g,b] in 0-1. When NOT to use: to change any other material property, or to set several properties at once (use set_material_properties).
Input schema
{
  "type": "object",
  "properties": {
    "assetId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Asset ID"
    },
    "color": {
      "type": "array",
      "items": {
        "type": "number",
        "minimum": 0,
        "maximum": 1
      },
      "minItems": 3,
      "maxItems": 3,
      "description": "RGB color [r,g,b] 0-1"
    }
  },
  "required": [
    "assetId",
    "color"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Set Material Diffuse Color",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
set_material_propertiesSet any combination of properties on a material asset in one call (diffuse, emissive, metalness, gloss/shininess, opacity, maps, etc.). Only the provided fields are changed; all fields are optional. Colors are [r,g,b] 0-1; map fields take asset ids. Returns the updated asset summary. When NOT to use: to change only the diffuse color (set_material_diffuse is a shorthand) or to create a new material (use create_assets type="material").
Input schema
{
  "type": "object",
  "properties": {
    "assetId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Asset ID"
    },
    "properties": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "ambient": {
          "type": "array",
          "items": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "minItems": 3,
          "maxItems": 3,
          "description": "RGB color [r,g,b] 0-1"
        },
        "aoMap": {
          "anyOf": [
            {
              "$ref": "#/properties/assetId"
            },
            {
              "type": "null"
            }
          ],
          "description": "Nullable asset reference"
        },
        "aoMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "aoMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "aoMapTiling": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "minItems": 2,
          "maxItems": 2,
          "description": "[x,y]"
        },
        "aoMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "aoMapRotation": {
          "type": "number"
        },
        "aoVertexColor": {
          "type": "boolean"
        },
        "aoVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "aoIntensity": {
          "type": "number"
        },
        "diffuse": {
          "$ref": "#/properties/properties/properties/ambient",
          "description": "RGB color [r,g,b] 0-1"
        },
        "diffuseMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "diffuseMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "diffuseMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "diffuseMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "diffuseMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "diffuseMapRotation": {
          "type": "number"
        },
        "diffuseVertexColor": {
          "type": "boolean"
        },
        "diffuseVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "specular": {
          "$ref": "#/properties/properties/properties/ambient",
          "description": "RGB color [r,g,b] 0-1"
        },
        "specularMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "specularMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "specularMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "specularMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "specularMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "specularMapRotation": {
          "type": "number"
        },
        "specularAntialias": {
          "type": "boolean"
        },
        "specularTint": {
          "type": "boolean"
        },
        "specularVertexColor": {
          "type": "boolean"
        },
        "specularVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "occludeSpecular": {
          "type": "integer",
          "minimum": 0,
          "maximum": 2
        },
        "specularityFactor": {
          "type": "number"
        },
        "specularityFactorMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "specularityFactorMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "specularityFactorMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "specularityFactorMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "specularityFactorMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "specularityFactorMapRotation": {
          "type": "number"
        },
        "specularityFactorTint": {
          "type": "boolean"
        },
        "specularityFactorVertexColor": {
          "type": "boolean"
        },
        "specularityFactorVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "enableGGXSpecular": {
          "type": "boolean"
        },
        "anisotropy": {
          "type": "number",
          "minimum": -1,
          "maximum": 1
        },
        "useMetalness": {
          "type": "boolean"
        },
        "metalness": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "metalnessMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "metalnessMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "metalnessMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "metalnessMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "metalnessMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "metalnessMapRotation": {
          "type": "number"
        },
        "metalnessVertexColor": {
          "type": "boolean"
        },
        "metalnessVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "useMetalnessSpecularColor": {
          "type": "boolean"
        },
        "conserveEnergy": {
          "type": "boolean"
        },
        "shininess": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "glossMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "glossMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "glossMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "glossMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "glossMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "glossMapRotation": {
          "type": "number"
        },
        "glossVertexColor": {
          "type": "boolean"
        },
        "glossVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "glossInvert": {
          "type": "boolean"
        },
        "clearCoat": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "clearCoatMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "clearCoatMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "clearCoatMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "clearCoatMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "clearCoatMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "clearCoatMapRotation": {
          "type": "number"
        },
        "clearCoatVertexColor": {
          "type": "boolean"
        },
        "clearCoatVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "clearCoatGloss": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "clearCoatGlossMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "clearCoatGlossMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "clearCoatGlossMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "clearCoatGlossMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "clearCoatGlossMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "clearCoatGlossMapRotation": {
          "type": "number"
        },
        "clearCoatGlossVertexColor": {
          "type": "boolean"
        },
        "clearCoatGlossVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "clearCoatGlossInvert": {
          "type": "boolean"
        },
        "clearCoatNormalMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "clearCoatNormalMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "clearCoatNormalMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "clearCoatNormalMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "clearCoatNormalMapRotation": {
          "type": "number"
        },
        "useSheen": {
          "type": "boolean"
        },
        "sheen": {
          "$ref": "#/properties/properties/properties/ambient",
          "description": "RGB color [r,g,b] 0-1"
        },
        "sheenMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "sheenMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "sheenMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "sheenMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "sheenMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "sheenMapRotation": {
          "type": "number"
        },
        "sheenVertexColor": {
          "type": "boolean"
        },
        "sheenVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "sheenGloss": {
          "type": "number"
        },
        "sheenGlossMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "sheenGlossMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "sheenGlossMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "sheenGlossMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "sheenGlossMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "sheenGlossMapRotation": {
          "type": "number"
        },
        "sheenGlossVertexColor": {
          "type": "boolean"
        },
        "sheenGlossVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "sheenGlossInvert": {
          "type": "boolean"
        },
        "emissive": {
          "$ref": "#/properties/properties/properties/ambient",
          "description": "RGB color [r,g,b] 0-1"
        },
        "emissiveMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "emissiveMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "emissiveMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "emissiveMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "emissiveMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "emissiveMapRotation": {
          "type": "number"
        },
        "emissiveIntensity": {
          "type": "number",
          "minimum": 0,
          "maximum": 10
        },
        "emissiveVertexColor": {
          "type": "boolean"
        },
        "emissiveVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "normalMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "normalMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "normalMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "normalMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "normalMapRotation": {
          "type": "number"
        },
        "bumpMapFactor": {
          "type": "number"
        },
        "useDynamicRefraction": {
          "type": "boolean"
        },
        "refraction": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "refractionMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "refractionMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "refractionMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "refractionMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "refractionMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "refractionMapRotation": {
          "type": "number"
        },
        "refractionVertexColor": {
          "type": "boolean"
        },
        "refractionVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "refractionIndex": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "dispersion": {
          "type": "number",
          "minimum": 0,
          "maximum": 10
        },
        "thickness": {
          "type": "number"
        },
        "thicknessMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "thicknessMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "thicknessMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "thicknessMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "thicknessMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "thicknessMapRotation": {
          "type": "number"
        },
        "thicknessVertexColor": {
          "type": "boolean"
        },
        "thicknessVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "attenuation": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "minItems": 3,
          "maxItems": 3
        },
        "attenuationDistance": {
          "type": "number"
        },
        "useIridescence": {
          "type": "boolean"
        },
        "iridescence": {
          "type": "number"
        },
        "iridescenceMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "iridescenceMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "iridescenceMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "iridescenceMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "iridescenceMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "iridescenceMapRotation": {
          "type": "number"
        },
        "iridescenceRefractionIndex": {
          "type": "number"
        },
        "iridescenceThicknessMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "iridescenceThicknessMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "iridescenceThicknessMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "iridescenceThicknessMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "iridescenceThicknessMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "iridescenceThicknessMapRotation": {
          "type": "number"
        },
        "iridescenceThicknessMin": {
          "type": "number"
        },
        "iridescenceThicknessMax": {
          "type": "number"
        },
        "heightMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "heightMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "heightMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "heightMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "heightMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "heightMapRotation": {
          "type": "number"
        },
        "heightMapFactor": {
          "type": "number",
          "minimum": 0,
          "maximum": 2
        },
        "alphaToCoverage": {
          "type": "boolean"
        },
        "alphaTest": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "alphaFade": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "opacity": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "opacityMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "opacityMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "opacityMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "opacityMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "opacityMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "opacityMapRotation": {
          "type": "number"
        },
        "opacityVertexColor": {
          "type": "boolean"
        },
        "opacityVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "opacityFadesSpecular": {
          "type": "boolean"
        },
        "opacityDither": {
          "type": "string",
          "enum": [
            "none",
            "bayer8",
            "bluenoise",
            "ignnoise"
          ]
        },
        "opacityShadowDither": {
          "type": "string",
          "enum": [
            "none",
            "bayer8",
            "bluenoise",
            "ignnoise"
          ]
        },
        "reflectivity": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "sphereMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "cubeMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "cubeMapProjection": {
          "type": "integer",
          "minimum": 0,
          "maximum": 1
        },
        "cubeMapProjectionBox": {
          "type": "object",
          "properties": {
            "center": {
              "type": "array",
              "items": {
                "type": "number"
              },
              "minItems": 3,
              "maxItems": 3,
              "description": "[x,y,z]"
            },
            "halfExtents": {
              "$ref": "#/properties/properties/properties/cubeMapProjectionBox/properties/center"
            }
          },
          "required": [
            "center",
            "halfExtents"
          ],
          "additionalProperties": false
        },
        "lightMap": {
          "$ref": "#/properties/properties/properties/aoMap",
          "description": "Nullable asset reference"
        },
        "lightMapChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "lightMapUv": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "lightMapTiling": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "lightMapOffset": {
          "$ref": "#/properties/properties/properties/aoMapTiling",
          "description": "[x,y]"
        },
        "lightMapRotation": {
          "type": "number"
        },
        "lightVertexColor": {
          "type": "boolean"
        },
        "lightVertexColorChannel": {
          "type": "string",
          "enum": [
            "r",
            "g",
            "b",
            "a",
            "rgb"
          ]
        },
        "depthTest": {
          "type": "boolean"
        },
        "depthWrite": {
          "type": "boolean"
        },
        "depthBias": {
          "type": "number"
        },
        "slopeDepthBias": {
          "type": "number"
        },
        "cull": {
          "type": "integer",
          "minimum": 0,
          "maximum": 3
        },
        "blendType": {
          "type": "integer",
          "minimum": 0,
          "maximum": 10
        },
        "useFog": {
          "type": "boolean"
        },
        "useLighting": {
          "type": "boolean"
        },
        "useSkybox": {
          "type": "boolean"
        },
        "useTonemap": {
          "type": "boolean"
        },
        "twoSidedLighting": {
          "type": "boolean"
        }
      },
      "additionalProperties": true,
      "description": "Material properties to set (only included fields are changed)"
    }
  },
  "required": [
    "assetId",
    "properties"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Set Material Properties",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
set_primary_buildSet a completed publish build as the project primary build.
Input schema
{
  "type": "object",
  "properties": {
    "buildId": {
      "type": "integer",
      "exclusiveMinimum": 0
    }
  },
  "required": [
    "buildId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Set Primary Build",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
set_script_textOverwrite the source code of an existing script asset. Provide the full file contents in text. After changing the code, call script_parse so the editor re-reads the script's name and attributes. When NOT to use: to attach a script to an entity (use attach_script) or to create the script asset itself (use create_assets type="script").
Input schema
{
  "type": "object",
  "properties": {
    "assetId": {
      "type": "number",
      "description": "Script asset id"
    },
    "text": {
      "type": "string",
      "description": "Full JavaScript/TypeScript source of the script"
    }
  },
  "required": [
    "assetId",
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Set Script Text",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
set_selectionReplace the editor's selection with the given entities or assets. Selecting shows them in the inspector and highlights them in the viewport/tree. Pass type "entity" (ids are resource_ids) or "asset" (ids are numbers). An empty ids array clears the selection. When NOT to use: to modify the selected items (use modify_entities) or to frame them in the viewport (use focus_viewport).
Input schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "entity",
        "asset"
      ],
      "description": "What kind of items the ids refer to"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": [
          "number",
          "string"
        ]
      },
      "description": "Ids to select (entity resource_ids or asset ids); empty clears the selection"
    }
  },
  "required": [
    "type",
    "ids"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Set Selection",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
set_transform_gizmoSet the viewport transform gizmo: mode (translate/rotate/scale/resize), coordinate space (world/local), and/or snapping. Only the provided fields change. Returns the resulting { mode, space }. When NOT to use: to actually move/rotate/scale an entity (use modify_entities on its transform).
Input schema
{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "translate",
        "rotate",
        "scale",
        "resize"
      ],
      "description": "Transform gizmo mode"
    },
    "space": {
      "type": "string",
      "enum": [
        "world",
        "local"
      ],
      "description": "Coordinate space the gizmo operates in"
    },
    "snap": {
      "type": "boolean",
      "description": "Enable or disable grid/angle snapping"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Set Transform Gizmo",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
set_viewport_stateSet the editor viewport camera transform, projection, grid, bones, icon size, and expanded state. This controls the editor view, not an entity's persisted enabled state.
Input schema
{
  "type": "object",
  "properties": {
    "cameraId": {
      "type": "string",
      "description": "Editor camera name (perspective/top/front/etc.) or camera entity resource_id"
    },
    "position": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "minItems": 3,
      "maxItems": 3
    },
    "rotation": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "minItems": 3,
      "maxItems": 3
    },
    "projection": {
      "type": "string",
      "enum": [
        "perspective",
        "orthographic"
      ]
    },
    "orthoHeight": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "grid": {
      "type": "object",
      "properties": {
        "divisions": {
          "type": "integer",
          "minimum": 0
        },
        "size": {
          "type": "number",
          "minimum": 0
        }
      },
      "additionalProperties": false
    },
    "bones": {
      "type": "boolean"
    },
    "iconSize": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "expanded": {
      "type": "boolean"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Set Viewport State",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
set_viewport_visibilityHide or show entities only in the editor viewport without changing their persisted enabled values.
Input schema
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "description": "Entity ID"
      },
      "minItems": 1
    },
    "hidden": {
      "type": "boolean"
    }
  },
  "required": [
    "ids",
    "hidden"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Set Viewport Visibility",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
sketchfab_getGet a Sketchfab model by uid.
Input schema
{
  "type": "object",
  "properties": {
    "uid": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "uid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Sketchfab Model",
  "readOnlyHint": true,
  "openWorldHint": true
}
sketchfab_importImport a downloadable Sketchfab model into the current project.
Input schema
{
  "type": "object",
  "properties": {
    "uid": {
      "type": "string",
      "minLength": 1
    },
    "name": {
      "type": "string",
      "minLength": 1
    },
    "license": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "author": {
          "type": "string",
          "minLength": 1
        },
        "authorUrl": {
          "type": "string",
          "format": "uri"
        }
      },
      "required": [
        "id",
        "author",
        "authorUrl"
      ],
      "additionalProperties": false
    },
    "folder": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Asset ID"
    }
  },
  "required": [
    "uid",
    "name",
    "license"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Import Sketchfab Model",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
sketchfab_searchSearch downloadable Sketchfab models.
Input schema
{
  "type": "object",
  "properties": {
    "search": {
      "type": "string"
    },
    "order": {
      "type": "string"
    },
    "cursor": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 24
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Search Sketchfab",
  "readOnlyHint": true,
  "openWorldHint": true
}
start_mergeStart merging a source branch into the CURRENT branch (the destination is always the branch the editor is on). Waits for the auto-merge to finish and returns the merge ({ id, mergeProgressStatus, conflicts, numConflicts }). If conflicts is non-empty, resolve them with resolve_conflicts, then apply_merge. Does not reload the editor. When NOT to use: to inspect an in-progress merge (use get_merge).
Input schema
{
  "type": "object",
  "properties": {
    "sourceBranchId": {
      "type": "string",
      "description": "Id of the branch to merge into the current branch (from list_branches)"
    },
    "closeSource": {
      "type": "boolean",
      "description": "Close the source branch after the merge is finalized (default false)"
    }
  },
  "required": [
    "sourceBranchId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Start Merge",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
store_downloadClone/import a public store asset into the current project. Requires the license fields returned by store_get. Reaches an external service over the network and adds new assets to the project. When NOT to use: for assets already in the project.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Store asset id (from store_search)"
    },
    "name": {
      "type": "string",
      "description": "Name for the imported asset"
    },
    "license": {
      "type": "object",
      "properties": {
        "author": {
          "type": "string"
        },
        "authorUrl": {
          "type": "string",
          "format": "uri"
        },
        "license": {
          "type": "string"
        }
      },
      "required": [
        "author",
        "authorUrl",
        "license"
      ],
      "additionalProperties": false,
      "description": "License info from store_get"
    },
    "folder": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Asset ID"
    }
  },
  "required": [
    "id",
    "name",
    "license"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Download Store Asset",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
store_getGet full details (including license info needed to download) for a single public store asset by id. Reaches an external service over the network. When NOT to use: to fetch a project-local asset (use list_assets).
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Store asset id (from store_search)"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Get Store Asset",
  "readOnlyHint": true,
  "openWorldHint": true
}
store_searchSearch the public PlayCanvas asset store by keyword. Results are paginated via skip + limit. Reaches an external service over the network. Use store_get for full details of a result, then store_download to import it. When NOT to use: to search assets already in this project (use list_assets).
Input schema
{
  "type": "object",
  "properties": {
    "search": {
      "type": "string",
      "description": "Search keywords"
    },
    "order": {
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ],
      "description": "Sort order"
    },
    "skip": {
      "type": "integer",
      "minimum": 0,
      "description": "Number of results to skip (pagination)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "description": "Max results to return"
    }
  },
  "required": [
    "search"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Search Store",
  "readOnlyHint": true,
  "openWorldHint": true
}
switch_branchSwitch (checkout) the editor to an existing branch by its id (from list_branches). This RELOADS the editor; the tool waits for it to reconnect and returns the resulting vcs_status on the target branch. When NOT to use: to create a new branch (use create_branch).
Input schema
{
  "type": "object",
  "properties": {
    "branchId": {
      "type": "string",
      "description": "Id of the branch to switch to (the \"id\" field from list_branches)"
    }
  },
  "required": [
    "branchId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Switch Branch",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
undoUndo the last edit in the editor. Returns whether anything was undone plus the resulting { canUndo, canRedo } state. Use this to roll back a change you just made. When NOT to use: to switch scenes (use load_scene).
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "Undo",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
unlink_template_instancesUnlink template instances while keeping their current entity data.
Input schema
{
  "type": "object",
  "properties": {
    "entityIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "description": "Entity ID"
      },
      "minItems": 1
    }
  },
  "required": [
    "entityIds"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Unlink Template Instances",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
unwrap_model_assetGenerate UV1 data for a model asset using the editor's unwrap worker and update its source file.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Model asset id"
    },
    "padding": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "UV island padding in pixels (default 2)"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Unwrap Model Asset",
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
upload_assetsUpload local files into the designated project, or replace an existing asset source by providing its id. Files are limited to 512 MiB each; the result separates succeeded and failed entries.
Input schema
{
  "type": "object",
  "properties": {
    "assets": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "Existing asset id whose source file should be replaced"
          },
          "path": {
            "type": "string",
            "minLength": 1,
            "description": "Local file path"
          },
          "type": {
            "type": "string",
            "enum": [
              "animation",
              "audio",
              "binary",
              "css",
              "font",
              "gsplat",
              "html",
              "json",
              "scene",
              "script",
              "shader",
              "text",
              "texture",
              "textureatlas",
              "wasm"
            ],
            "description": "PlayCanvas import type; use scene for model source files such as GLB or FBX"
          },
          "folder": {
            "$ref": "#/properties/assets/items/properties/id",
            "description": "Asset ID"
          },
          "name": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "data": {
            "type": "object",
            "additionalProperties": {}
          },
          "preload": {
            "type": "boolean"
          },
          "mime": {
            "type": "string"
          },
          "settings": {
            "type": "object",
            "properties": {
              "pow2": {
                "type": "boolean"
              },
              "searchRelatedAssets": {
                "type": "boolean"
              },
              "overwriteModel": {
                "type": "boolean"
              },
              "overwriteAnimation": {
                "type": "boolean"
              },
              "overwriteMaterial": {
                "type": "boolean"
              },
              "overwriteTexture": {
                "type": "boolean"
              },
              "preserveMapping": {
                "type": "boolean"
              },
              "useGlb": {
                "type": "boolean"
              },
              "animSampleRate": {
                "type": "number"
              },
              "animCurveTolerance": {
                "type": "number"
              },
              "animEnableCubic": {
                "type": "boolean"
              },
              "animUseFbxFilename": {
                "type": "boolean"
              },
              "useContainers": {
                "type": "boolean"
              },
              "meshCompression": {
                "type": "string",
                "enum": [
                  "none",
                  "draco"
                ]
              },
              "dracoDecodeSpeed": {
                "type": "number"
              },
              "dracoMeshSize": {
                "type": "number"
              },
              "unwrapUv": {
                "type": "boolean"
              },
              "unwrapUvTexelsPerMeter": {
                "type": "number"
              },
              "importMorphNormals": {
                "type": "boolean"
              },
              "useUniqueIndices": {
                "type": "boolean"
              }
            },
            "additionalProperties": false,
            "description": "Per-upload texture or scene import overrides; saved defaults are under projectUser editor.pipeline settings"
          }
        },
        "required": [
          "path",
          "type"
        ],
        "additionalProperties": false
      },
      "minItems": 1
    }
  },
  "required": [
    "assets"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Upload Assets",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": false
}
vcs_statusRead the current version-control state: the active branch ({ id, name, latestCheckpointId }), the projectId, and whether a merge is in progress. Use this to confirm which branch you are on, especially after create_branch/switch_branch/restore_checkpoint/hard_reset_checkpoint (which reload the editor). When NOT to use: to list branches (use list_branches) or checkpoints (use list_checkpoints).
Input schema
{
  "type": "object",
  "properties": {}
}
Annotations
{
  "title": "VCS Status",
  "readOnlyHint": true,
  "openWorldHint": false
}

Resources 0

Resource templates 0

Prompts 0

Changes from previous version

No completed comparison is available.

RiskChangeSubject
No material changes recorded.

Confirmed vulnerabilities

SeverityFindingAdvisory
No confirmed vulnerability is published for this version.

Provenance

Artifact SHA-256: 70fda65813f142793bc1e73dc79baf9188ce5cb28bc16d57b952de155952a5d2

Scanner: mcp-proof-engine 0.1.0.

Let’s talk about MCP security.

Share your details and our security team will contact you.