{
  "unity_create_gameobject": {
    "title": "Create GameObject",
    "description": "Create a new GameObject in Unity scene. Note: Auto-retries on connection failure during Unity recompilation.",
    "category": "GameObject",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the GameObject",
          "type": "string"
        },
        "type": {
          "description": "Type of primitive to create",
          "default": "empty",
          "type": "string",
          "enum": [
            "empty",
            "cube",
            "sphere",
            "cylinder",
            "plane",
            "capsule",
            "quad"
          ]
        },
        "parent": {
          "description": "Parent GameObject name",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_update_gameobject": {
    "title": "Update GameObject",
    "description": "Update properties of an existing GameObject",
    "category": "GameObject",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the GameObject",
          "type": "string"
        },
        "newName": {
          "description": "New name to rename the GameObject to",
          "type": "string"
        },
        "active": {
          "description": "Whether the GameObject is active in the scene",
          "type": "boolean"
        },
        "tag": {
          "description": "Tag name to assign (e.g., \"Player\", \"Enemy\", \"Untagged\")",
          "type": "string"
        },
        "layer": {
          "description": "Layer index (0-31) to assign to the GameObject",
          "type": "number"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_delete_gameobject": {
    "title": "Delete GameObject",
    "description": "Delete a GameObject from the scene",
    "category": "GameObject",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the GameObject to delete",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_instantiate_prefab": {
    "title": "Instantiate Prefab",
    "description": "Instantiate a prefab or FBX asset from the project into the scene. Supports any asset path including .prefab and .fbx files.",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "assetPath": {
          "description": "Full asset path (e.g., \"Assets/Prefabs/Player.prefab\" or \"Assets/Models/Chair.fbx\")",
          "type": "string"
        },
        "name": {
          "description": "Name for the instantiated GameObject (defaults to asset name)",
          "type": "string"
        },
        "parent": {
          "description": "Parent GameObject name",
          "type": "string"
        }
      },
      "required": [
        "assetPath"
      ]
    },
    "embedding": null
  },
  "unity_set_transform": {
    "title": "Set Transform",
    "description": "Set position, rotation, and scale of a GameObject",
    "category": "Transform",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObject": {
          "description": "GameObject name",
          "type": "string"
        }
      },
      "required": [
        "gameObject"
      ]
    },
    "embedding": null
  },
  "unity_add_component": {
    "title": "Add Component",
    "description": "Add a component to a GameObject",
    "category": "GameObject",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObject": {
          "description": "GameObject name",
          "type": "string"
        },
        "component": {
          "description": "Component type (e.g., Rigidbody, BoxCollider)",
          "type": "string"
        }
      },
      "required": [
        "gameObject",
        "component"
      ]
    },
    "embedding": null
  },
  "unity_update_component": {
    "title": "Update Component",
    "description": "Update component properties. Use gameObject for target object name and component for component type.",
    "category": "GameObject",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObject": {
          "description": "GameObject name",
          "type": "string"
        },
        "gameObjectName": {
          "description": "GameObject name (alias)",
          "type": "string"
        },
        "component": {
          "description": "Component type",
          "type": "string"
        },
        "componentName": {
          "description": "Component type (alias)",
          "type": "string"
        },
        "properties": {
          "description": "Properties to update (JSON object or string)",
          "type": "string"
        }
      },
      "required": [
        "properties"
      ]
    },
    "embedding": null
  },
  "unity_create_ui": {
    "title": "Create UI Element",
    "description": "Create UI elements in Unity",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "type": {
          "description": "Type of UI element to create",
          "type": "string",
          "enum": [
            "Canvas",
            "Button",
            "Text",
            "Image",
            "Slider",
            "Toggle",
            "InputField",
            "Panel"
          ]
        },
        "name": {
          "description": "Name for the new UI element",
          "type": "string"
        },
        "parent": {
          "description": "Parent GameObject name (typically a Canvas)",
          "type": "string"
        }
      },
      "required": [
        "type",
        "name"
      ]
    },
    "embedding": null
  },
  "unity_create_terrain": {
    "title": "Create Terrain",
    "description": "Create a terrain in Unity",
    "category": "Weather",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name for the new terrain GameObject",
          "type": "string"
        },
        "width": {
          "description": "Terrain width in world units (default 500)",
          "default": 500,
          "type": "number"
        },
        "height": {
          "description": "Maximum terrain height in world units (default 600)",
          "default": 600,
          "type": "number"
        },
        "length": {
          "description": "Terrain length in world units (default 500)",
          "default": 500,
          "type": "number"
        },
        "heightmapResolution": {
          "description": "Heightmap resolution in pixels (default 513, must be 2^n + 1)",
          "default": 513,
          "type": "number"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_modify_terrain": {
    "title": "Modify Terrain",
    "description": "Modify terrain height or textures",
    "category": "Weather",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the terrain GameObject to modify",
          "type": "string"
        },
        "operation": {
          "description": "Modification operation: raise heights, lower heights, flatten to a level, or smooth roughness",
          "type": "string",
          "enum": [
            "raise",
            "lower",
            "flatten",
            "smooth"
          ]
        },
        "radius": {
          "description": "Brush radius in world units (default 10)",
          "default": 10,
          "type": "number"
        },
        "strength": {
          "description": "Brush strength from 0 to 1 (default 0.5)",
          "default": 0.5,
          "type": "number"
        }
      },
      "required": [
        "name",
        "operation"
      ]
    },
    "embedding": null
  },
  "unity_setup_camera": {
    "title": "Setup Camera",
    "description": "Setup camera in the scene",
    "category": "Camera",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Camera GameObject name (default \"Main Camera\")",
          "default": "Main Camera",
          "type": "string"
        },
        "fieldOfView": {
          "description": "Vertical field of view in degrees (default 60)",
          "default": 60,
          "type": "number"
        },
        "cameraType": {
          "description": "Projection mode: Perspective for 3D depth, Orthographic for 2D/isometric (default Perspective)",
          "default": "Perspective",
          "type": "string",
          "enum": [
            "Perspective",
            "Orthographic"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_create_virtual_camera": {
    "title": "Create Cinemachine Virtual Camera",
    "description": "Create a Cinemachine Virtual Camera with follow and look at targets",
    "category": "Camera",
    "inputSchema": null,
    "embedding": null
  },
  "unity_create_freelook_camera": {
    "title": "Create Cinemachine FreeLook Camera",
    "description": "Create a Cinemachine FreeLook Camera for third-person orbiting. REQUIRED: \"follow\" parameter must specify an existing GameObject name in the scene. The target GameObject must exist before creating the camera. Example: unity_create_freelook_camera({name: \"PlayerCamera\", follow: \"Player\"}). Will fail if follow target does not exist.",
    "category": "Camera",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the FreeLook camera (required)",
          "type": "string"
        },
        "follow": {
          "description": "GameObject name to follow and orbit around (REQUIRED - must exist in scene before calling this tool)",
          "type": "string"
        },
        "lookAt": {
          "description": "GameObject to look at (defaults to follow target)",
          "type": "string"
        },
        "topRigHeight": {
          "description": "Top rig height offset",
          "default": 4.5,
          "type": "number"
        },
        "topRigRadius": {
          "description": "Top rig radius",
          "default": 1.75,
          "type": "number"
        },
        "middleRigHeight": {
          "description": "Middle rig height offset",
          "default": 2.5,
          "type": "number"
        },
        "middleRigRadius": {
          "description": "Middle rig radius",
          "default": 3,
          "type": "number"
        },
        "bottomRigHeight": {
          "description": "Bottom rig height offset",
          "default": 0.4,
          "type": "number"
        },
        "bottomRigRadius": {
          "description": "Bottom rig radius",
          "default": 1.3,
          "type": "number"
        },
        "xAxisSpeed": {
          "description": "Horizontal rotation speed",
          "default": 300,
          "type": "number"
        },
        "yAxisSpeed": {
          "description": "Vertical rotation speed",
          "default": 2,
          "type": "number"
        },
        "priority": {
          "description": "Camera priority",
          "default": 10,
          "type": "number"
        }
      },
      "required": [
        "name",
        "follow"
      ]
    },
    "embedding": null
  },
  "unity_setup_cinemachine_brain": {
    "title": "Setup Cinemachine Brain",
    "description": "Setup Cinemachine Brain on a camera (required for Cinemachine to work)",
    "category": "Cinemachine",
    "inputSchema": {
      "type": "object",
      "properties": {
        "camera": {
          "description": "Camera to add Brain to",
          "default": "Main Camera",
          "type": "string"
        },
        "blendStyle": {
          "description": "Default blend style",
          "default": "EaseInOut",
          "type": "string",
          "enum": [
            "Cut",
            "EaseInOut",
            "EaseIn",
            "EaseOut",
            "HardIn",
            "HardOut",
            "Linear"
          ]
        },
        "defaultBlendTime": {
          "description": "Default blend time in seconds",
          "default": 2,
          "type": "number"
        },
        "updateMethod": {
          "description": "Brain update method",
          "default": "SmartUpdate",
          "type": "string",
          "enum": [
            "FixedUpdate",
            "LateUpdate",
            "SmartUpdate"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_update_virtual_camera": {
    "title": "Update Virtual Camera Settings",
    "description": "Update settings of an existing Cinemachine Virtual Camera",
    "category": "Camera",
    "inputSchema": {
      "type": "object",
      "properties": {
        "camera": {
          "description": "Virtual camera name",
          "type": "string"
        },
        "priority": {
          "description": "New priority",
          "type": "number"
        },
        "follow": {
          "description": "New follow target",
          "type": "string"
        },
        "lookAt": {
          "description": "New look at target",
          "type": "string"
        },
        "fov": {
          "description": "New field of view",
          "type": "number"
        },
        "nearClipPlane": {
          "description": "Near clip plane distance",
          "type": "number"
        },
        "farClipPlane": {
          "description": "Far clip plane distance",
          "type": "number"
        },
        "dutch": {
          "description": "Camera roll/tilt angle in degrees",
          "type": "number"
        },
        "orthographic": {
          "description": "Use orthographic projection",
          "type": "boolean"
        },
        "orthographicSize": {
          "description": "Orthographic camera size",
          "type": "number"
        },
        "bodyType": {
          "description": "Body component type",
          "type": "string",
          "enum": [
            "Transposer",
            "FramingTransposer",
            "OrbitalTransposer",
            "HardLockToTarget",
            "DoNothing"
          ]
        },
        "aimType": {
          "description": "Aim component type",
          "type": "string",
          "enum": [
            "Composer",
            "GroupComposer",
            "POV",
            "SameAsFollowTarget",
            "HardLookAt",
            "DoNothing"
          ]
        },
        "noiseProfile": {
          "description": "Camera shake noise profile",
          "type": "string",
          "enum": [
            "6D Shake",
            "Handheld_normal",
            "Handheld_normal_mild",
            "Handheld_tele_mild",
            "Handheld_wide_mild"
          ]
        },
        "noiseAmplitude": {
          "description": "Noise amplitude/intensity (0-2)",
          "type": "number"
        },
        "noiseFrequency": {
          "description": "Noise frequency (0-2)",
          "type": "number"
        }
      },
      "required": [
        "camera"
      ]
    },
    "embedding": null
  },
  "unity_create_dolly_track": {
    "title": "Create Cinemachine Dolly Track",
    "description": "Create a Cinemachine Dolly Track with waypoints for camera path animation",
    "category": "Cinemachine",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the dolly track",
          "type": "string"
        },
        "looped": {
          "description": "Whether the path loops",
          "default": false,
          "type": "boolean"
        },
        "cameraName": {
          "description": "Virtual camera to attach to track",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_add_collider_extension": {
    "title": "Add Cinemachine Collider Extension",
    "description": "Add Collider Extension to Virtual Camera for obstacle avoidance",
    "category": "Physics",
    "inputSchema": {
      "type": "object",
      "properties": {
        "camera": {
          "description": "Virtual camera name",
          "type": "string"
        },
        "minimumDistanceFromTarget": {
          "description": "Minimum distance from follow target",
          "default": 0.2,
          "type": "number"
        },
        "avoidObstacles": {
          "description": "Enable obstacle avoidance",
          "default": true,
          "type": "boolean"
        },
        "distanceLimit": {
          "description": "Maximum raycast distance",
          "default": 10,
          "type": "number"
        },
        "smoothingTime": {
          "description": "Smoothing time for position changes",
          "default": 0,
          "type": "number"
        },
        "damping": {
          "description": "Damping for position changes",
          "default": 0,
          "type": "number"
        }
      },
      "required": [
        "camera"
      ]
    },
    "embedding": null
  },
  "unity_add_confiner_extension": {
    "title": "Add Cinemachine Confiner Extension",
    "description": "Add Confiner Extension to restrict camera movement within bounds",
    "category": "Cinemachine",
    "inputSchema": {
      "type": "object",
      "properties": {
        "camera": {
          "description": "Virtual camera name",
          "type": "string"
        },
        "boundingVolume": {
          "description": "GameObject with Collider defining the bounds",
          "type": "string"
        },
        "confineMode": {
          "description": "3D or 2D confine mode",
          "default": "Confine3D",
          "type": "string",
          "enum": [
            "Confine3D",
            "Confine2D"
          ]
        },
        "damping": {
          "description": "Damping for confinement",
          "default": 0,
          "type": "number"
        }
      },
      "required": [
        "camera",
        "boundingVolume"
      ]
    },
    "embedding": null
  },
  "unity_create_state_driven_camera": {
    "title": "Create Cinemachine State-Driven Camera",
    "description": "Create a State-Driven Camera that switches based on Animator state",
    "category": "Camera",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the State-Driven camera",
          "type": "string"
        },
        "animatedTarget": {
          "description": "GameObject with Animator component",
          "type": "string"
        },
        "layerIndex": {
          "description": "Animator layer index",
          "default": 0,
          "type": "number"
        },
        "follow": {
          "description": "GameObject to follow",
          "type": "string"
        },
        "lookAt": {
          "description": "GameObject to look at",
          "type": "string"
        },
        "priority": {
          "description": "Camera priority",
          "default": 10,
          "type": "number"
        }
      },
      "required": [
        "name",
        "animatedTarget"
      ]
    },
    "embedding": null
  },
  "unity_create_clear_shot_camera": {
    "title": "Create Cinemachine Clear Shot Camera",
    "description": "Create a Clear Shot Camera for dynamic shot selection with obstacle avoidance",
    "category": "Camera",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the Clear Shot camera",
          "type": "string"
        },
        "follow": {
          "description": "GameObject to follow",
          "type": "string"
        },
        "lookAt": {
          "description": "GameObject to look at",
          "type": "string"
        },
        "priority": {
          "description": "Camera priority",
          "default": 10,
          "type": "number"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_create_impulse_source": {
    "title": "Create Cinemachine Impulse Source",
    "description": "Create an Impulse Source for triggering camera shake effects",
    "category": "Cinemachine",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObject": {
          "description": "Name of the GameObject to add Impulse Source to",
          "type": "string"
        },
        "amplitudeGain": {
          "description": "Impulse amplitude gain",
          "default": 1,
          "type": "number"
        },
        "frequencyGain": {
          "description": "Impulse frequency gain",
          "default": 1,
          "type": "number"
        },
        "impulseDuration": {
          "description": "Duration of the impulse in seconds",
          "default": 0.2,
          "type": "number"
        },
        "defaultVelocity": {
          "description": "Default velocity as \"x,y,z\"",
          "default": "0,0,0",
          "type": "string"
        }
      },
      "required": [
        "gameObject"
      ]
    },
    "embedding": null
  },
  "unity_add_impulse_listener": {
    "title": "Add Cinemachine Impulse Listener",
    "description": "Add an Impulse Listener extension to a virtual camera to receive shake effects",
    "category": "Cinemachine",
    "inputSchema": {
      "type": "object",
      "properties": {
        "camera": {
          "description": "Name of the Virtual Camera to add listener to",
          "type": "string"
        },
        "gain": {
          "description": "Overall gain for impulse reaction",
          "default": 1,
          "type": "number"
        },
        "amplitudeGain": {
          "description": "Amplitude gain for reaction",
          "default": 1,
          "type": "number"
        },
        "frequencyGain": {
          "description": "Frequency gain for reaction",
          "default": 1,
          "type": "number"
        }
      },
      "required": [
        "camera"
      ]
    },
    "embedding": null
  },
  "unity_create_blend_list_camera": {
    "title": "Create Cinemachine Blend List Camera",
    "description": "Create a Blend List Camera that manages a prioritized list of child virtual cameras",
    "category": "Camera",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the Blend List camera",
          "default": "CM BlendList",
          "type": "string"
        },
        "priority": {
          "description": "Camera priority",
          "default": 10,
          "type": "number"
        },
        "follow": {
          "description": "GameObject to follow",
          "type": "string"
        },
        "lookAt": {
          "description": "GameObject to look at",
          "type": "string"
        },
        "loop": {
          "description": "Loop through child cameras",
          "default": false,
          "type": "boolean"
        },
        "showDebugText": {
          "description": "Show debug information",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_target_group": {
    "title": "Create Cinemachine Target Group",
    "description": "Create a Target Group for managing multiple camera targets with automatic framing",
    "category": "Cinemachine",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the Target Group",
          "default": "CM TargetGroup",
          "type": "string"
        },
        "positionMode": {
          "description": "Position calculation mode",
          "default": "GroupCenter",
          "type": "string",
          "enum": [
            "GroupCenter",
            "GroupAverage"
          ]
        },
        "rotationMode": {
          "description": "Rotation calculation mode",
          "default": "Manual",
          "type": "string",
          "enum": [
            "Manual",
            "GroupAverage"
          ]
        },
        "updateMethod": {
          "description": "Update method",
          "default": "Update",
          "type": "string",
          "enum": [
            "Update",
            "FixedUpdate",
            "LateUpdate"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_add_target_to_group": {
    "title": "Add Target to Cinemachine Target Group",
    "description": "Add a GameObject as a target to an existing Target Group",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetGroup": {
          "description": "Name of the Target Group",
          "type": "string"
        },
        "target": {
          "description": "Name of the GameObject to add as target",
          "type": "string"
        },
        "weight": {
          "description": "Target weight (influence on framing)",
          "default": 1,
          "type": "number"
        },
        "radius": {
          "description": "Target radius (bounding sphere)",
          "default": 1,
          "type": "number"
        }
      },
      "required": [
        "targetGroup",
        "target"
      ]
    },
    "embedding": null
  },
  "unity_set_camera_priority": {
    "title": "Set Cinemachine Camera Priority",
    "description": "Change the priority of a Cinemachine virtual camera",
    "category": "Camera",
    "inputSchema": {
      "type": "object",
      "properties": {
        "camera": {
          "description": "Name of the Cinemachine camera",
          "type": "string"
        },
        "priority": {
          "description": "New priority value (higher priority cameras take precedence)",
          "type": "number"
        }
      },
      "required": [
        "camera",
        "priority"
      ]
    },
    "embedding": null
  },
  "unity_set_camera_enabled": {
    "title": "Enable/Disable Cinemachine Camera",
    "description": "Enable or disable a Cinemachine virtual camera",
    "category": "Camera",
    "inputSchema": {
      "type": "object",
      "properties": {
        "camera": {
          "description": "Name of the Cinemachine camera",
          "type": "string"
        },
        "enabled": {
          "description": "Enable (true) or disable (false) the camera",
          "type": "boolean"
        }
      },
      "required": [
        "camera",
        "enabled"
      ]
    },
    "embedding": null
  },
  "unity_create_mixing_camera": {
    "title": "Create Cinemachine Mixing Camera",
    "description": "Create a Mixing Camera that blends multiple child cameras with weighted averaging",
    "category": "Camera",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the Mixing camera",
          "default": "CM MixingCamera",
          "type": "string"
        },
        "priority": {
          "description": "Camera priority",
          "default": 10,
          "type": "number"
        },
        "weight0": {
          "description": "Weight for child camera 0",
          "default": 1,
          "type": "number"
        },
        "weight1": {
          "description": "Weight for child camera 1",
          "default": 0,
          "type": "number"
        },
        "weight2": {
          "description": "Weight for child camera 2",
          "default": 0,
          "type": "number"
        },
        "weight3": {
          "description": "Weight for child camera 3",
          "default": 0,
          "type": "number"
        },
        "weight4": {
          "description": "Weight for child camera 4",
          "default": 0,
          "type": "number"
        },
        "weight5": {
          "description": "Weight for child camera 5",
          "default": 0,
          "type": "number"
        },
        "weight6": {
          "description": "Weight for child camera 6",
          "default": 0,
          "type": "number"
        },
        "weight7": {
          "description": "Weight for child camera 7",
          "default": 0,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_update_camera_target": {
    "title": "Update Cinemachine Camera Target",
    "description": "Update Follow and/or LookAt targets of a Cinemachine camera",
    "category": "Camera",
    "inputSchema": {
      "type": "object",
      "properties": {
        "camera": {
          "description": "Name of the Cinemachine camera",
          "type": "string"
        },
        "follow": {
          "description": "New Follow target (empty string to clear)",
          "type": "string"
        },
        "lookAt": {
          "description": "New LookAt target (empty string to clear)",
          "type": "string"
        }
      },
      "required": [
        "camera"
      ]
    },
    "embedding": null
  },
  "unity_update_brain_blend_settings": {
    "title": "Update Cinemachine Brain Blend Settings",
    "description": "Update the default blend settings on the Cinemachine Brain",
    "category": "Cinemachine",
    "inputSchema": {
      "type": "object",
      "properties": {
        "defaultBlendTime": {
          "description": "Default blend duration in seconds",
          "type": "number"
        },
        "defaultBlendStyle": {
          "description": "Default blend curve style",
          "type": "string",
          "enum": [
            "Cut",
            "EaseInOut",
            "EaseIn",
            "EaseOut",
            "HardIn",
            "HardOut",
            "Linear"
          ]
        },
        "customBlendsAsset": {
          "description": "Path to custom blends asset",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_get_active_camera_info": {
    "title": "Get Active Cinemachine Camera Info",
    "description": "Get information about the currently active Cinemachine virtual camera",
    "category": "Camera",
    "inputSchema": null,
    "embedding": null
  },
  "unity_setup_lighting": {
    "title": "Setup Lighting",
    "description": "Setup lighting in the scene with extended options and presets",
    "category": "Lighting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "preset": {
          "description": "Predefined lighting preset that configures ambient, fog, and directional light to match a scene mood",
          "type": "string",
          "enum": [
            "studio",
            "sunset",
            "night",
            "overcast",
            "desert",
            "forest",
            "underwater",
            "space",
            "neon"
          ]
        },
        "ambientMode": {
          "description": "Ambient light source mode",
          "type": "string",
          "enum": [
            "skybox",
            "trilight",
            "flat",
            "custom"
          ]
        },
        "ambientIntensity": {
          "description": "Ambient light intensity (0-2)",
          "type": "number"
        },
        "ambientSkyColor": {
          "description": "Ambient sky color as hex",
          "type": "string"
        },
        "ambientEquatorColor": {
          "description": "Ambient equator color as hex",
          "type": "string"
        },
        "ambientGroundColor": {
          "description": "Ambient ground color as hex (trilight)",
          "type": "string"
        },
        "fogEnabled": {
          "description": "Enable scene fog rendering",
          "type": "boolean"
        },
        "fogMode": {
          "description": "Fog falloff mode",
          "type": "string",
          "enum": [
            "linear",
            "exponential",
            "exponentialsquared"
          ]
        },
        "fogColor": {
          "description": "Fog color as hex",
          "type": "string"
        },
        "fogDensity": {
          "description": "Fog density for exponential modes (0-1)",
          "type": "number"
        },
        "fogStartDistance": {
          "description": "Linear fog start distance",
          "type": "number"
        },
        "fogEndDistance": {
          "description": "Linear fog end distance",
          "type": "number"
        },
        "directionalLightIntensity": {
          "description": "Sun/directional light intensity (0-8)",
          "type": "number"
        },
        "directionalLightColor": {
          "description": "Directional light color as hex",
          "type": "string"
        },
        "directionalLightShadows": {
          "description": "Shadow type: none, hard, or soft",
          "type": "string",
          "enum": [
            "none",
            "hard",
            "soft"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_create_material": {
    "title": "Create Material",
    "description": "Create a new material",
    "category": "Material",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name for the new material asset",
          "type": "string"
        },
        "shader": {
          "description": "Shader name (default \"Standard\")",
          "default": "Standard",
          "type": "string"
        },
        "metallic": {
          "description": "Metallic value (0 dielectric to 1 metal)",
          "type": "number"
        },
        "smoothness": {
          "description": "Surface smoothness (0 rough to 1 mirror)",
          "type": "number"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_create_prefab": {
    "title": "Create Prefab",
    "description": "Create a prefab from a GameObject in the scene.",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObject": {
          "description": "Name of the GameObject in scene to convert to prefab",
          "type": "string"
        },
        "path": {
          "description": "Full save path including filename (e.g., \"Assets/Prefabs/UI/MyButton.prefab\"). ALWAYS specify a proper organized path.",
          "type": "string"
        }
      },
      "required": [
        "gameObject",
        "path"
      ]
    },
    "embedding": null
  },
  "unity_create_script": {
    "title": "Create Script",
    "description": "Scene management operations",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Script name without .cs extension",
          "type": "string"
        },
        "path": {
          "description": "Folder path (e.g., \"Assets/Scripts/Player/\"). Defaults to \"Assets/Synaptic_Generated/\"",
          "type": "string"
        },
        "template": {
          "description": "Script template: MonoBehaviour for components, ScriptableObject for assets, Empty for plain C# (default MonoBehaviour)",
          "default": "MonoBehaviour",
          "type": "string",
          "enum": [
            "MonoBehaviour",
            "ScriptableObject",
            "Empty"
          ]
        },
        "content": {
          "description": "Full script content. If not provided, generates template based on template type",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_manage_scene": {
    "title": "Manage Scene",
    "description": "Scene management operations",
    "category": "Scene",
    "inputSchema": {
      "type": "object",
      "properties": {
        "operation": {
          "description": "Scene operation: save current scene, load from path, or create new empty scene",
          "type": "string",
          "enum": [
            "save",
            "load",
            "new"
          ]
        },
        "path": {
          "description": "Scene file path (e.g., \"Assets/Scenes/Main.unity\"), required for save/load",
          "type": "string"
        }
      },
      "required": [
        "operation"
      ]
    },
    "embedding": null
  },
  "unity_load_scene": {
    "title": "Load Scene",
    "description": "🎬 Load a scene in Editor mode. Supports Single (replace current) or Additive (load alongside current) modes. Can load by path or name.",
    "category": "Scene",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scenePath": {
          "description": "Scene path (e.g., Assets/Scenes/Game.unity)",
          "type": "string"
        },
        "sceneName": {
          "description": "Scene name (e.g., Game) - will search in Assets",
          "type": "string"
        },
        "mode": {
          "description": "Load mode: Single (replace) or Additive (add)",
          "default": "Single",
          "type": "string",
          "enum": [
            "Single",
            "Additive"
          ]
        },
        "setActive": {
          "description": "Set as active scene after loading (Additive mode only)",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_unload_scene": {
    "title": "Unload Scene",
    "description": "🗑️ Unload a scene from the Editor. Useful for managing multi-scene setups. Cannot unload the last remaining scene.",
    "category": "Scene",
    "inputSchema": {
      "type": "object",
      "properties": {
        "sceneName": {
          "description": "Name of the scene to unload",
          "type": "string"
        },
        "removeUnsavedChanges": {
          "description": "Remove without saving changes",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "sceneName"
      ]
    },
    "embedding": null
  },
  "unity_set_active_scene": {
    "title": "Set Active Scene",
    "description": "⭐ Set the active scene in multi-scene editing. The active scene is where new GameObjects are created by default.",
    "category": "GameObject",
    "inputSchema": {
      "type": "object",
      "properties": {
        "sceneName": {
          "description": "Name of the scene to set as active",
          "type": "string"
        }
      },
      "required": [
        "sceneName"
      ]
    },
    "embedding": null
  },
  "unity_list_all_scenes": {
    "title": "List All Scenes",
    "description": "📋 List all scene files in the project. Returns scene paths, names, and build settings info. Supports filtering and sorting.",
    "category": "Scene",
    "inputSchema": {
      "type": "object",
      "properties": {
        "includeInactive": {
          "description": "Include scenes not in build settings",
          "default": true,
          "type": "boolean"
        },
        "sortBy": {
          "description": "Sort order",
          "default": "name",
          "type": "string",
          "enum": [
            "name",
            "path",
            "buildIndex"
          ]
        },
        "searchPath": {
          "description": "Directory to search (e.g., Assets/Scenes)",
          "default": "Assets",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_add_scene_to_build": {
    "title": "Add Scene to Build Settings",
    "description": "⚙️ Add or remove scenes from Build Settings. Manage build order and enable/disable scenes.",
    "category": "Scene",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scenePath": {
          "description": "Scene path (e.g., Assets/Scenes/Game.unity)",
          "type": "string"
        },
        "operation": {
          "description": "Operation type",
          "default": "add",
          "type": "string",
          "enum": [
            "add",
            "remove",
            "enable",
            "disable"
          ]
        },
        "buildIndex": {
          "description": "Build index (for add operation, -1 = append)",
          "type": "number"
        }
      },
      "required": [
        "scenePath"
      ]
    },
    "embedding": null
  },
  "unity_create_animation": {
    "title": "Create Animation",
    "description": "Create animation for GameObject",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObject": {
          "description": "Target GameObject name to attach the Animator/Animation to",
          "type": "string"
        },
        "animationName": {
          "description": "Name for the new animation clip",
          "type": "string"
        },
        "duration": {
          "description": "Animation duration in seconds (default 1)",
          "default": 1,
          "type": "number"
        },
        "loop": {
          "description": "Whether the animation loops (default false)",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "gameObject",
        "animationName"
      ]
    },
    "embedding": null
  },
  "unity_setup_physics": {
    "title": "Setup Physics",
    "description": "Setup physics settings for a GameObject or global physics",
    "category": "Physics",
    "inputSchema": {
      "type": "object",
      "properties": {
        "target": {
          "description": "Target GameObject name (or \"global\" for global physics settings)",
          "type": "string"
        },
        "rigidbody": {
          "description": "Add Rigidbody component",
          "type": "boolean"
        },
        "mass": {
          "description": "Rigidbody mass",
          "type": "number"
        },
        "gravity": {
          "description": "Use gravity (bool), JSON string, or global gravity vector",
          "type": "string"
        },
        "collider": {
          "description": "Type of collider to add: box, sphere, capsule, mesh",
          "type": "string"
        },
        "defaultMaterial": {
          "description": "Default physics material path (e.g., \"Assets/Materials/Ice.physicMaterial\")",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_create_particle_system": {
    "title": "Create Particle System",
    "description": "Create a particle system with extended presets and customization options",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name for the new particle system GameObject",
          "type": "string"
        },
        "preset": {
          "description": "Predefined effect preset that auto-configures appearance and behavior",
          "type": "string",
          "enum": [
            "fire",
            "smoke",
            "sparkle",
            "rain",
            "explosion",
            "snow",
            "magic",
            "lightning",
            "tornado",
            "galaxy"
          ]
        },
        "lifetime": {
          "description": "Particle lifetime in seconds (0.1-10)",
          "type": "number"
        },
        "startSpeed": {
          "description": "Initial particle speed (0-100)",
          "type": "number"
        },
        "startSize": {
          "description": "Initial particle size (0.01-10)",
          "type": "number"
        },
        "emission": {
          "description": "Particles emitted per second (1-1000)",
          "type": "number"
        },
        "gravity": {
          "description": "Gravity modifier (-10 to 10, 0 = no gravity)",
          "type": "number"
        },
        "shape": {
          "description": "Emitter shape that determines particle spawn pattern",
          "type": "string",
          "enum": [
            "cone",
            "sphere",
            "box",
            "circle",
            "edge",
            "mesh"
          ]
        },
        "usePhysics": {
          "description": "Enable particle collision with scene physics",
          "type": "boolean"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_setup_material": {
    "title": "Setup Material",
    "description": "Create or modify materials with PBR properties and shaders",
    "category": "Material",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "GameObject to apply the material to",
          "type": "string"
        },
        "materialName": {
          "description": "Name for the material asset",
          "type": "string"
        },
        "shader": {
          "description": "Shader preset",
          "type": "string",
          "enum": [
            "Standard",
            "Unlit",
            "Toon",
            "Water",
            "Glass",
            "Hologram"
          ]
        },
        "color": {
          "description": "Base color as hex",
          "type": "string"
        },
        "metallic": {
          "description": "Metallic value (0 to 1)",
          "type": "number"
        },
        "smoothness": {
          "description": "Smoothness (0 to 1)",
          "type": "number"
        },
        "emission": {
          "description": "Enable emissive glow",
          "type": "boolean"
        },
        "emissionColor": {
          "description": "Emission color as hex",
          "type": "string"
        },
        "transparency": {
          "description": "Alpha (0 to 1)",
          "type": "number"
        },
        "normalMap": {
          "description": "Enable normal map slot",
          "type": "boolean"
        },
        "texture": {
          "description": "Albedo texture asset path",
          "type": "string"
        }
      },
      "required": [
        "targetObject"
      ]
    },
    "embedding": null
  },
  "unity_setup_navmesh": {
    "title": "Setup NavMesh",
    "description": "Setup navigation mesh",
    "category": "Physics",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentRadius": {
          "description": "NavMesh agent radius in meters (default 0.5)",
          "default": 0.5,
          "type": "number"
        },
        "agentHeight": {
          "description": "NavMesh agent height in meters (default 2.0)",
          "default": 2,
          "type": "number"
        },
        "maxSlope": {
          "description": "Maximum walkable slope in degrees (default 45)",
          "default": 45,
          "type": "number"
        },
        "stepHeight": {
          "description": "Maximum step height the agent can climb (default 0.4)",
          "default": 0.4,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_audio_mixer": {
    "title": "Create Audio Mixer",
    "description": "Create an audio mixer",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name for the new AudioMixer asset",
          "type": "string"
        },
        "groups": {
          "description": "Mixer group names to create (e.g., [\"Master\", \"Music\", \"SFX\"])",
          "type": "array"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_create_audio_source": {
    "title": "Create Audio Source",
    "description": "Create and configure an AudioSource component on a GameObject",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObject": {
          "description": "GameObject to attach the AudioSource to",
          "type": "string"
        },
        "audioClip": {
          "description": "Audio clip asset path",
          "type": "string"
        },
        "playOnAwake": {
          "description": "Play on scene start (default true)",
          "default": true,
          "type": "boolean"
        },
        "loop": {
          "description": "Loop the audio clip (default false)",
          "default": false,
          "type": "boolean"
        },
        "volume": {
          "description": "Volume level (0-1, default 1)",
          "default": 1,
          "type": "number"
        },
        "pitch": {
          "description": "Pitch multiplier (-3 to 3, default 1)",
          "default": 1,
          "type": "number"
        },
        "spatialMode": {
          "description": "2D non-positional or 3D spatial (default 3D)",
          "default": "3D",
          "type": "string",
          "enum": [
            "2D",
            "3D"
          ]
        },
        "minDistance": {
          "description": "Distance below which audio is full volume (default 1)",
          "default": 1,
          "type": "number"
        },
        "maxDistance": {
          "description": "Distance beyond which audio is silent (default 500)",
          "default": 500,
          "type": "number"
        }
      },
      "required": [
        "gameObject"
      ]
    },
    "embedding": null
  },
  "unity_setup_3d_audio": {
    "title": "Setup 3D Audio",
    "description": "Configure 3D spatial audio settings for an AudioSource",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "audioSource": {
          "description": "GameObject with the AudioSource to configure",
          "type": "string"
        },
        "dopplerLevel": {
          "description": "Doppler effect strength (0-5)",
          "default": 1,
          "type": "number"
        },
        "spread": {
          "description": "Stereo spread in degrees (0-360)",
          "default": 0,
          "type": "number"
        },
        "volumeRolloff": {
          "description": "Distance attenuation curve",
          "default": "Logarithmic",
          "type": "string",
          "enum": [
            "Logarithmic",
            "Linear",
            "Custom"
          ]
        },
        "minDistance": {
          "description": "Full volume distance",
          "default": 1,
          "type": "number"
        },
        "maxDistance": {
          "description": "Silence distance",
          "default": 500,
          "type": "number"
        },
        "customCurve": {
          "description": "Use custom rolloff curve",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "audioSource"
      ]
    },
    "embedding": null
  },
  "unity_create_audio_clip": {
    "title": "Create/Import Audio Clip",
    "description": "Import audio file or create procedural audio clip",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the audio clip asset to create or import",
          "type": "string"
        },
        "path": {
          "description": "Optional source file path to import the audio from",
          "type": "string"
        },
        "loadType": {
          "description": "How the audio clip is loaded into memory at runtime",
          "default": "DecompressOnLoad",
          "type": "string",
          "enum": [
            "DecompressOnLoad",
            "CompressedInMemory",
            "Streaming"
          ]
        },
        "compressionFormat": {
          "description": "Compression codec used for the imported audio data",
          "default": "Vorbis",
          "type": "string",
          "enum": [
            "PCM",
            "Vorbis",
            "ADPCM"
          ]
        },
        "quality": {
          "description": "Compression quality from 0 (lowest) to 1 (highest)",
          "default": 0.7,
          "type": "number"
        },
        "sampleRate": {
          "description": "Target sample rate in Hz for the audio clip",
          "default": 44100,
          "type": "number"
        },
        "forceToMono": {
          "description": "Whether to mix all channels down to a single mono channel",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_setup_audio_effects": {
    "title": "Setup Audio Effects",
    "description": "Add and configure audio effects (filters, reverb, echo, etc.)",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "audioSource": {
          "description": "Name or path of the target AudioSource GameObject to attach effects to",
          "type": "string"
        }
      },
      "required": [
        "audioSource"
      ]
    },
    "embedding": null
  },
  "unity_create_reverb_zones": {
    "title": "Create Reverb Zones",
    "description": "Create audio reverb zones for environmental effects",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the AudioReverbZone GameObject to create",
          "type": "string"
        },
        "position": {
          "description": "World-space position of the reverb zone center",
          "type": "object",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          }
        },
        "minDistance": {
          "description": "Inner radius in world units where full reverb is applied",
          "default": 10,
          "type": "number"
        },
        "maxDistance": {
          "description": "Outer radius in world units where reverb fades to zero",
          "default": 30,
          "type": "number"
        },
        "reverbPreset": {
          "description": "Unity AudioReverbPreset defining environmental reverb characteristics",
          "default": "Room",
          "type": "string",
          "enum": [
            "Off",
            "Generic",
            "Room",
            "Bathroom",
            "Cave",
            "Hallway",
            "Arena",
            "Forest",
            "Mountains",
            "Underwater"
          ]
        }
      },
      "required": [
        "name",
        "position"
      ]
    },
    "embedding": null
  },
  "unity_setup_audio_occlusion": {
    "title": "Setup Audio Occlusion",
    "description": "Configure audio occlusion for realistic sound blocking",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "audioSource": {
          "description": "Name of the AudioSource GameObject to apply occlusion to",
          "type": "string"
        },
        "enableOcclusion": {
          "description": "Whether occlusion calculations are active at runtime",
          "default": true,
          "type": "boolean"
        },
        "occlusionLayers": {
          "description": "Physics layer names that block or attenuate sound",
          "type": "array"
        },
        "maxOcclusionDistance": {
          "description": "Maximum raycast distance in world units used to detect occluders",
          "default": 50,
          "type": "number"
        },
        "occlusionDamping": {
          "description": "Volume attenuation factor applied per occluder from 0 to 1",
          "default": 0.5,
          "type": "number"
        }
      },
      "required": [
        "audioSource"
      ]
    },
    "embedding": null
  },
  "unity_create_adaptive_music": {
    "title": "Create Adaptive Music System",
    "description": "Create intro+loop music system with dynamic transitions",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the adaptive music system GameObject to create",
          "type": "string"
        },
        "bpm": {
          "description": "Tempo of the music in beats per minute used for synced transitions",
          "default": 120,
          "type": "number"
        },
        "beatsPerBar": {
          "description": "Number of beats per musical bar for bar-aligned transitions",
          "default": 4,
          "type": "number"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_setup_audio_triggers": {
    "title": "Setup Audio Triggers",
    "description": "Configure event-based audio triggers",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "triggerName": {
          "description": "Identifier for this audio trigger configuration",
          "type": "string"
        },
        "triggerType": {
          "description": "Type of Unity event that fires this trigger",
          "type": "string",
          "enum": [
            "OnEnter",
            "OnExit",
            "OnStay",
            "OnCollision",
            "OnAnimationEvent",
            "OnCustomEvent"
          ]
        },
        "targetGameObject": {
          "description": "GameObject in the scene that hosts the trigger collider or event",
          "type": "string"
        }
      },
      "required": [
        "triggerName",
        "triggerType",
        "targetGameObject"
      ]
    },
    "embedding": null
  },
  "unity_create_sound_pools": {
    "title": "Create Sound Pools",
    "description": "Create sound variation pools for dynamic audio",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "poolName": {
          "description": "Identifier for the sound pool asset",
          "type": "string"
        },
        "audioClips": {
          "description": "List of AudioClip asset names or paths to include in the pool",
          "type": "array"
        },
        "playbackMode": {
          "description": "Selection strategy used when picking the next clip to play",
          "default": "RandomNoRepeat",
          "type": "string",
          "enum": [
            "Random",
            "Sequential",
            "RandomNoRepeat",
            "Weighted"
          ]
        },
        "weights": {
          "description": "Per-clip probability weights when playbackMode is Weighted",
          "type": "array"
        },
        "pitchVariation": {
          "description": "Random pitch variation amount applied per playback",
          "default": 0,
          "type": "number"
        },
        "volumeVariation": {
          "description": "Random volume variation amount applied per playback",
          "default": 0,
          "type": "number"
        },
        "cooldownTime": {
          "description": "Minimum seconds between successive plays from this pool",
          "default": 0,
          "type": "number"
        }
      },
      "required": [
        "poolName",
        "audioClips"
      ]
    },
    "embedding": null
  },
  "unity_create_audio_mixing": {
    "title": "Create Dynamic Audio Mixing",
    "description": "Setup real-time audio mixing and ducking systems",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "mixerName": {
          "description": "Name of the AudioMixer asset to create",
          "type": "string"
        }
      },
      "required": [
        "mixerName"
      ]
    },
    "embedding": null
  },
  "unity_setup_spatial_audio": {
    "title": "Setup Spatial Audio",
    "description": "Configure advanced spatial audio for VR/AR",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "audioSource": {
          "description": "Name of the AudioSource GameObject to spatialize",
          "type": "string"
        },
        "spatializerPlugin": {
          "description": "Spatializer plugin used to render 3D audio",
          "default": "Unity",
          "type": "string",
          "enum": [
            "Unity",
            "Oculus",
            "SteamAudio",
            "Resonance"
          ]
        },
        "enableBinaural": {
          "description": "Whether to enable binaural HRTF rendering for headphones",
          "default": true,
          "type": "boolean"
        },
        "enableHeadTracking": {
          "description": "Whether to use head tracking data for VR/AR spatialization",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "audioSource"
      ]
    },
    "embedding": null
  },
  "unity_create_audio_visualization": {
    "title": "Create Audio Visualization",
    "description": "Create visual effects that react to audio",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "visualizerName": {
          "description": "Name of the audio visualizer GameObject to create",
          "type": "string"
        },
        "audioSource": {
          "description": "AudioSource GameObject whose output drives the visualization",
          "type": "string"
        },
        "visualizationType": {
          "description": "Audio analysis method used to drive the visuals",
          "type": "string",
          "enum": [
            "Spectrum",
            "Waveform",
            "BeatDetection",
            "VUMeter"
          ]
        },
        "targetObjects": {
          "description": "GameObjects whose properties are animated by the audio",
          "type": "array"
        },
        "frequencyBands": {
          "description": "Number of frequency bands sampled from the spectrum",
          "default": 64,
          "type": "number"
        },
        "sensitivity": {
          "description": "Multiplier applied to the analyzed audio amplitude",
          "default": 100,
          "type": "number"
        },
        "responseProperty": {
          "description": "Transform or material property animated in response to audio",
          "default": "Scale",
          "type": "string",
          "enum": [
            "Scale",
            "Position",
            "Rotation",
            "Color",
            "Emission"
          ]
        },
        "smoothing": {
          "description": "Temporal smoothing factor between 0 (none) and 1 (max)",
          "default": 0.5,
          "type": "number"
        }
      },
      "required": [
        "visualizerName",
        "audioSource",
        "visualizationType"
      ]
    },
    "embedding": null
  },
  "unity_setup_custom_input": {
    "title": "Setup Custom Input",
    "description": "Configure custom input actions and bindings",
    "category": "Input",
    "inputSchema": {
      "type": "object",
      "properties": {
        "actionName": {
          "description": "Name of the InputAction to register",
          "type": "string"
        },
        "bindingType": {
          "description": "Value type produced by the action",
          "default": "Button",
          "type": "string",
          "enum": [
            "Button",
            "Axis",
            "Vector2",
            "Vector3"
          ]
        },
        "actionMap": {
          "description": "InputActionMap that owns this action",
          "default": "Player",
          "type": "string"
        },
        "initialValue": {
          "description": "Optional initial value applied to the action on enable",
          "type": "string"
        }
      },
      "required": [
        "actionName"
      ]
    },
    "embedding": null
  },
  "unity_create_gesture_recognition": {
    "title": "Create Gesture Recognition",
    "description": "Setup gesture recognition for touch or motion input",
    "category": "Input",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gestureName": {
          "description": "Identifier for the gesture recognizer",
          "type": "string"
        },
        "gestureType": {
          "description": "Predefined gesture template to recognize",
          "type": "string",
          "enum": [
            "Swipe",
            "Circle",
            "Tap",
            "DoubleTap",
            "LongPress",
            "Pinch",
            "Rotate",
            "Custom"
          ]
        },
        "callbackEvent": {
          "description": "Name of the UnityEvent to invoke when the gesture is detected",
          "type": "string"
        }
      },
      "required": [
        "gestureName",
        "gestureType"
      ]
    },
    "embedding": null
  },
  "unity_setup_haptic_feedback": {
    "title": "Setup Haptic Feedback",
    "description": "Configure haptic/vibration feedback for mobile and controllers",
    "category": "Input",
    "inputSchema": {
      "type": "object",
      "properties": {
        "feedbackName": {
          "description": "Identifier for this haptic feedback preset",
          "type": "string"
        },
        "platform": {
          "description": "Target platform that receives the haptic signal",
          "default": "Both",
          "type": "string",
          "enum": [
            "Mobile",
            "Controller",
            "Both"
          ]
        },
        "feedbackType": {
          "description": "Predefined haptic intensity profile",
          "type": "string",
          "enum": [
            "Light",
            "Medium",
            "Heavy",
            "Success",
            "Warning",
            "Error",
            "Custom"
          ]
        },
        "duration": {
          "description": "Duration of the haptic pulse in seconds",
          "default": 0.1,
          "type": "number"
        },
        "intensity": {
          "description": "Strength of the haptic pulse from 0 to 1",
          "default": 1,
          "type": "number"
        },
        "pattern": {
          "description": "Custom pattern of on/off pulses in milliseconds",
          "type": "array"
        }
      },
      "required": [
        "feedbackName",
        "feedbackType"
      ]
    },
    "embedding": null
  },
  "unity_create_input_validation": {
    "title": "Create Input Validation",
    "description": "Create input validation system for text fields and forms",
    "category": "Input",
    "inputSchema": {
      "type": "object",
      "properties": {
        "validatorName": {
          "description": "Identifier for the input validator component",
          "type": "string"
        },
        "validationType": {
          "description": "Built-in validation rule applied to the field",
          "type": "string",
          "enum": [
            "Email",
            "Phone",
            "Number",
            "AlphaNumeric",
            "Custom",
            "CreditCard",
            "URL"
          ]
        },
        "customPattern": {
          "description": "Custom regex pattern used when validationType is Custom",
          "type": "string"
        },
        "minLength": {
          "description": "Minimum allowed input length in characters",
          "type": "number"
        },
        "maxLength": {
          "description": "Maximum allowed input length in characters",
          "type": "number"
        },
        "errorMessage": {
          "description": "Message shown to the user when validation fails",
          "type": "string"
        },
        "realTimeValidation": {
          "description": "Whether to validate as the user types",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "validatorName",
        "validationType"
      ]
    },
    "embedding": null
  },
  "unity_setup_accessibility_input": {
    "title": "Setup Accessibility Input",
    "description": "Configure accessibility features for input (screen readers, large buttons, etc)",
    "category": "Input",
    "inputSchema": {
      "type": "object",
      "properties": {
        "accessibilityName": {
          "description": "Identifier for this accessibility configuration",
          "type": "string"
        },
        "features": {
          "description": "List of accessibility features to enable",
          "type": "array"
        },
        "buttonScaling": {
          "description": "Scale multiplier applied to interactive UI elements",
          "default": 1.5,
          "type": "number"
        },
        "contrastLevel": {
          "description": "High-contrast color profile to apply to UI",
          "default": "High",
          "type": "string",
          "enum": [
            "Normal",
            "High",
            "VeryHigh"
          ]
        }
      },
      "required": [
        "accessibilityName",
        "features"
      ]
    },
    "embedding": null
  },
  "unity_create_input_recording": {
    "title": "Create Input Recording",
    "description": "Setup input recording and playback system for testing or replay",
    "category": "Input",
    "inputSchema": {
      "type": "object",
      "properties": {
        "recorderName": {
          "description": "Identifier for the input recorder asset",
          "type": "string"
        },
        "recordingMode": {
          "description": "Which input devices to capture",
          "type": "string",
          "enum": [
            "All",
            "Keyboard",
            "Mouse",
            "Touch",
            "Controller",
            "Custom"
          ]
        },
        "includeTimestamps": {
          "description": "Whether to record per-event timestamps",
          "default": true,
          "type": "boolean"
        },
        "compression": {
          "description": "Whether to compress the recorded data",
          "default": false,
          "type": "boolean"
        },
        "maxRecordingTime": {
          "description": "Maximum recording duration in seconds",
          "default": 300,
          "type": "number"
        },
        "autoSave": {
          "description": "Whether the recording is saved automatically when stopped",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "recorderName",
        "recordingMode"
      ]
    },
    "embedding": null
  },
  "unity_setup_multitouch": {
    "title": "Setup Multitouch",
    "description": "Configure multitouch input handling",
    "category": "Input",
    "inputSchema": {
      "type": "object",
      "properties": {
        "maxTouches": {
          "description": "Maximum number of simultaneous touches to track",
          "default": 10,
          "type": "number"
        },
        "touchSensitivity": {
          "description": "Multiplier applied to raw touch delta values",
          "default": 1,
          "type": "number"
        },
        "enableGestures": {
          "description": "Whether built-in gesture recognition is enabled",
          "default": true,
          "type": "boolean"
        },
        "touchVisualization": {
          "description": "Whether to draw on-screen touch indicators",
          "default": false,
          "type": "boolean"
        },
        "preventAccidentalTouches": {
          "description": "Whether to filter out small or stray touches",
          "default": true,
          "type": "boolean"
        },
        "touchAreaPadding": {
          "description": "Extra pixel padding added around interactive areas",
          "default": 10,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_pinch_zoom": {
    "title": "Create Pinch Zoom",
    "description": "Setup pinch-to-zoom functionality",
    "category": "Input",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Name of the GameObject, camera, or UI element to zoom",
          "type": "string"
        },
        "zoomType": {
          "description": "What is zoomed by the pinch gesture",
          "default": "Camera",
          "type": "string",
          "enum": [
            "Camera",
            "Object",
            "UI"
          ]
        },
        "minZoom": {
          "description": "Lower bound for the zoom factor",
          "default": 0.5,
          "type": "number"
        },
        "maxZoom": {
          "description": "Upper bound for the zoom factor",
          "default": 3,
          "type": "number"
        },
        "zoomSpeed": {
          "description": "Multiplier applied to pinch delta when changing zoom",
          "default": 1,
          "type": "number"
        },
        "smoothing": {
          "description": "Whether to interpolate zoom changes for smoother motion",
          "default": true,
          "type": "boolean"
        },
        "centerOnPinch": {
          "description": "Whether to recenter the view on the pinch midpoint",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "targetObject"
      ]
    },
    "embedding": null
  },
  "unity_setup_swipe_detection": {
    "title": "Setup Swipe Detection",
    "description": "Configure swipe gesture detection",
    "category": "Input",
    "inputSchema": {
      "type": "object",
      "properties": {
        "swipeDirections": {
          "description": "Allowed swipe directions to detect",
          "default": "['All']",
          "type": "array"
        },
        "minSwipeDistance": {
          "description": "Minimum pixel distance required to register a swipe",
          "default": 50,
          "type": "number"
        },
        "maxSwipeTime": {
          "description": "Maximum seconds allowed between touch start and end",
          "default": 0.5,
          "type": "number"
        },
        "detectDiagonals": {
          "description": "Whether diagonal swipes are detected",
          "default": false,
          "type": "boolean"
        },
        "continuousDetection": {
          "description": "Whether swipes can fire repeatedly during a drag",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_drag_drop": {
    "title": "Create Drag & Drop",
    "description": "Setup drag and drop functionality",
    "category": "Input",
    "inputSchema": {
      "type": "object",
      "properties": {
        "draggableObject": {
          "description": "Name of the GameObject that can be dragged",
          "type": "string"
        },
        "dropZones": {
          "description": "Names of GameObjects that accept the dragged object",
          "type": "array"
        },
        "snapToGrid": {
          "description": "Whether dropped objects snap to a grid",
          "default": false,
          "type": "boolean"
        },
        "gridSize": {
          "description": "Grid cell size in world units when snapToGrid is true",
          "default": 1,
          "type": "number"
        },
        "showGhost": {
          "description": "Whether to show a ghost preview while dragging",
          "default": true,
          "type": "boolean"
        },
        "returnOnInvalidDrop": {
          "description": "Whether the object returns to its origin on invalid drop",
          "default": true,
          "type": "boolean"
        },
        "dragThreshold": {
          "description": "Pixel distance required before drag begins",
          "default": 5,
          "type": "number"
        },
        "allowRotation": {
          "description": "Whether the dragged object can be rotated",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "draggableObject"
      ]
    },
    "embedding": null
  },
  "unity_setup_touch_effects": {
    "title": "Setup Touch Effects",
    "description": "Configure visual effects for touch interactions",
    "category": "Input",
    "inputSchema": {
      "type": "object",
      "properties": {
        "effectType": {
          "description": "Visual style of the touch effect",
          "default": "Ripple",
          "type": "string",
          "enum": [
            "Ripple",
            "Glow",
            "Particle",
            "Custom"
          ]
        },
        "effectPrefab": {
          "description": "Optional prefab used when effectType is Custom",
          "type": "string"
        },
        "color": {
          "description": "Hex color string applied to the effect",
          "default": "#FFFFFF",
          "type": "string"
        },
        "size": {
          "description": "Scale multiplier applied to the effect",
          "default": 1,
          "type": "number"
        },
        "duration": {
          "description": "Effect lifetime in seconds",
          "default": 0.5,
          "type": "number"
        },
        "fadeOut": {
          "description": "Whether the effect fades out before disappearing",
          "default": true,
          "type": "boolean"
        },
        "followFinger": {
          "description": "Whether the effect follows the finger while touching",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_particle_preset": {
    "title": "Create Particle Preset",
    "description": "Create advanced particle effects with presets",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "effectName": {
          "description": "Name of the particle effect GameObject to create in the Unity scene",
          "type": "string"
        },
        "preset": {
          "description": "Predefined Unity ParticleSystem preset configuring shape, emission, and color over lifetime",
          "default": "Fire",
          "type": "string",
          "enum": [
            "Fire",
            "Smoke",
            "Explosion",
            "Rain",
            "Snow",
            "Sparkles",
            "Magic",
            "Lightning",
            "Tornado",
            "Galaxy",
            "Custom"
          ]
        },
        "colors": {
          "description": "Array of hex color strings used for color over lifetime gradient",
          "type": "array"
        },
        "usePhysics": {
          "description": "When true adds a ParticleSystem collision module for world physics interaction",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "effectName"
      ]
    },
    "embedding": null
  },
  "unity_create_advanced_material": {
    "title": "Create Advanced Material",
    "description": "Create materials with advanced settings and textures",
    "category": "Material",
    "inputSchema": {
      "type": "object",
      "properties": {
        "materialName": {
          "description": "Name of the Unity Material asset to create under Assets/Materials",
          "type": "string"
        },
        "shader": {
          "description": "Shader pipeline; Standard for Built-in, UniversalRP/Lit for URP, HDRP/Lit for HDRP",
          "default": "Standard",
          "type": "string",
          "enum": [
            "Standard",
            "UniversalRP/Lit",
            "HDRP/Lit",
            "Unlit",
            "Toon",
            "Water",
            "Glass",
            "Hologram",
            "Custom"
          ]
        }
      },
      "required": [
        "materialName"
      ]
    },
    "embedding": null
  },
  "unity_setup_lighting_preset": {
    "title": "Setup Lighting Preset",
    "description": "Apply professional lighting presets to the scene",
    "category": "Lighting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "preset": {
          "description": "Lighting environment preset that configures directional light, skybox, and ambient color",
          "default": "Studio",
          "type": "string",
          "enum": [
            "Studio",
            "Sunset",
            "Night",
            "Overcast",
            "Desert",
            "Forest",
            "Underwater",
            "Space",
            "Neon",
            "Custom"
          ]
        },
        "intensity": {
          "description": "Multiplier applied to directional light intensity (1 = preset default)",
          "default": 1,
          "type": "number"
        },
        "ambientMode": {
          "description": "RenderSettings.ambientMode source: Skybox samples skybox, Gradient blends sky/equator/ground, Color uses flat color",
          "default": "Skybox",
          "type": "string",
          "enum": [
            "Skybox",
            "Gradient",
            "Color"
          ]
        },
        "fog": {
          "description": "Enable RenderSettings.fog for distance-based atmospheric falloff",
          "default": false,
          "type": "boolean"
        },
        "shadows": {
          "description": "Shadow quality: None disables shadows, Hard for hard-edged, Soft for filtered PCF shadows",
          "default": "Soft",
          "type": "string",
          "enum": [
            "None",
            "Hard",
            "Soft"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_create_visual_effect": {
    "title": "Create Visual Effect",
    "description": "Create complex visual effects combining particles, lights, and more",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "effectName": {
          "description": "Name of the visual effect GameObject",
          "type": "string"
        },
        "effectType": {
          "description": "Visual effect type",
          "default": "Aura",
          "type": "string",
          "enum": [
            "Aura",
            "Trail",
            "Distortion",
            "Glow",
            "Shield",
            "Portal",
            "Dissolve",
            "Hologram"
          ]
        },
        "target": {
          "description": "Name of the GameObject to attach the effect to (parents the effect under it)",
          "type": "string"
        },
        "duration": {
          "description": "Effect lifetime in seconds; 0 means infinite when loop is true",
          "default": 0,
          "type": "number"
        },
        "loop": {
          "description": "Loop the effect continuously while the GameObject is active",
          "default": true,
          "type": "boolean"
        },
        "intensity": {
          "description": "Overall intensity multiplier applied to emission rate, light, and alpha",
          "default": 1,
          "type": "number"
        }
      },
      "required": [
        "effectName"
      ]
    },
    "embedding": null
  },
  "unity_setup_reflection_probe": {
    "title": "Setup Reflection Probe",
    "description": "Setup reflection probes for realistic reflections",
    "category": "Lighting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "probeName": {
          "description": "Name of the ReflectionProbe GameObject to create in the scene",
          "default": "ReflectionProbe",
          "type": "string"
        },
        "position": {
          "description": "World-space position of the probe origin in Unity units",
          "type": "object",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          }
        },
        "size": {
          "description": "Bounding box size in Unity units of the volume the probe influences",
          "default": "{ x: 10, y: 10, z: 10 }",
          "type": "object",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          }
        },
        "resolution": {
          "description": "Cubemap face resolution in pixels; higher values produce sharper reflections at memory cost",
          "default": "128",
          "type": "string",
          "enum": [
            "16",
            "32",
            "64",
            "128",
            "256",
            "512",
            "1024",
            "2048"
          ]
        },
        "updateMode": {
          "description": "ReflectionProbe refreshMode: OnAwake bakes on enable, EveryFrame realtime, ViaScripting manual",
          "default": "OnAwake",
          "type": "string",
          "enum": [
            "OnAwake",
            "EveryFrame",
            "ViaScripting"
          ]
        },
        "importance": {
          "description": "Probe importance used to resolve overlap order; higher values override lower ones",
          "default": 1,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_light_probe_group": {
    "title": "Create Light Probe Group",
    "description": "Create light probe groups for dynamic GI",
    "category": "Lighting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "groupName": {
          "description": "Name of the LightProbeGroup GameObject to create",
          "default": "LightProbeGroup",
          "type": "string"
        },
        "gridSize": {
          "description": "Number of probes along each axis forming the probe lattice",
          "default": "{ x: 5, y: 3, z: 5 }",
          "type": "object",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          }
        },
        "spacing": {
          "description": "Distance in Unity units between adjacent probes on each axis",
          "default": 2,
          "type": "number"
        },
        "center": {
          "description": "World-space center position of the probe grid",
          "type": "object",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          }
        }
      }
    },
    "embedding": null
  },
  "unity_setup_volumetric_fog": {
    "title": "Setup Volumetric Fog",
    "description": "Create atmospheric volumetric fog effects",
    "category": "Lighting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "fogName": {
          "description": "Name of the volumetric fog GameObject (LocalVolumetricFog in HDRP) to create",
          "default": "VolumetricFog",
          "type": "string"
        },
        "density": {
          "description": "Fog density per Unity unit; higher values produce thicker fog",
          "default": 0.05,
          "type": "number"
        },
        "color": {
          "description": "Fog tint as hex color (e.g., #FFFFFF for neutral white)",
          "default": "#FFFFFF",
          "type": "string"
        },
        "anisotropy": {
          "description": "Henyey-Greenstein scattering anisotropy in -1..1; positive forward-scatters light",
          "default": 0.5,
          "type": "number"
        },
        "lightPenetration": {
          "description": "How far light penetrates the fog volume in 0..1 range",
          "default": 0.5,
          "type": "number"
        },
        "noiseScale": {
          "description": "World-space scale of the 3D noise modulating fog density",
          "default": 1,
          "type": "number"
        },
        "noiseIntensity": {
          "description": "Strength of noise modulation applied to fog density (0..1)",
          "default": 0.5,
          "type": "number"
        },
        "windSpeed": {
          "description": "Animation speed of the noise field simulating wind drift",
          "default": 1,
          "type": "number"
        },
        "height": {
          "description": "Vertical extent in Unity units of the fog volume from the ground",
          "default": 100,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_decal": {
    "title": "Create Decal",
    "description": "Create decal projections for details like dirt, damage, etc",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "decalName": {
          "description": "Name of the DecalProjector GameObject to create in the scene",
          "type": "string"
        },
        "texture": {
          "description": "Asset path of the base color texture used by the decal",
          "type": "string"
        },
        "size": {
          "description": "Projection box size in Unity units (x,y are footprint, z is depth)",
          "default": "{ x: 1, y: 1, z: 1 }",
          "type": "object",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          }
        },
        "opacity": {
          "description": "Decal blend opacity from 0 (invisible) to 1 (fully opaque)",
          "default": 1,
          "type": "number"
        },
        "normalBlend": {
          "description": "Strength of normal map blending against underlying surfaces (0..1)",
          "default": 1,
          "type": "number"
        },
        "maskClipping": {
          "description": "When true clips the decal against surfaces facing away beyond a normal threshold",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "decalName"
      ]
    },
    "embedding": null
  },
  "unity_setup_color_grading": {
    "title": "Setup Color Grading",
    "description": "Apply color grading for cinematic look",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "preset": {
          "description": "Color grading preset applied via PostProcess ColorAdjustments and Tonemapping",
          "default": "Cinematic",
          "type": "string",
          "enum": [
            "Cinematic",
            "Vintage",
            "BlackWhite",
            "Sepia",
            "Cold",
            "Warm",
            "Horror",
            "Cyberpunk"
          ]
        },
        "temperature": {
          "description": "White balance temperature offset in -100..100; positive warms, negative cools",
          "default": 0,
          "type": "number"
        },
        "tint": {
          "description": "White balance tint offset in -100..100; positive magenta, negative green",
          "default": 0,
          "type": "number"
        },
        "contrast": {
          "description": "Contrast adjustment in -100..100 applied to the final image",
          "default": 0,
          "type": "number"
        },
        "brightness": {
          "description": "Post-exposure brightness offset in stops (EV)",
          "default": 0,
          "type": "number"
        },
        "saturation": {
          "description": "Color saturation adjustment in -100..100; -100 desaturates fully",
          "default": 0,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_lens_flare": {
    "title": "Create Lens Flare",
    "description": "Create realistic lens flare effects",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "flareName": {
          "description": "Name of the LensFlare GameObject to create in the scene",
          "type": "string"
        },
        "intensity": {
          "description": "Brightness multiplier for the lens flare elements",
          "default": 1,
          "type": "number"
        },
        "fadeSpeed": {
          "description": "Speed in seconds at which the flare fades when occluded by geometry",
          "default": 3,
          "type": "number"
        },
        "color": {
          "description": "Hex color tint applied to all flare elements (e.g., #FFFFFF)",
          "default": "#FFFFFF",
          "type": "string"
        }
      },
      "required": [
        "flareName"
      ]
    },
    "embedding": null
  },
  "unity_create_screen_shake": {
    "title": "Create Screen Shake",
    "description": "Apply screen shake effect for dramatic impact",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "duration": {
          "description": "Total shake duration in seconds before the camera returns to rest",
          "default": 0.5,
          "type": "number"
        },
        "intensity": {
          "description": "Peak displacement amplitude in Unity units applied to the camera",
          "default": 1,
          "type": "number"
        },
        "frequency": {
          "description": "Oscillation frequency in Hz controlling how rapidly the camera vibrates",
          "default": 10,
          "type": "number"
        },
        "damping": {
          "description": "Decay factor reducing intensity over duration; 1 = linear falloff to zero",
          "default": 1,
          "type": "number"
        },
        "camera": {
          "description": "Name of the Camera GameObject to apply the shake effect to",
          "default": "Main Camera",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_create_screen_fade": {
    "title": "Create Screen Fade",
    "description": "Create fade in/out transitions",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "fadeType": {
          "description": "FadeIn reveals the scene from the color, FadeOut covers the scene to the color",
          "default": "FadeIn",
          "type": "string",
          "enum": [
            "FadeIn",
            "FadeOut"
          ]
        },
        "duration": {
          "description": "Fade animation duration in seconds",
          "default": 1,
          "type": "number"
        },
        "color": {
          "description": "Hex color of the fullscreen overlay used for the fade (e.g., #000000)",
          "default": "#000000",
          "type": "string"
        },
        "delay": {
          "description": "Delay in seconds before the fade animation starts",
          "default": 0,
          "type": "number"
        },
        "curve": {
          "description": "Animation easing curve applied to the alpha interpolation",
          "default": "Linear",
          "type": "string",
          "enum": [
            "Linear",
            "EaseIn",
            "EaseOut",
            "EaseInOut"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_create_vignette_effect": {
    "title": "Create Vignette Effect",
    "description": "Add cinematic vignette framing to scene",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "intensity": {
          "description": "Vignette darkening strength from 0 (off) to 1 (fully dark edges)",
          "default": 0.5,
          "type": "number"
        },
        "smoothness": {
          "description": "Edge smoothness of the vignette falloff in 0..1; higher is softer",
          "default": 0.5,
          "type": "number"
        },
        "color": {
          "description": "Hex color of the vignette overlay (typically #000000 for darkening)",
          "default": "#000000",
          "type": "string"
        },
        "rounded": {
          "description": "When true forces a circular vignette regardless of aspect ratio",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_chromatic_aberration": {
    "title": "Create Chromatic Aberration",
    "description": "Add lens distortion and color separation effect",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "intensity": {
          "description": "Chromatic aberration strength in 0..1 controlling RGB channel separation",
          "default": 0.1,
          "type": "number"
        },
        "camera": {
          "description": "Name of the Camera GameObject the post-process volume targets",
          "default": "Main Camera",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_read_shader": {
    "title": "Read Shader File",
    "description": "Read the content of a .shader file. This must be called BEFORE modifying the shader.",
    "category": "Shader",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to shader file (e.g., \"Assets/Shaders/MyShader.shader\")",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_modify_shader": {
    "title": "Modify Shader File",
    "description": "Modify an existing .shader file by replacing text.",
    "category": "Shader",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to shader file",
          "type": "string"
        },
        "old_text": {
          "description": "Exact text to find and replace (including whitespace)",
          "type": "string"
        },
        "new_text": {
          "description": "New text to insert",
          "type": "string"
        },
        "replace_all": {
          "description": "Replace all occurrences",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "path",
        "old_text",
        "new_text"
      ]
    },
    "embedding": null
  },
  "unity_analyze_shader": {
    "title": "Analyze Shader Structure",
    "description": "Analyze a shader's structure without reading full content.",
    "category": "Shader",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to shader file",
          "type": "string"
        },
        "shader_name": {
          "description": "Shader name (e.g., \"Standard\")",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_read_shader_graph": {
    "title": "Read ShaderGraph Asset",
    "description": "Read and parse a Unity ShaderGraph (.shadergraph or .shadersubgraph) file.",
    "category": "Shader",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to ShaderGraph file (e.g., \"Assets/Shaders/MyGraph.shadergraph\")",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_read_vfx_graph": {
    "title": "Read VFX Graph Asset",
    "description": "Read and analyze an existing VFX Graph (.vfx) asset file.",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to VFX Graph file (e.g., \"Assets/VFX/MyEffect.vfx\")",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_modify_vfx_graph": {
    "title": "Modify VFX Graph Asset",
    "description": "Modify an existing VFX Graph asset by text replacement.",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to VFX Graph file",
          "type": "string"
        },
        "old_text": {
          "description": "Text to find and replace",
          "type": "string"
        },
        "new_text": {
          "description": "Replacement text",
          "type": "string"
        },
        "replace_all": {
          "description": "Replace all occurrences",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "path",
        "old_text",
        "new_text"
      ]
    },
    "embedding": null
  },
  "unity_analyze_vfx_graph": {
    "title": "Analyze VFX Graph",
    "description": "Analyze a VFX Graph asset structure without reading full content.",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to VFX Graph file",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_vfx_set_output": {
    "title": "Set VFX Output Settings",
    "description": "Set output context settings on a VFX Graph (blendMode, texture, etc.)",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to VFX Graph file",
          "type": "string"
        },
        "contextIndex": {
          "description": "Context index (output is usually 3)",
          "default": 3,
          "type": "number"
        },
        "blendMode": {
          "description": "Blend mode",
          "type": "string",
          "enum": [
            "additive",
            "alpha",
            "opaque",
            "premultiply"
          ]
        },
        "texture": {
          "description": "Texture asset path (e.g., Assets/Synaptic AI Pro/Resources/VFX/Textures/flame_01.png)",
          "type": "string"
        },
        "softParticle": {
          "description": "Enable soft particles",
          "type": "boolean"
        },
        "sortPriority": {
          "description": "Sort priority",
          "type": "number"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_vfx_set_block_value": {
    "title": "Set VFX Block Value",
    "description": "Set the spawn rate of a VFX Graph.",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to VFX Graph file",
          "type": "string"
        },
        "contextIndex": {
          "description": "Context index (0=spawn, 1=init, 2=update, 3=output)",
          "type": "number"
        },
        "blockIndex": {
          "description": "Block index within context",
          "type": "number"
        },
        "property": {
          "description": "Property name to set",
          "default": "value",
          "type": "string"
        },
        "value": {
          "description": "Value to set (e.g., \"1,0.5,0\" for color, \"150\" for rate)",
          "type": "string"
        }
      },
      "required": [
        "path",
        "contextIndex",
        "blockIndex",
        "value"
      ]
    },
    "embedding": null
  },
  "unity_vfx_set_spawn_rate": {
    "title": "Set VFX Spawn Rate",
    "description": "Set the spawn rate of a VFX Graph.",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to VFX Graph file",
          "type": "string"
        },
        "rate": {
          "description": "Particles per second",
          "type": "number"
        }
      },
      "required": [
        "path",
        "rate"
      ]
    },
    "embedding": null
  },
  "unity_vfx_list_blocks": {
    "title": "List VFX Blocks",
    "description": "List all contexts and blocks in a VFX Graph with their indices and types.",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to VFX Graph file",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_vfx_remove_block": {
    "title": "Remove VFX Block",
    "description": "Remove a block from a VFX context.",
    "category": "Transform",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to VFX Graph file",
          "type": "string"
        },
        "contextIndex": {
          "description": "Context index",
          "type": "number"
        },
        "blockIndex": {
          "description": "Block index to remove",
          "type": "number"
        }
      },
      "required": [
        "path",
        "contextIndex",
        "blockIndex"
      ]
    },
    "embedding": null
  },
  "unity_vfx_get_block_info": {
    "title": "Get VFX Block Info",
    "description": "Get detailed information about a specific VFX block including current values.",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to VFX Graph file",
          "type": "string"
        },
        "contextIndex": {
          "description": "Context index",
          "type": "number"
        },
        "blockIndex": {
          "description": "Block index",
          "type": "number"
        }
      },
      "required": [
        "path",
        "contextIndex",
        "blockIndex"
      ]
    },
    "embedding": null
  },
  "unity_read_particle_system": {
    "title": "Read Particle System",
    "description": "Read all properties of a Particle System component on a GameObject.",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "target": {
          "description": "Name of GameObject with ParticleSystem",
          "type": "string"
        },
        "gameObject": {
          "description": "Alternative name parameter",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_modify_particle_system": {
    "title": "Modify Particle System",
    "description": "Animate shader properties like color, float, or vector values",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "target": {
          "description": "Name of GameObject with ParticleSystem",
          "type": "string"
        },
        "gameObject": {
          "description": "Alternative name parameter",
          "type": "string"
        },
        "module": {
          "description": "Module to modify (main, emission, shape, noise, etc.)",
          "default": "main",
          "type": "string"
        },
        "property": {
          "description": "Property name to modify",
          "type": "string"
        },
        "value": {
          "description": "New value for the property",
          "type": "string"
        }
      },
      "required": [
        "property",
        "value"
      ]
    },
    "embedding": null
  },
  "unity_create_shader_property_animator": {
    "title": "Create Shader Property Animator",
    "description": "Animate shader properties like color, float, or vector values",
    "category": "Shader",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Name of the GameObject whose Renderer material property will be animated",
          "type": "string"
        },
        "propertyName": {
          "description": "Shader property name to animate (e.g., _Color, _EmissionColor, _MainTex_ST)",
          "default": "_Color",
          "type": "string"
        },
        "propertyType": {
          "description": "Shader property data type: Color for RGBA, Float for scalar, Vector for Vector4",
          "default": "Color",
          "type": "string",
          "enum": [
            "Color",
            "Float",
            "Vector"
          ]
        },
        "startValue": {
          "description": "Starting value as string (e.g., \"1,0,0,1\" for red color or \"0\" for float)",
          "type": "string"
        },
        "endValue": {
          "description": "Ending value as string in the same format as startValue",
          "type": "string"
        },
        "duration": {
          "description": "Animation duration in seconds for one start-to-end cycle",
          "default": 1,
          "type": "number"
        },
        "loop": {
          "description": "When true the animation loops continuously between start and end values",
          "default": false,
          "type": "boolean"
        },
        "curve": {
          "description": "Easing applied to the interpolation between start and end",
          "default": "Linear",
          "type": "string",
          "enum": [
            "Linear",
            "EaseIn",
            "EaseOut",
            "EaseInOut",
            "Bounce"
          ]
        }
      },
      "required": [
        "targetObject",
        "startValue",
        "endValue"
      ]
    },
    "embedding": null
  },
  "unity_create_material_property_block": {
    "title": "Create Material Property Block",
    "description": "Modify material properties without creating material instances",
    "category": "Material",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Name of the GameObject whose Renderer receives the MaterialPropertyBlock",
          "type": "string"
        },
        "blockName": {
          "description": "Identifier used internally to track the MaterialPropertyBlock instance",
          "default": "CustomPropertyBlock",
          "type": "string"
        },
        "preserveSharedMaterial": {
          "description": "When true keeps sharedMaterial intact and applies overrides per-renderer only",
          "default": true,
          "type": "boolean"
        },
        "properties": {
          "description": "Dictionary mapping shader property names to override values (color, float, texture, vector)",
          "type": "string"
        }
      },
      "required": [
        "targetObject"
      ]
    },
    "embedding": null
  },
  "unity_animate_shader_texture": {
    "title": "Animate Shader Texture",
    "description": "Create scrolling, flipbook, or rotating texture animations",
    "category": "Shader",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Name or path of the target GameObject whose material will be animated",
          "type": "string"
        },
        "propertyName": {
          "description": "Shader texture property to animate (defaults to main texture _MainTex)",
          "default": "_MainTex",
          "type": "string"
        },
        "animationType": {
          "description": "Animation mode: Scroll offsets UV, Flipbook plays sprite sheet, Rotate spins UVs",
          "default": "Scroll",
          "type": "string",
          "enum": [
            "Scroll",
            "Flipbook",
            "Rotate"
          ]
        },
        "speed": {
          "description": "Scroll/rotation speed as comma-separated \"x,y\" UV units per second",
          "default": "1,0",
          "type": "string"
        },
        "scale": {
          "description": "Texture tiling scale as comma-separated \"x,y\"",
          "default": "1,1",
          "type": "string"
        },
        "columns": {
          "description": "Number of flipbook columns in the sprite sheet",
          "default": 4,
          "type": "number"
        },
        "rows": {
          "description": "Number of flipbook rows in the sprite sheet",
          "default": 4,
          "type": "number"
        },
        "fps": {
          "description": "Flipbook playback speed in frames per second",
          "default": 30,
          "type": "number"
        }
      },
      "required": [
        "targetObject"
      ]
    },
    "embedding": null
  },
  "unity_create_shader_gradient": {
    "title": "Create Shader Gradient",
    "description": "Apply gradient effects to materials",
    "category": "Shader",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Name or path of the GameObject to receive the gradient material",
          "type": "string"
        },
        "gradientType": {
          "description": "Gradient shape: Linear interpolates along an axis, Radial radiates from center",
          "default": "Linear",
          "type": "string",
          "enum": [
            "Linear",
            "Radial"
          ]
        },
        "startColor": {
          "description": "Starting color of the gradient as hex (e.g. #FFFFFF)",
          "default": "#FFFFFF",
          "type": "string"
        },
        "endColor": {
          "description": "Ending color of the gradient as hex (e.g. #000000)",
          "default": "#000000",
          "type": "string"
        },
        "direction": {
          "description": "Linear gradient axis direction in UV space",
          "default": "Vertical",
          "type": "string",
          "enum": [
            "Horizontal",
            "Vertical",
            "Diagonal"
          ]
        },
        "blendMode": {
          "description": "How the gradient blends with the base material color",
          "default": "Normal",
          "type": "string",
          "enum": [
            "Normal",
            "Additive",
            "Multiply"
          ]
        }
      },
      "required": [
        "targetObject"
      ]
    },
    "embedding": null
  },
  "unity_create_bloom": {
    "title": "Create Bloom Effect",
    "description": "🌟 Create bloom effect with auto-generated shader - Adds beautiful glow to bright areas!",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "intensity": {
          "description": "Bloom intensity (0-10)",
          "default": 2,
          "type": "number"
        },
        "threshold": {
          "description": "Brightness threshold for bloom (0-1)",
          "default": 0.9,
          "type": "number"
        },
        "blurSize": {
          "description": "Blur size for bloom effect (0-10)",
          "default": 3,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_film_grain": {
    "title": "Create Film Grain Effect",
    "description": "🎬 Create film grain effect with auto-generated shader - Adds cinematic film texture!",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "intensity": {
          "description": "Grain intensity (0-1)",
          "default": 0.3,
          "type": "number"
        },
        "grainSize": {
          "description": "Grain texture size (0.1-10)",
          "default": 2,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_motion_blur": {
    "title": "Create Motion Blur Effect",
    "description": "💨 Create motion blur effect with auto-generated shader - Adds dynamic motion feel!",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "blurStrength": {
          "description": "Motion blur strength (0-1)",
          "default": 0.5,
          "type": "number"
        },
        "sampleCount": {
          "description": "Quality samples (4-32, higher = better quality)",
          "default": 16,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_depth_of_field": {
    "title": "Create Depth of Field Effect",
    "description": "📷 Create depth of field effect with auto-generated shader - Professional camera focus!",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "focusDistance": {
          "description": "Focus distance (0-100)",
          "default": 10,
          "type": "number"
        },
        "blurSize": {
          "description": "Blur size for out-of-focus areas (0-10)",
          "default": 2,
          "type": "number"
        },
        "aperture": {
          "description": "Camera aperture simulation (0.1-32)",
          "default": 5.6,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_lens_distortion": {
    "title": "Create Lens Distortion Effect",
    "description": "🔍 Create lens distortion effect with auto-generated shader - Realistic camera lens effects!",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "distortionStrength": {
          "description": "Distortion strength (-1 to 1, negative = pincushion, positive = barrel)",
          "default": 0.2,
          "type": "number"
        },
        "chromaticAberration": {
          "description": "Chromatic aberration amount (0-1)",
          "default": 0.1,
          "type": "number"
        },
        "vignette": {
          "description": "Vignette effect strength (0-1)",
          "default": 0.3,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_setup_urp_settings": {
    "title": "Setup URP Settings",
    "description": "🖼️ Configure Universal Render Pipeline settings with natural language - Optimize for any platform!",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "platform": {
          "description": "Target platform preset that biases URP settings for performance vs. fidelity",
          "default": "pc",
          "type": "string",
          "enum": [
            "mobile",
            "android",
            "ios",
            "console",
            "playstation",
            "xbox",
            "pc",
            "desktop"
          ]
        },
        "quality": {
          "description": "Overall URP quality tier controlling render features and resolutions",
          "default": "medium",
          "type": "string",
          "enum": [
            "low",
            "medium",
            "high",
            "ultra"
          ]
        },
        "shadows": {
          "description": "Shadow quality level and atlas resolution",
          "default": "medium",
          "type": "string",
          "enum": [
            "off",
            "disabled",
            "low",
            "medium",
            "high",
            "ultra"
          ]
        },
        "antialiasing": {
          "description": "Post-process anti-aliasing technique applied to the camera",
          "default": "fxaa",
          "type": "string",
          "enum": [
            "none",
            "fxaa",
            "taa",
            "smaa"
          ]
        },
        "renderscale": {
          "description": "Render scale multiplier (0.5-2.0)",
          "default": 1,
          "type": "number"
        },
        "hdr": {
          "description": "Enable HDR rendering",
          "default": true,
          "type": "boolean"
        },
        "msaa": {
          "description": "Hardware MSAA sample count for forward rendering",
          "default": "4x",
          "type": "string",
          "enum": [
            "off",
            "2x",
            "4x",
            "8x"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_setup_hdrp_settings": {
    "title": "Setup HDRP Settings",
    "description": "🌟 Configure High Definition Render Pipeline settings - For photorealistic visuals!",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "platform": {
          "description": "Target platform preset that scales HDRP feature set",
          "default": "pc",
          "type": "string",
          "enum": [
            "pc",
            "console",
            "playstation",
            "xbox"
          ]
        },
        "quality": {
          "description": "HDRP quality tier for shadows, reflections, and post effects",
          "default": "high",
          "type": "string",
          "enum": [
            "medium",
            "high",
            "ultra"
          ]
        },
        "raytracing": {
          "description": "Enable ray tracing features",
          "default": false,
          "type": "boolean"
        },
        "volumetrics": {
          "description": "Enable volumetric lighting",
          "default": true,
          "type": "boolean"
        },
        "reflections": {
          "description": "Reflection technique: screen-space, ray-traced, or hybrid combination",
          "default": "screenspace",
          "type": "string",
          "enum": [
            "screenspace",
            "raytraced",
            "hybrid"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_setup_post_processing": {
    "title": "Setup Post Processing",
    "description": "🎨 Configure post-processing effects stack - Professional color grading and effects!",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "profile": {
          "description": "Visual style preset that selects the base Volume Profile",
          "default": "cinematic",
          "type": "string",
          "enum": [
            "cinematic",
            "realistic",
            "stylized",
            "mobile",
            "custom"
          ]
        },
        "bloom": {
          "description": "Enable Bloom effect for glowing bright highlights",
          "default": true,
          "type": "boolean"
        },
        "colorgrading": {
          "description": "Enable Color Adjustments / Tonemapping for color grading",
          "default": true,
          "type": "boolean"
        },
        "vignette": {
          "description": "Enable Vignette darkening at screen edges",
          "default": true,
          "type": "boolean"
        },
        "filmgrain": {
          "description": "Enable Film Grain texture overlay for cinematic feel",
          "default": false,
          "type": "boolean"
        },
        "motionblur": {
          "description": "Enable Motion Blur for camera and object movement",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_vfx_graph": {
    "title": "Create VFX / Particle Effect",
    "description": "Create VFX particle effects with advanced features. Supports mesh spawning, SDF shapes, splines, custom output modes. Uses VFX Graph (GPU) if available, otherwise Particle System.",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "effectType": {
          "description": "Type of VFX effect preset",
          "default": "fire",
          "type": "string",
          "enum": [
            "fire",
            "smoke",
            "explosion",
            "magic",
            "water",
            "splash",
            "energy",
            "sparks",
            "dust",
            "snow",
            "rain",
            "leaves",
            "confetti",
            "trail",
            "cyber",
            "heal",
            "buff",
            "debuff",
            "portal",
            "custom"
          ]
        },
        "name": {
          "description": "Custom name for the VFX GameObject",
          "type": "string"
        },
        "intensity": {
          "description": "Effect intensity multiplier",
          "default": 1,
          "type": "number"
        },
        "duration": {
          "description": "Effect duration in seconds",
          "default": 5,
          "type": "number"
        },
        "looping": {
          "description": "Whether effect loops continuously",
          "default": true,
          "type": "boolean"
        },
        "particleCount": {
          "description": "Maximum particle count (GPU can handle millions!)",
          "default": 1000,
          "type": "number"
        },
        "color": {
          "description": "Start/main color in hex (e.g., \"#00FFFF\")",
          "type": "string"
        },
        "endColor": {
          "description": "End color for gradient effects",
          "type": "string"
        },
        "position": {
          "description": "World position as \"x,y,z\"",
          "default": "0,0,0",
          "type": "string"
        },
        "shapeType": {
          "description": "Advanced spawn shape (requires VFX Graph package)",
          "default": "",
          "type": "string",
          "enum": [
            "mesh",
            "sdf",
            "spline",
            "point_cache"
          ]
        },
        "meshPath": {
          "description": "Asset path to mesh for mesh spawning (e.g., \"Assets/Models/Sword.fbx\")",
          "type": "string"
        },
        "meshName": {
          "description": "Name of GameObject in scene to use as mesh source",
          "type": "string"
        },
        "splinePoints": {
          "description": "Spline points as \"x,y,z;x,y,z;...\" for path-based effects",
          "type": "string"
        },
        "sdfShape": {
          "description": "SDF shape type",
          "default": "sphere",
          "type": "string",
          "enum": [
            "sphere",
            "box",
            "torus",
            "custom"
          ]
        },
        "outputMode": {
          "description": "Output rendering mode",
          "default": "particle",
          "type": "string",
          "enum": [
            "particle",
            "mesh",
            "decal",
            "line"
          ]
        },
        "blendMode": {
          "description": "Blend mode for rendering",
          "default": "additive",
          "type": "string",
          "enum": [
            "additive",
            "alpha",
            "opaque"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_create_shader_graph": {
    "title": "Create Shader Graph",
    "description": "🎭 Create Shader Graph with natural language - Custom materials made easy!",
    "category": "Shader",
    "inputSchema": {
      "type": "object",
      "properties": {
        "shaderType": {
          "description": "Shader Graph master node preset that defines lighting model and base inputs",
          "default": "surface",
          "type": "string",
          "enum": [
            "surface",
            "unlit",
            "lit",
            "water",
            "glass",
            "metal",
            "fabric",
            "custom"
          ]
        },
        "pipeline": {
          "description": "Render pipeline target that determines generated subgraph compatibility",
          "default": "urp",
          "type": "string",
          "enum": [
            "urp",
            "hdrp",
            "builtin"
          ]
        },
        "features": {
          "description": "Additional shader features to wire into the graph (normal map, emission, etc.)",
          "default": "['normal_map']",
          "type": "array"
        },
        "animated": {
          "description": "Include time-based animation",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_set_vfx_property": {
    "title": "Set VFX Graph Property",
    "description": "Modify exposed properties of a VFX Graph at runtime. Change colors, intensity, particle count, etc.",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObjectName": {
          "description": "Name of GameObject with VisualEffect component",
          "type": "string"
        },
        "propertyName": {
          "description": "Exposed property name (e.g., \"Intensity\", \"Color\", \"ParticleCount\")",
          "type": "string"
        },
        "propertyType": {
          "description": "Type of the property",
          "type": "string",
          "enum": [
            "float",
            "int",
            "bool",
            "vector2",
            "vector3",
            "vector4",
            "color",
            "gradient",
            "texture",
            "mesh"
          ]
        },
        "value": {
          "description": "Value to set. Float: \"1.5\", Color: \"#FF00FF\", Vector3: \"1,2,3\", Bool: \"true\"",
          "type": "string"
        }
      },
      "required": [
        "gameObjectName",
        "propertyName",
        "propertyType",
        "value"
      ]
    },
    "embedding": null
  },
  "unity_get_vfx_properties": {
    "title": "Get VFX Graph Properties",
    "description": "Get all exposed properties of a VFX Graph. See available parameters for modification.",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObjectName": {
          "description": "Name of GameObject with VisualEffect component",
          "type": "string"
        }
      },
      "required": [
        "gameObjectName"
      ]
    },
    "embedding": null
  },
  "unity_trigger_vfx_event": {
    "title": "Trigger VFX Event",
    "description": "Send event to VFX Graph (play, stop, custom events)",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObjectName": {
          "description": "Name of GameObject with VisualEffect component",
          "type": "string"
        },
        "eventName": {
          "description": "Event name (OnPlay, OnStop, or custom event)",
          "default": "OnPlay",
          "type": "string"
        }
      },
      "required": [
        "gameObjectName"
      ]
    },
    "embedding": null
  },
  "unity_vfx_create": {
    "title": "Create VFX Graph",
    "description": "Create a new VFX Graph asset. This is the first step for building custom VFX.",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the VFX Graph asset",
          "type": "string"
        },
        "folder": {
          "description": "Folder path to save the asset",
          "default": "Assets/VFX",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_vfx_add_context": {
    "title": "Add VFX Context",
    "description": "Add a context (Spawn, Initialize, Update, Output) to VFX Graph. Contexts define the particle lifecycle.",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "vfxPath": {
          "description": "Path to VFX asset (e.g., \"Assets/VFX/Fire.vfx\")",
          "type": "string"
        },
        "contextType": {
          "description": "Type of context to add",
          "type": "string",
          "enum": [
            "spawn",
            "spawner",
            "gpuspawn",
            "initialize",
            "init",
            "update",
            "output",
            "quad",
            "point",
            "line",
            "linestrip",
            "quadstrip",
            "trail",
            "ribbon",
            "mesh",
            "staticmesh",
            "decal",
            "event",
            "outputevent"
          ]
        },
        "capacity": {
          "description": "Particle capacity (for Initialize context)",
          "type": "number"
        },
        "spawnRate": {
          "description": "Spawn rate (for Spawn context)",
          "type": "number"
        }
      },
      "required": [
        "vfxPath",
        "contextType"
      ]
    },
    "embedding": null
  },
  "unity_vfx_add_block": {
    "title": "Add VFX Block",
    "description": "Add a block to a context. Blocks define particle behavior (position, velocity, color, forces, etc.)",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "vfxPath": {
          "description": "Path to VFX asset",
          "type": "string"
        },
        "contextIndex": {
          "description": "Index of context to add block to (0-based)",
          "type": "number"
        },
        "blockType": {
          "description": "Type of block to add",
          "type": "string",
          "enum": [
            "// Position\n                positionsphere",
            "positioncircle",
            "positioncone",
            "positionline",
            "positionbox",
            "positiontorus",
            "positionmesh",
            "positionsdf",
            "// Forces\n                gravity",
            "drag",
            "turbulence",
            "force",
            "conformtosphere",
            "conformtosdf",
            "vectorfieldforce",
            "// Attributes\n                setattribute",
            "setattributerandom",
            "setposition",
            "setvelocity",
            "setcolor",
            "setsize",
            "setlifetime",
            "setalpha",
            "setangle",
            "// Random\n                velocityrandom",
            "// Collision\n                collisionsphere",
            "collisionplane",
            "collisionbox",
            "collisiondepth",
            "// Kill\n                killsphere",
            "killbox",
            "killplane",
            "killage",
            "// Orientation\n                orient",
            "facecamera",
            "orientalongvelocity",
            "// Over lifetime\n                coloroverlife",
            "sizeoverlife",
            "// Spawn\n                spawnrate",
            "spawnburst",
            "// Other\n                flipbook",
            "triggerevent"
          ]
        },
        "attribute": {
          "description": "Attribute name for SetAttribute blocks (e.g., \"position\", \"color\", \"size\", \"lifetime\", \"velocity\")",
          "type": "string"
        },
        "value": {
          "description": "Value to set (e.g., \"1,0,0\" for vector, \"#FF0000\" for color)",
          "type": "string"
        },
        "min": {
          "description": "Minimum value for setattributerandom (e.g., 0.5 for float, \"0,0,0\" for vector)",
          "type": "string"
        },
        "max": {
          "description": "Maximum value for setattributerandom (e.g., 2.0 for float, \"1,1,1\" for vector)",
          "type": "string"
        }
      },
      "required": [
        "vfxPath",
        "contextIndex",
        "blockType"
      ]
    },
    "embedding": null
  },
  "unity_vfx_add_operator": {
    "title": "Add VFX Operator",
    "description": "Add an operator node to VFX Graph. Operators perform calculations (math, noise, sampling, etc.)",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "vfxPath": {
          "description": "Path to VFX asset",
          "type": "string"
        },
        "operatorType": {
          "description": "Type of operator to add",
          "type": "string",
          "enum": [
            "// Math\n                add",
            "subtract",
            "multiply",
            "divide",
            "power",
            "modulo",
            "absolute",
            "negate",
            "minimum",
            "maximum",
            "clamp",
            "saturate",
            "lerp",
            "smoothstep",
            "// Trigonometric\n                sine",
            "cosine",
            "tangent",
            "atan2",
            "// Vector\n                dot",
            "cross",
            "length",
            "distance",
            "normalize",
            "// Noise\n                noise",
            "curlnoise",
            "voronoise",
            "// Sampling\n                sampletexture2d",
            "sampletexture3d",
            "samplecurve",
            "samplegradient",
            "samplemesh",
            "samplesdf",
            "// Logic\n                compare",
            "branch",
            "and",
            "or",
            "not",
            "// Utility\n                random",
            "time",
            "deltatime",
            "maincamera",
            "// Waveforms\n                sinewave",
            "squarewave",
            "trianglewave",
            "sawtoothwave"
          ]
        }
      },
      "required": [
        "vfxPath",
        "operatorType"
      ]
    },
    "embedding": null
  },
  "unity_vfx_link_contexts": {
    "title": "Link VFX Contexts",
    "description": "Link two contexts together (e.g., Spawn -> Initialize -> Update -> Output)",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "vfxPath": {
          "description": "Path to VFX asset",
          "type": "string"
        },
        "fromIndex": {
          "description": "Index of source context",
          "type": "number"
        },
        "toIndex": {
          "description": "Index of target context",
          "type": "number"
        }
      },
      "required": [
        "vfxPath",
        "fromIndex",
        "toIndex"
      ]
    },
    "embedding": null
  },
  "unity_vfx_get_structure": {
    "title": "Get VFX Structure",
    "description": "Get the structure of a VFX Graph (contexts, blocks, operators)",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "vfxPath": {
          "description": "Path to VFX asset",
          "type": "string"
        }
      },
      "required": [
        "vfxPath"
      ]
    },
    "embedding": null
  },
  "unity_vfx_compile": {
    "title": "Compile VFX",
    "description": "Compile and save the VFX Graph",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "vfxPath": {
          "description": "Path to VFX asset",
          "type": "string"
        }
      },
      "required": [
        "vfxPath"
      ]
    },
    "embedding": null
  },
  "unity_vfx_get_available_types": {
    "title": "Get Available VFX Types",
    "description": "List all available context, block, and operator types",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "category": {
          "description": "Category to list",
          "default": "all",
          "type": "string",
          "enum": [
            "all",
            "contexts",
            "blocks",
            "operators"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_vfx_add_parameter": {
    "title": "Add VFX Parameter",
    "description": "Add an exposed parameter to VFX Graph that can be controlled from Inspector or scripts",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "vfxPath": {
          "description": "Path to VFX asset",
          "type": "string"
        },
        "name": {
          "description": "Parameter name",
          "type": "string"
        },
        "type": {
          "description": "Parameter type",
          "type": "string",
          "enum": [
            "float",
            "int",
            "bool",
            "vector2",
            "vector3",
            "vector4",
            "color",
            "texture2d",
            "texture3d",
            "mesh",
            "gradient",
            "curve"
          ]
        },
        "defaultValue": {
          "description": "Default value (e.g., \"1.0\", \"1,2,3\" for vector)",
          "type": "string"
        },
        "exposed": {
          "description": "Whether parameter is exposed in Inspector",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "vfxPath",
        "name",
        "type"
      ]
    },
    "embedding": null
  },
  "unity_vfx_connect_slots": {
    "title": "Connect VFX Slots",
    "description": "Connect output slot of one node to input slot of another (operator->block, parameter->operator, etc.)",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "vfxPath": {
          "description": "Path to VFX asset",
          "type": "string"
        },
        "sourceNodeIndex": {
          "description": "Index of source node",
          "type": "number"
        },
        "sourceSlotIndex": {
          "description": "Index of output slot on source",
          "type": "number"
        },
        "targetNodeIndex": {
          "description": "Index of target node (for blocks: contextIndex << 16 | blockIndex)",
          "type": "number"
        },
        "targetSlotIndex": {
          "description": "Index of input slot on target",
          "type": "number"
        },
        "sourceType": {
          "description": "Type of source node",
          "default": "operator",
          "type": "string",
          "enum": [
            "operator",
            "parameter",
            "context"
          ]
        },
        "targetType": {
          "description": "Type of target node",
          "default": "block",
          "type": "string",
          "enum": [
            "operator",
            "block"
          ]
        }
      },
      "required": [
        "vfxPath",
        "sourceNodeIndex",
        "sourceSlotIndex",
        "targetNodeIndex",
        "targetSlotIndex"
      ]
    },
    "embedding": null
  },
  "unity_vfx_set_attribute": {
    "title": "Set VFX Block Attribute",
    "description": "Set attribute value on a SetAttribute block (position, velocity, color, size, lifetime, etc.)",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "vfxPath": {
          "description": "Path to VFX asset",
          "type": "string"
        },
        "contextIndex": {
          "description": "Index of context containing the block",
          "type": "number"
        },
        "blockIndex": {
          "description": "Index of SetAttribute block within context",
          "type": "number"
        },
        "attribute": {
          "description": "Attribute name (position, velocity, color, size, lifetime, alpha, angle, etc.)",
          "type": "string"
        },
        "value": {
          "description": "Value to set (e.g., \"1,2,3\" for vector, \"#FF0000\" for color, \"0.5\" for float)",
          "type": "string"
        },
        "composition": {
          "description": "How to combine with existing value",
          "default": "overwrite",
          "type": "string",
          "enum": [
            "overwrite",
            "add",
            "multiply",
            "blend"
          ]
        }
      },
      "required": [
        "vfxPath",
        "contextIndex",
        "blockIndex",
        "attribute",
        "value"
      ]
    },
    "embedding": null
  },
  "unity_vfx_create_preset": {
    "title": "Create VFX Preset",
    "description": "Create a complete VFX Graph from preset (fire, smoke, sparks, trail, explosion)",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name for the VFX asset",
          "type": "string"
        },
        "preset": {
          "description": "Preset type",
          "type": "string",
          "enum": [
            "fire",
            "smoke",
            "sparks",
            "trail",
            "explosion"
          ]
        },
        "folder": {
          "description": "Folder to save the asset",
          "default": "Assets/VFX",
          "type": "string"
        }
      },
      "required": [
        "name",
        "preset"
      ]
    },
    "embedding": null
  },
  "unity_vfx_configure_output": {
    "title": "Configure VFX Output",
    "description": "Configure VFX output context settings (texture, blend mode, soft particles, etc.)",
    "category": "VFX",
    "inputSchema": {
      "type": "object",
      "properties": {
        "vfxPath": {
          "description": "Path to VFX asset (e.g., \"Assets/VFX/Fire.vfx\")",
          "type": "string"
        },
        "contextIndex": {
          "description": "Index of the output context",
          "type": "number"
        },
        "texture": {
          "description": "Path to texture asset",
          "type": "string"
        },
        "blendMode": {
          "description": "Blend mode",
          "type": "string",
          "enum": [
            "additive",
            "alpha",
            "premultiply",
            "opaque",
            "masked"
          ]
        },
        "softParticle": {
          "description": "Enable soft particles",
          "type": "boolean"
        },
        "castShadow": {
          "description": "Cast shadows",
          "type": "boolean"
        },
        "sortPriority": {
          "description": "Sort priority",
          "type": "number"
        }
      },
      "required": [
        "vfxPath",
        "contextIndex"
      ]
    },
    "embedding": null
  },
  "unity_vfx_set_color_gradient": {
    "title": "Set VFX Color Gradient",
    "description": "Set color gradient for ColorOverLife or similar blocks",
    "category": "Material",
    "inputSchema": {
      "type": "object",
      "properties": {
        "vfxPath": {
          "description": "Path to VFX asset",
          "type": "string"
        },
        "contextIndex": {
          "description": "Index of the context containing the block",
          "type": "number"
        },
        "blockIndex": {
          "description": "Index of the ColorOverLife block",
          "type": "number"
        },
        "colors": {
          "description": "Array of hex colors (e.g., [\"#FF6600\", \"#FF0000\", \"#000000\"])",
          "type": "array"
        },
        "times": {
          "description": "Array of time values (0-1), defaults to evenly distributed",
          "type": "array"
        }
      },
      "required": [
        "vfxPath",
        "contextIndex",
        "blockIndex",
        "colors"
      ]
    },
    "embedding": null
  },
  "unity_setup_lighting_scenarios": {
    "title": "Setup Lighting Scenarios",
    "description": "💡 Create lighting scenarios for different moods - From dawn to midnight!",
    "category": "Lighting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scenario": {
          "description": "Time-of-day or studio lighting preset that drives directional light color, intensity, and ambient",
          "default": "noon",
          "type": "string",
          "enum": [
            "dawn",
            "morning",
            "noon",
            "afternoon",
            "sunset",
            "dusk",
            "night",
            "midnight",
            "studio",
            "dramatic"
          ]
        },
        "ambientIntensity": {
          "description": "Ambient light intensity",
          "default": 1,
          "type": "number"
        },
        "shadowStrength": {
          "description": "Shadow strength (0-1)",
          "default": 1,
          "type": "number"
        },
        "colorTemperature": {
          "description": "Light color temperature in Kelvin",
          "default": 6500,
          "type": "number"
        },
        "foggy": {
          "description": "Add atmospheric fog",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_weather_system": {
    "title": "Create Weather System",
    "description": "🌦️ Create complete weather system with cinematic presets - One command for movie-quality weather!",
    "category": "Weather",
    "inputSchema": {
      "type": "object",
      "properties": {
        "preset": {
          "description": "Cinematic weather preset that configures particles, lighting, fog, and skybox",
          "default": "sunny",
          "type": "string",
          "enum": [
            "sunny",
            "rainy",
            "snowy",
            "stormy",
            "foggy",
            "custom"
          ]
        },
        "intensity": {
          "description": "Overall weather intensity (0-1)",
          "default": 0.5,
          "type": "number"
        },
        "transitionTime": {
          "description": "Time to transition between weather states",
          "default": 5,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_set_weather_preset": {
    "title": "Set Weather Preset",
    "description": "Smoothly transition to a different weather preset",
    "category": "Weather",
    "inputSchema": {
      "type": "object",
      "properties": {
        "preset": {
          "description": "Target weather preset to smoothly transition the existing weather system to",
          "type": "string",
          "enum": [
            "sunny",
            "rainy",
            "snowy",
            "stormy",
            "foggy"
          ]
        },
        "transitionTime": {
          "description": "Transition duration in seconds",
          "default": 5,
          "type": "number"
        }
      },
      "required": [
        "preset"
      ]
    },
    "embedding": null
  },
  "unity_create_rain_effect": {
    "title": "Create Rain Effect",
    "description": "Create realistic rain effect with particle system",
    "category": "Weather",
    "inputSchema": {
      "type": "object",
      "properties": {
        "intensity": {
          "description": "Overall rain density and emission rate (0-1)",
          "default": 0.5,
          "type": "number"
        },
        "dropSize": {
          "description": "Size of each rain drop particle in world units",
          "default": 0.02,
          "type": "number"
        },
        "dropSpeed": {
          "description": "Vertical fall speed of rain drops in units per second",
          "default": 10,
          "type": "number"
        },
        "windStrength": {
          "description": "Horizontal wind force applied to falling drops",
          "default": 0,
          "type": "number"
        },
        "rainArea": {
          "description": "Box volume size for rain emitter as comma-separated \"x,y,z\"",
          "default": "50,30,50",
          "type": "string"
        },
        "useSplash": {
          "description": "Spawn splash particles where drops hit the ground",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_snow_effect": {
    "title": "Create Snow Effect",
    "description": "Create snow effect with falling snowflakes",
    "category": "Weather",
    "inputSchema": {
      "type": "object",
      "properties": {
        "intensity": {
          "description": "Overall snowfall density and emission rate (0-1)",
          "default": 0.3,
          "type": "number"
        },
        "flakeSize": {
          "description": "Min/max snowflake size as comma-separated \"min,max\" world units",
          "default": "0.1,0.3",
          "type": "string"
        },
        "fallSpeed": {
          "description": "Vertical fall speed of snowflakes in units per second",
          "default": 1,
          "type": "number"
        },
        "turbulence": {
          "description": "Random horizontal sway applied to snowflakes (0-1)",
          "default": 0.5,
          "type": "number"
        },
        "snowArea": {
          "description": "Box volume size for snow emitter as comma-separated \"x,y,z\"",
          "default": "50,20,50",
          "type": "string"
        },
        "accumulation": {
          "description": "Build up snow layer on ground meshes over time",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_wind_effect": {
    "title": "Create Wind Effect",
    "description": "Create wind effect affecting objects and particles",
    "category": "Weather",
    "inputSchema": {
      "type": "object",
      "properties": {
        "strength": {
          "description": "Base wind force magnitude applied to affected objects",
          "default": 5,
          "type": "number"
        },
        "direction": {
          "description": "Wind direction as comma-separated normalized vector \"x,y,z\"",
          "default": "1,0,0",
          "type": "string"
        },
        "turbulence": {
          "description": "Random variation added on top of the base wind direction (0-1)",
          "default": 0.5,
          "type": "number"
        },
        "gustFrequency": {
          "description": "How often gusts occur, in Hz (gusts per second)",
          "default": 0.2,
          "type": "number"
        },
        "affectTrees": {
          "description": "Apply wind to Unity Terrain trees via WindZone",
          "default": true,
          "type": "boolean"
        },
        "affectParticles": {
          "description": "Apply wind force to particle systems in the scene",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_lightning_effect": {
    "title": "Create Lightning Effect",
    "description": "Create lightning strikes with flash effects",
    "category": "Lighting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "frequency": {
          "description": "Lightning strike frequency in strikes per second",
          "default": 0.1,
          "type": "number"
        },
        "intensity": {
          "description": "Brightness multiplier of the lightning flash light",
          "default": 5,
          "type": "number"
        },
        "duration": {
          "description": "Duration of each lightning flash in seconds",
          "default": 0.2,
          "type": "number"
        },
        "color": {
          "description": "Hex color of the lightning flash (e.g., \"#E0E0FF\")",
          "default": "#E0E0FF",
          "type": "string"
        },
        "minDelay": {
          "description": "Minimum delay between strikes in seconds",
          "default": 2,
          "type": "number"
        },
        "maxDelay": {
          "description": "Maximum delay between strikes in seconds",
          "default": 10,
          "type": "number"
        },
        "affectSkybox": {
          "description": "Whether the lightning flash also brightens the skybox",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_thunderstorm": {
    "title": "Create Thunderstorm",
    "description": "Create complete thunderstorm with rain, wind, lightning and fog",
    "category": "Weather",
    "inputSchema": {
      "type": "object",
      "properties": {
        "intensity": {
          "description": "Overall thunderstorm intensity from 0 (light) to 1 (heavy)",
          "default": 0.8,
          "type": "number"
        },
        "windStrength": {
          "description": "Wind strength affecting rain direction and particle motion",
          "default": 10,
          "type": "number"
        },
        "lightningFrequency": {
          "description": "Lightning strikes per second during the storm",
          "default": 0.2,
          "type": "number"
        },
        "fogDensity": {
          "description": "Density of atmospheric fog applied to the scene",
          "default": 0.02,
          "type": "number"
        },
        "duration": {
          "description": "Duration in seconds (0 = continuous)",
          "default": 0,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_time_of_day": {
    "title": "Create Time of Day System",
    "description": "Create dynamic day-night cycle with sun and moon movement",
    "category": "TimeOfDay",
    "inputSchema": {
      "type": "object",
      "properties": {
        "startTime": {
          "description": "Initial time of day in hours (0-24)",
          "default": 12,
          "type": "number"
        },
        "dayDuration": {
          "description": "Duration of full day cycle in seconds",
          "default": 60,
          "type": "number"
        },
        "latitude": {
          "description": "Latitude in degrees for sun positioning",
          "default": 35,
          "type": "number"
        },
        "longitude": {
          "description": "Longitude in degrees for sun positioning",
          "default": 0,
          "type": "number"
        },
        "enableClouds": {
          "description": "Enable procedural cloud rendering in the sky",
          "default": true,
          "type": "boolean"
        },
        "enableStars": {
          "description": "Enable star rendering during night time",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_set_time_of_day": {
    "title": "Set Time of Day",
    "description": "Set specific time in the day-night cycle",
    "category": "TimeOfDay",
    "inputSchema": {
      "type": "object",
      "properties": {
        "time": {
          "description": "Target time (0-24 hours)",
          "type": "number"
        },
        "instant": {
          "description": "If true, jump to target time instantly without transition",
          "default": false,
          "type": "boolean"
        },
        "transitionDuration": {
          "description": "Duration in seconds for the smooth time transition",
          "default": 5,
          "type": "number"
        }
      },
      "required": [
        "time"
      ]
    },
    "embedding": null
  },
  "unity_create_day_night_preset": {
    "title": "Create Day Night Preset",
    "description": "Apply preset lighting conditions for different environments",
    "category": "TimeOfDay",
    "inputSchema": {
      "type": "object",
      "properties": {
        "preset": {
          "description": "Environment preset that defines lighting and sky behavior",
          "default": "Default",
          "type": "string",
          "enum": [
            "Default",
            "Tropical",
            "Desert",
            "Arctic",
            "Urban"
          ]
        },
        "sunriseTime": {
          "description": "Sunrise time in hours (0-24)",
          "default": 6,
          "type": "number"
        },
        "sunsetTime": {
          "description": "Sunset time in hours (0-24)",
          "default": 18,
          "type": "number"
        },
        "sunriseColor": {
          "description": "Hex color of the directional light at sunrise",
          "default": "#FF8C42",
          "type": "string"
        },
        "noonColor": {
          "description": "Hex color of the directional light at noon",
          "default": "#FFFFFF",
          "type": "string"
        },
        "sunsetColor": {
          "description": "Hex color of the directional light at sunset",
          "default": "#FF6B35",
          "type": "string"
        },
        "nightColor": {
          "description": "Hex color of ambient lighting during night time",
          "default": "#1E3A8A",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_create_skybox_blend": {
    "title": "Create Skybox Blend",
    "description": "Blend between day and night skyboxes",
    "category": "Lighting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "daySkybox": {
          "description": "Name of the daytime skybox material to use",
          "default": "Default-Skybox",
          "type": "string"
        },
        "nightSkybox": {
          "description": "Name of the nighttime skybox material to use",
          "default": "",
          "type": "string"
        },
        "blendCurve": {
          "description": "Curve type for blending between day and night skyboxes",
          "default": "Smooth",
          "type": "string",
          "enum": [
            "Linear",
            "Smooth",
            "Sharp"
          ]
        },
        "cloudSpeed": {
          "description": "Movement speed of clouds across the skybox",
          "default": 0.1,
          "type": "number"
        },
        "cloudOpacity": {
          "description": "Opacity of clouds in the skybox (0-1)",
          "default": 0.5,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_skybox_from_image": {
    "title": "Create Skybox from Image",
    "description": "Create a Skybox from image(s). Supports: (1) Panoramic/HDRI - single 360° equirectangular image, (2) 6-Sided - six face textures, (3) Sphere/Dome - regular landscape photo on inverted sphere (best for non-360 photos)",
    "category": "Lighting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "type": {
          "description": "Skybox type: panoramic/hdri for 360° image, 6sided/cubemap for 6 faces, sphere/dome/landscape for regular photos on inverted sphere",
          "default": "panoramic",
          "type": "string",
          "enum": [
            "panoramic",
            "hdri",
            "6sided",
            "cubemap",
            "sphere",
            "dome",
            "landscape"
          ]
        },
        "imagePath": {
          "description": "Path to image. e.g., \"Assets/Textures/sky.jpg\"",
          "type": "string"
        },
        "front": {
          "description": "Front face texture path (for 6sided type)",
          "type": "string"
        },
        "back": {
          "description": "Back face texture path (for 6sided type)",
          "type": "string"
        },
        "left": {
          "description": "Left face texture path (for 6sided type)",
          "type": "string"
        },
        "right": {
          "description": "Right face texture path (for 6sided type)",
          "type": "string"
        },
        "up": {
          "description": "Up/Top face texture path (for 6sided type)",
          "type": "string"
        },
        "down": {
          "description": "Down/Bottom face texture path (for 6sided type)",
          "type": "string"
        },
        "materialName": {
          "description": "Name for the created material",
          "default": "CustomSkybox",
          "type": "string"
        },
        "exposure": {
          "description": "Skybox brightness (0.1-8.0, for panoramic/6sided)",
          "default": 1,
          "type": "number"
        },
        "rotation": {
          "description": "Skybox rotation in degrees (0-360)",
          "default": 0,
          "type": "number"
        },
        "applyToScene": {
          "description": "Apply material to scene RenderSettings skybox (for sphere type)",
          "default": false,
          "type": "boolean"
        },
        "radius": {
          "description": "Sphere radius (for sphere/dome type)",
          "default": 500,
          "type": "number"
        },
        "followCamera": {
          "description": "Make sphere follow camera position (for sphere/dome type)",
          "default": true,
          "type": "boolean"
        },
        "objectName": {
          "description": "GameObject name (for sphere/dome type)",
          "default": "SkySphere",
          "type": "string"
        },
        "applyToCamera": {
          "description": "Apply material to MainCamera skybox (for sphere type)",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_time_event": {
    "title": "Create Time Event",
    "description": "Create events triggered at specific times",
    "category": "TimeOfDay",
    "inputSchema": {
      "type": "object",
      "properties": {
        "eventName": {
          "description": "Unique name identifier for the time event",
          "type": "string"
        },
        "triggerTime": {
          "description": "Time to trigger event (0-24)",
          "type": "number"
        },
        "eventType": {
          "description": "Event trigger type: Once fires single time, Daily fires every day",
          "default": "Once",
          "type": "string",
          "enum": [
            "Once",
            "Daily"
          ]
        },
        "action": {
          "description": "Action to perform (activate, deactivate, toggle)",
          "type": "string"
        },
        "targetObject": {
          "description": "GameObject to affect",
          "type": "string"
        }
      },
      "required": [
        "eventName",
        "triggerTime",
        "action"
      ]
    },
    "embedding": null
  },
  "unity_search": {
    "title": "Search Objects",
    "description": "Search for objects in the scene",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "searchType": {
          "description": "Type of search criterion to match GameObjects against",
          "type": "string",
          "enum": [
            "name",
            "tag",
            "layer",
            "component"
          ]
        },
        "query": {
          "description": "Search query string matched against the selected searchType",
          "type": "string"
        },
        "includeInactive": {
          "description": "Include inactive GameObjects in the search results",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "searchType",
        "query"
      ]
    },
    "embedding": null
  },
  "unity_get_scene_info": {
    "title": "Get Scene Information",
    "description": "Get comprehensive information about the current Unity scene including hierarchy, statistics, lighting, and cameras. Now includes detailed Transform data (world/local position, rotation, scale) and RectTransform data (anchors, pivot, sizeDelta, rect) for all GameObjects. WARNING: Can return large response (>1MB) for complex scenes. For large scenes, use unity_get_scene_summary instead.",
    "category": "Scene",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_scene_summary": {
    "title": "Get Scene Summary (Lightweight)",
    "description": "Get lightweight scene overview (<200KB). Returns: scene name, GameObject count, cameras, lights, root GameObjects list (max 50). Recommended for large scenes instead of unity_get_scene_info.",
    "category": "Scene",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_gameobjects_list": {
    "title": "Get Filtered GameObjects List",
    "description": "Get filtered list of GameObjects (<50KB). Returns GameObject names, IDs, paths, layers, tags. Supports filters: layer, tag, name (contains), activeOnly. Max 100 results.",
    "category": "GameObject",
    "inputSchema": {
      "type": "object",
      "properties": {
        "layerFilter": {
          "description": "Filter by layer name (e.g. \"UI\", \"Default\")",
          "type": "string"
        },
        "tagFilter": {
          "description": "Filter by tag (e.g. \"Player\", \"Enemy\")",
          "type": "string"
        },
        "nameFilter": {
          "description": "Filter by name (contains, case-sensitive)",
          "type": "string"
        },
        "activeOnly": {
          "description": "Only return active GameObjects",
          "type": "boolean"
        },
        "maxCount": {
          "description": "Maximum number of results (default: 100)",
          "default": 100,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_get_gameobject_detail": {
    "title": "Get GameObject Detailed Information",
    "description": "Get detailed information for a specific GameObject (<10KB). Returns: transform, components with details, children, parent. Find GameObject by name or instanceId (use unity_get_gameobjects_list first to get IDs).",
    "category": "GameObject",
    "inputSchema": {
      "type": "object",
      "properties": {
        "nameOrId": {
          "description": "GameObject name or instanceId (from unity_get_gameobjects_list)",
          "type": "string"
        }
      },
      "required": [
        "nameOrId"
      ]
    },
    "embedding": null
  },
  "unity_get_scene_changes_since": {
    "title": "Get Incremental Scene Changes",
    "description": "Get scene changes since a timestamp. Returns: added, removed, modified GameObjects. Use for efficient scene monitoring. On first call or if timestamp too old, returns full scene summary.",
    "category": "Scene",
    "inputSchema": {
      "type": "object",
      "properties": {
        "timestamp": {
          "description": "ISO 8601 timestamp (e.g. \"2025-01-15T12:00:00Z\"). Use current time on first call, then use returned timestamp for next call.",
          "type": "string"
        }
      },
      "required": [
        "timestamp"
      ]
    },
    "embedding": null
  },
  "unity_capture_game_view": {
    "title": "Capture Game View Screenshot",
    "description": "Capture a screenshot of the Unity Game View including all Canvas/UI elements. WORKFLOW: 1) Call this tool → returns \"status: pending\" if Play mode transition needed. 2) DO NOT CALL ANY OTHER TOOLS. WAIT EXACTLY 3 SECONDS. This is REQUIRED for Play mode transition and rendering stabilization. 3) After 3 seconds, call unity_get_screenshot_result to retrieve the actual screenshot path and resolution. CRITICAL: The screenshot is NOT complete until you retrieve the result with unity_get_screenshot_re",
    "category": "Screenshot",
    "inputSchema": {
      "type": "object",
      "properties": {
        "filename": {
          "description": "Output filename (default: GameView_timestamp.png)",
          "type": "string"
        },
        "path": {
          "description": "Output directory path",
          "default": "Assets/Screenshots",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_capture_scene_view": {
    "title": "Capture Scene View Screenshot",
    "description": "Capture a screenshot of the Unity Scene View. The image is saved to Assets/Screenshots and can be analyzed by Claude Vision. Returns the file path for immediate analysis.",
    "category": "Scene",
    "inputSchema": {
      "type": "object",
      "properties": {
        "filename": {
          "description": "Output filename (default: SceneView_timestamp.png)",
          "type": "string"
        },
        "path": {
          "description": "Output directory path",
          "default": "Assets/Screenshots",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_capture_region": {
    "title": "Capture Specific Region Screenshot",
    "description": "Capture a screenshot of a specific region within Unity Game View or Scene View. Useful for capturing specific UI elements or areas. WORKFLOW for view=\"game\": 1) Call this tool → returns \"status: pending\" if Play mode transition needed. 2) DO NOT CALL ANY OTHER TOOLS. WAIT EXACTLY 3 SECONDS for Play mode transition and rendering stabilization. 3) After 3 seconds, call unity_get_screenshot_result to retrieve result. CRITICAL: The capture is NOT complete until you retrieve the result with unity_get",
    "category": "Screenshot",
    "inputSchema": {
      "type": "object",
      "properties": {
        "x": {
          "description": "X coordinate of the region (top-left corner)",
          "type": "number"
        },
        "y": {
          "description": "Y coordinate of the region (top-left corner)",
          "type": "number"
        },
        "width": {
          "description": "Width of the region in pixels",
          "type": "number"
        },
        "height": {
          "description": "Height of the region in pixels",
          "type": "number"
        },
        "view": {
          "description": "Which view to capture from: \"game\" (includes Canvas/UI, auto Play mode if needed) or \"scene\" (3D view only, works in Edit mode)",
          "default": "game",
          "type": "string",
          "enum": [
            "game",
            "scene"
          ]
        },
        "filename": {
          "description": "Output filename (default: Region_timestamp.png)",
          "type": "string"
        },
        "path": {
          "description": "Output directory path",
          "default": "Assets/Screenshots",
          "type": "string"
        }
      },
      "required": [
        "x",
        "y",
        "width",
        "height"
      ]
    },
    "embedding": null
  },
  "unity_get_screenshot_result": {
    "title": "Get Screenshot Result",
    "description": "Retrieve the result of a screenshot capture operation that required Play mode transition. WORKFLOW: When unity_capture_game_view or unity_capture_region returns {\"status\": \"pending\"}, Unity is entering Play mode to capture Canvas/UI. Wait EXACTLY 3 SECONDS, then call THIS tool to retrieve the actual screenshot result including file path, width, and height. Returns {\"status\": \"capturing\"} if still in progress (you called too early - wait more), {\"status\": \"no_result\"} if no capture pending.",
    "category": "Screenshot",
    "inputSchema": null,
    "embedding": null
  },
  "unity_capture_grid": {
    "title": "Capture Game View as Grid",
    "description": "Automatically split and capture the Game View into a grid of multiple screenshots. Useful for analyzing different areas of the UI systematically. WORKFLOW: 1) Call this tool with grid size (e.g., \"2x2\", \"3x3\"). 2) If returns \"status: pending\", WAIT EXACTLY 3 SECONDS for Play mode transition. 3) Call unity_get_screenshot_result to retrieve all grid files. Returns multiple image files (one for each grid cell) with their positions.",
    "category": "Screenshot",
    "inputSchema": {
      "type": "object",
      "properties": {
        "grid": {
          "description": "Grid size in format \"2x2\", \"3x3\", \"4x4\", etc. (max 5x5). Each cell will be saved as a separate file.",
          "type": "string"
        },
        "basename": {
          "description": "Base name for output files (default: Grid_timestamp). Files will be named basename_r0_c0.png, basename_r0_c1.png, etc.",
          "type": "string"
        },
        "path": {
          "description": "Output directory path",
          "default": "Assets/Screenshots",
          "type": "string"
        }
      },
      "required": [
        "grid"
      ]
    },
    "embedding": null
  },
  "unity_capture_ui_element": {
    "title": "Capture Specific UI Element",
    "description": "Capture a specific UI element by its GameObject name. Automatically finds the element, calculates its screen bounds, and captures just that region. WORKFLOW: 1) Call this tool with the GameObject name (e.g., \"MoveButton\", \"HealthBar\"). 2) If returns \"status: pending\", WAIT EXACTLY 3 SECONDS for Play mode transition. 3) Call unity_get_screenshot_result to retrieve the captured element. Works with Canvas Overlay, Camera, and World Space render modes.",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "elementName": {
          "description": "GameObject name of the UI element to capture (e.g., \"MoveButton\", \"CharacterNameText\")",
          "type": "string"
        },
        "filename": {
          "description": "Output filename (default: UIElement_{elementName}_timestamp.png)",
          "type": "string"
        },
        "path": {
          "description": "Output directory path",
          "default": "Assets/Screenshots",
          "type": "string"
        }
      },
      "required": [
        "elementName"
      ]
    },
    "embedding": null
  },
  "unity_force_refresh_assets": {
    "title": "Force Refresh Assets",
    "description": "Force Unity to refresh the asset database and recompile scripts. IMPORTANT: Before using this tool after editing .cs files, always run unity_analyze_console_logs with logType:\"error\" to check for syntax/compile errors. If errors exist, fix them first. Only refresh when error-free. Essential after modifying .cs files to ensure changes are recognized before invoking methods.",
    "category": "Editor",
    "inputSchema": {
      "type": "object",
      "properties": {
        "importMode": {
          "description": "Import mode: \"default\" (normal refresh), \"force\" (force reimport all), \"forcesynchronous\" (force reimport and wait for completion)",
          "default": "default",
          "type": "string",
          "enum": [
            "default",
            "force",
            "forcesynchronous"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_invoke_context_menu": {
    "title": "Invoke ContextMenu Method",
    "description": "Invoke a method decorated with [ContextMenu] attribute on a component. Perfect for triggering custom editor actions like BuildLayout(), GenerateUI(), etc. WORKFLOW: 1) Edit code 2) unity_analyze_console_logs(error) 3) Fix errors if any 4) unity_force_refresh_assets 5) unity_analyze_console_logs(error) 6) Use this tool. This ensures error-free execution.",
    "category": "Editor",
    "inputSchema": {
      "type": "object",
      "properties": {
        "componentName": {
          "description": "Name of the component class (e.g., \"HomeScreenFlexLayout\")",
          "type": "string"
        },
        "methodName": {
          "description": "Name of the method to invoke (e.g., \"BuildLayout\")",
          "type": "string"
        },
        "gameObjectName": {
          "description": "Name of the GameObject containing the component (optional, will search scene if not provided)",
          "type": "string"
        }
      },
      "required": [
        "componentName",
        "methodName"
      ]
    },
    "embedding": null
  },
  "unity_execute_menu_item": {
    "title": "Execute Menu Item",
    "description": "Execute a Unity Editor menu item by its path. Use this to trigger any Unity menu action programmatically. Examples: \"Edit/Preferences\", \"Window/Package Manager\", \"Assets/Refresh\", \"File/Save Project\", \"Tools/Synaptic Pro/AI Reconnect\".",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "menuPath": {
          "description": "The full menu path to execute (e.g., \"Edit/Preferences\", \"Window/Package Manager\", \"Assets/Refresh\")",
          "type": "string"
        }
      },
      "required": [
        "menuPath"
      ]
    },
    "embedding": null
  },
  "unity_run_csharp": {
    "title": "Run C# Code",
    "description": "Execute arbitrary C# code against the running Unity Editor (equivalent of Blender's run_python). UnityEngine / UnityEditor / System.Linq / Newtonsoft.Json are pre-imported. Use this as an escape hatch when no dedicated tool covers the operation. Examples: \"AssetDatabase.SaveAssets(); return \\\"saved\\\";\", \"GameObject.Find(\\\"Cube\\\").transform.position = new Vector3(1,2,3);\", \"return Selection.activeGameObject?.name;\". Does NOT trigger an AssemblyReload — the HTTP/WebSocket connection stays alive.",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "code": {
          "description": "C# code to execute. Can be a single expression (\"1+1\") or statements (\"var go = new GameObject(\\\"X\\\"); return go.name;\"). Pre-imported namespaces: System, System.Linq, System.Collections.Generic, UnityEngine, UnityEditor.",
          "type": "string"
        }
      },
      "required": [
        "code"
      ]
    },
    "embedding": null
  },
  "unity_get_inspector_info": {
    "title": "Get Inspector Information",
    "description": "Get detailed inspector information for a specific GameObject, including all components, properties, and values",
    "category": "Editor",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObjectName": {
          "description": "Name of the GameObject to inspect",
          "type": "string"
        },
        "includePrivateFields": {
          "description": "Include private/protected fields in inspection",
          "default": false,
          "type": "boolean"
        },
        "includeEvents": {
          "description": "Include UnityEvent information",
          "default": false,
          "type": "boolean"
        },
        "componentFilter": {
          "description": "Filter by specific component type (e.g., \"Transform\", \"Rigidbody\")",
          "type": "string"
        }
      },
      "required": [
        "gameObjectName"
      ]
    },
    "embedding": null
  },
  "unity_get_selected_object_info": {
    "title": "Get Selected Object Inspector Info",
    "description": "Get detailed inspector information for the currently selected GameObject in the Unity Editor",
    "category": "Editor",
    "inputSchema": {
      "type": "object",
      "properties": {
        "includePrivateFields": {
          "description": "Include private/protected fields in inspection",
          "default": false,
          "type": "boolean"
        },
        "includeEvents": {
          "description": "Include UnityEvent information",
          "default": false,
          "type": "boolean"
        },
        "componentFilter": {
          "description": "Filter by specific component type",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_get_component_details": {
    "title": "Get Component Details",
    "description": "Get detailed information about a specific component on a GameObject, including all serialized properties",
    "category": "Editor",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObjectName": {
          "description": "Name of the GameObject",
          "type": "string"
        },
        "componentType": {
          "description": "Type of the component (e.g., \"Transform\", \"Rigidbody\", \"BoxCollider\")",
          "type": "string"
        },
        "includeSerializedProperties": {
          "description": "Include all serialized properties",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "gameObjectName",
        "componentType"
      ]
    },
    "embedding": null
  },
  "unity_console": {
    "title": "Console Operations",
    "description": "Unity console log count and basic info retrieval",
    "category": "Editor",
    "inputSchema": {
      "type": "object",
      "properties": {
        "operation": {
          "description": "Console operation to perform: read logs or clear them",
          "default": "read",
          "type": "string",
          "enum": [
            "read",
            "clear"
          ]
        },
        "logType": {
          "description": "Filter logs by type or return all",
          "default": "all",
          "type": "string",
          "enum": [
            "all",
            "info",
            "warning",
            "error"
          ]
        },
        "limit": {
          "description": "Maximum number of log entries to return",
          "default": 50,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_analyze_console_logs": {
    "title": "Analyze Console Logs",
    "description": "Detailed analysis of Unity console logs with file paths, line numbers and stack traces. CRITICAL: Always use this BEFORE unity_force_refresh_assets when you edit .cs files - check for syntax/compile errors with logType:\"error\". This prevents compilation failures and ensures clean workflows. Returns detailed error info including file paths and line numbers for easy fixing.",
    "category": "Editor",
    "inputSchema": {
      "type": "object",
      "properties": {
        "logType": {
          "description": "Filter Unity console logs by severity level",
          "default": "error",
          "type": "string",
          "enum": [
            "all",
            "error",
            "warning",
            "log"
          ]
        },
        "limit": {
          "description": "Maximum number of log entries to analyze and return",
          "default": 10,
          "type": "number"
        },
        "includeStackTrace": {
          "description": "Include full stack trace information in the analysis output",
          "default": true,
          "type": "boolean"
        },
        "operation": {
          "description": "Operation mode for console log analysis",
          "default": "analyze",
          "type": "string",
          "enum": [
            "analyze"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_list_packages": {
    "title": "List Packages",
    "description": "List all installed Unity packages",
    "category": "Package",
    "inputSchema": {
      "type": "object",
      "properties": {
        "filter": {
          "description": "Package list filter: all packages or only offline cached",
          "default": "all",
          "type": "string",
          "enum": [
            "all",
            "offline"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_install_package": {
    "title": "Install Package",
    "description": "Install a Unity package",
    "category": "Package",
    "inputSchema": {
      "type": "object",
      "properties": {
        "packageId": {
          "description": "Package identifier (e.g., com.unity.ai.navigation)",
          "type": "string"
        }
      },
      "required": [
        "packageId"
      ]
    },
    "embedding": null
  },
  "unity_remove_package": {
    "title": "Remove Package",
    "description": "Remove an installed Unity package",
    "category": "Transform",
    "inputSchema": {
      "type": "object",
      "properties": {
        "packageName": {
          "description": "Package name (e.g., com.unity.ai.navigation)",
          "type": "string"
        }
      },
      "required": [
        "packageName"
      ]
    },
    "embedding": null
  },
  "unity_check_package": {
    "title": "Check Package",
    "description": "Check if a package is installed",
    "category": "Package",
    "inputSchema": {
      "type": "object",
      "properties": {
        "packageName": {
          "description": "Package name to check",
          "type": "string"
        }
      },
      "required": [
        "packageName"
      ]
    },
    "embedding": null
  },
  "unity_place_objects": {
    "title": "Place Objects",
    "description": "Place multiple objects with pattern",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "prefab": {
          "description": "Prefab asset path or name to instantiate (e.g., Assets/Prefabs/Tree.prefab)",
          "type": "string"
        },
        "pattern": {
          "description": "Placement pattern: grid layout, circle ring, straight line, or random scatter",
          "type": "string",
          "enum": [
            "grid",
            "circle",
            "line",
            "random"
          ]
        },
        "count": {
          "description": "Total number of prefab instances to place in the scene",
          "type": "number"
        },
        "spacing": {
          "description": "Distance in Unity world units between placed objects",
          "default": 1,
          "type": "number"
        }
      },
      "required": [
        "prefab",
        "pattern",
        "count"
      ]
    },
    "embedding": null
  },
  "unity_get_operation_history": {
    "title": "Get Operation History",
    "description": "Get history of Unity operations",
    "category": "Monitoring",
    "inputSchema": {
      "type": "object",
      "properties": {
        "count": {
          "description": "Maximum number of recent operation history entries to return",
          "default": 10,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_undo_operation": {
    "title": "Undo Operation",
    "description": "Undo last Unity operation",
    "category": "Utility",
    "inputSchema": null,
    "embedding": null
  },
  "unity_redo_operation": {
    "title": "Redo Operation",
    "description": "Redo previously undone operation",
    "category": "Utility",
    "inputSchema": null,
    "embedding": null
  },
  "unity_create_checkpoint": {
    "title": "Create Checkpoint",
    "description": "Create a checkpoint to restore later",
    "category": "Monitoring",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Unique checkpoint name used later to restore the saved Unity scene state",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_restore_checkpoint": {
    "title": "Restore Checkpoint",
    "description": "Restore a previously created checkpoint",
    "category": "Monitoring",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of a previously created checkpoint to roll the scene back to",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_monitor_play_state": {
    "title": "Monitor Play State",
    "description": "Monitor Unity play mode state changes",
    "category": "Monitoring",
    "inputSchema": {
      "type": "object",
      "properties": {
        "enable": {
          "description": "Enable or disable monitoring of Unity Editor play mode state transitions",
          "type": "boolean"
        }
      },
      "required": [
        "enable"
      ]
    },
    "embedding": null
  },
  "unity_monitor_file_changes": {
    "title": "Monitor File Changes",
    "description": "Monitor file changes in the project",
    "category": "Monitoring",
    "inputSchema": {
      "type": "object",
      "properties": {
        "enable": {
          "description": "Enable or disable file change monitoring for the Unity project asset folders",
          "type": "boolean"
        },
        "folders": {
          "description": "List of folder paths under Assets to watch; defaults to entire Assets folder",
          "type": "array"
        }
      },
      "required": [
        "enable"
      ]
    },
    "embedding": null
  },
  "unity_monitor_compile": {
    "title": "Monitor Compilation",
    "description": "Monitor script compilation events",
    "category": "Monitoring",
    "inputSchema": {
      "type": "object",
      "properties": {
        "enable": {
          "description": "Enable or disable monitoring of Unity script compilation start and finish events",
          "type": "boolean"
        }
      },
      "required": [
        "enable"
      ]
    },
    "embedding": null
  },
  "unity_subscribe_events": {
    "title": "Subscribe to Events",
    "description": "Subscribe to Unity events",
    "category": "Monitoring",
    "inputSchema": {
      "type": "object",
      "properties": {
        "events": {
          "description": "List of Unity event names to subscribe to (e.g., playModeStateChanged, hierarchyChanged)",
          "type": "array"
        }
      },
      "required": [
        "events"
      ]
    },
    "embedding": null
  },
  "unity_get_events": {
    "title": "Get Events",
    "description": "Get recent Unity events",
    "category": "Monitoring",
    "inputSchema": {
      "type": "object",
      "properties": {
        "count": {
          "description": "Maximum number of most recent Unity events to retrieve",
          "default": 10,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_get_monitoring_status": {
    "title": "Get Monitoring Status",
    "description": "Get current monitoring status",
    "category": "Monitoring",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_build_settings": {
    "title": "Get Build Settings",
    "description": "Get Unity build settings",
    "category": "Build",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_player_settings": {
    "title": "Get Player Settings",
    "description": "Get Unity player settings",
    "category": "Build",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_quality_settings": {
    "title": "Get Quality Settings",
    "description": "Get Unity quality settings",
    "category": "Build",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_input_settings": {
    "title": "Get Input Settings",
    "description": "Get Unity input settings",
    "category": "Input",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_physics_settings": {
    "title": "Get Physics Settings",
    "description": "Get Unity physics settings",
    "category": "Physics",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_project_summary": {
    "title": "Get Project Summary",
    "description": "Get overall project summary",
    "category": "Build",
    "inputSchema": null,
    "embedding": null
  },
  "unity_list_assets": {
    "title": "List Assets",
    "description": "List assets in the project",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Project-relative folder path to list assets from (e.g., Assets/Prefabs)",
          "default": "Assets",
          "type": "string"
        },
        "type": {
          "description": "Optional Unity asset type filter such as Prefab, Material, Texture2D, or Script",
          "type": "string"
        },
        "recursive": {
          "description": "Recursively include assets in all subfolders under the given path",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_search_prefabs_by_component": {
    "title": "Search Prefabs by Component",
    "description": "🔍 Search for prefabs containing specific component(s). Useful for finding all prefabs with Rigidbody, Collider, custom scripts, etc.",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "componentName": {
          "description": "Component name to search for (e.g., \"Rigidbody\", \"AudioSource\")",
          "type": "string"
        },
        "searchPath": {
          "description": "Directory to search in",
          "default": "Assets",
          "type": "string"
        },
        "recursive": {
          "description": "Search recursively",
          "default": true,
          "type": "boolean"
        },
        "includeDisabled": {
          "description": "Include disabled components",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "componentName"
      ]
    },
    "embedding": null
  },
  "unity_find_material_usage": {
    "title": "Find Material Usage",
    "description": "🎨 Find all GameObjects, prefabs, and renderers using a specific material. Shows where materials are referenced in the project.",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "materialPath": {
          "description": "Material path (e.g., Assets/Materials/Wood.mat)",
          "type": "string"
        },
        "materialName": {
          "description": "Material name (alternative to path)",
          "type": "string"
        },
        "searchInScenes": {
          "description": "Search in currently loaded scenes",
          "default": true,
          "type": "boolean"
        },
        "searchInPrefabs": {
          "description": "Search in all prefabs",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "materialPath"
      ]
    },
    "embedding": null
  },
  "unity_find_texture_usage": {
    "title": "Find Texture Usage",
    "description": "🖼️ Find all materials and shaders using a specific texture. Useful for understanding texture dependencies.",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "texturePath": {
          "description": "Texture path (e.g., Assets/Textures/Brick.png)",
          "type": "string"
        },
        "textureName": {
          "description": "Texture name (alternative to path)",
          "type": "string"
        },
        "includeShaderProperties": {
          "description": "Show which shader properties use this texture",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "texturePath"
      ]
    },
    "embedding": null
  },
  "unity_get_asset_dependencies": {
    "title": "Get Asset Dependencies",
    "description": "🔗 Get all dependencies of an asset (textures, materials, scripts, etc.). Shows complete dependency tree.",
    "category": "AssetManagement",
    "inputSchema": {
      "type": "object",
      "properties": {
        "assetPath": {
          "description": "Asset path (e.g., Assets/Prefabs/Player.prefab)",
          "type": "string"
        },
        "recursive": {
          "description": "Get recursive dependencies",
          "default": true,
          "type": "boolean"
        },
        "includeBuiltIn": {
          "description": "Include built-in Unity assets",
          "default": false,
          "type": "boolean"
        },
        "groupByType": {
          "description": "Group results by asset type",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "assetPath"
      ]
    },
    "embedding": null
  },
  "unity_find_missing_references": {
    "title": "Find Missing References",
    "description": "⚠️ Find missing scripts, materials, textures, and other references in scenes and prefabs. Critical for project cleanup.",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "searchPath": {
          "description": "Directory to search in",
          "default": "Assets",
          "type": "string"
        },
        "types": {
          "description": "Types to check",
          "default": "['all']",
          "type": "array"
        },
        "searchInScenes": {
          "description": "Search in currently loaded scenes",
          "default": true,
          "type": "boolean"
        },
        "searchInPrefabs": {
          "description": "Search in all prefabs",
          "default": true,
          "type": "boolean"
        },
        "includeChildren": {
          "description": "Check child objects",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_check_folder": {
    "title": "Check Folder",
    "description": "Check if folder exists",
    "category": "AssetManagement",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Project-relative folder path to check for existence (e.g., Assets/Prefabs)",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_create_folder": {
    "title": "Create Folder",
    "description": "Create a new folder",
    "category": "AssetManagement",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Project-relative path of the new folder to create (e.g., Assets/MyNewFolder)",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_list_folders": {
    "title": "List Folders",
    "description": "List folders in a path",
    "category": "AssetManagement",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Project-relative path to enumerate child folders under (defaults to project root Assets)",
          "default": "Assets",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_duplicate_gameobject": {
    "title": "Duplicate GameObject",
    "description": "Duplicate an existing GameObject",
    "category": "GameObject",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObject": {
          "description": "Name or hierarchy path of the source GameObject in the active scene to duplicate",
          "type": "string"
        },
        "newName": {
          "description": "Optional name for the duplicated GameObject; defaults to source name with (Clone) suffix",
          "type": "string"
        }
      },
      "required": [
        "gameObject"
      ]
    },
    "embedding": null
  },
  "unity_find_gameobjects_by_component": {
    "title": "Find GameObjects by Component",
    "description": "Find all GameObjects with specific component",
    "category": "GameObject",
    "inputSchema": {
      "type": "object",
      "properties": {
        "componentType": {
          "description": "Unity component type name to search for (e.g., Rigidbody, AudioSource, MeshRenderer)",
          "type": "string"
        },
        "includeInactive": {
          "description": "Whether to include inactive GameObjects in the scene search results",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "componentType"
      ]
    },
    "embedding": null
  },
  "unity_cleanup_empty_objects": {
    "title": "Cleanup Empty Objects",
    "description": "Remove empty GameObjects from scene",
    "category": "AssetManagement",
    "inputSchema": {
      "type": "object",
      "properties": {
        "dryRun": {
          "description": "When true, only report empty GameObjects that would be removed without modifying the scene",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_group_gameobjects": {
    "title": "Group GameObjects",
    "description": "Group multiple GameObjects under a parent",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObjects": {
          "description": "Names of GameObjects to group",
          "type": "array"
        },
        "parentName": {
          "description": "Name for the parent group",
          "type": "string"
        }
      },
      "required": [
        "gameObjects",
        "parentName"
      ]
    },
    "embedding": null
  },
  "unity_rename_asset": {
    "title": "Rename Asset",
    "description": "Rename an asset file",
    "category": "AssetManagement",
    "inputSchema": {
      "type": "object",
      "properties": {
        "oldPath": {
          "description": "Current asset path",
          "type": "string"
        },
        "newName": {
          "description": "New name for the asset",
          "type": "string"
        }
      },
      "required": [
        "oldPath",
        "newName"
      ]
    },
    "embedding": null
  },
  "unity_move_asset": {
    "title": "Move Asset",
    "description": "Move an asset to a different folder",
    "category": "Transform",
    "inputSchema": {
      "type": "object",
      "properties": {
        "sourcePath": {
          "description": "Current asset path",
          "type": "string"
        },
        "destinationFolder": {
          "description": "Destination folder path",
          "type": "string"
        }
      },
      "required": [
        "sourcePath",
        "destinationFolder"
      ]
    },
    "embedding": null
  },
  "unity_delete_asset": {
    "title": "Delete Asset",
    "description": "Delete an asset from the project",
    "category": "AssetManagement",
    "inputSchema": {
      "type": "object",
      "properties": {
        "assetPath": {
          "description": "Path of asset to delete",
          "type": "string"
        },
        "moveToTrash": {
          "description": "Move to trash instead of permanent delete",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "assetPath"
      ]
    },
    "embedding": null
  },
  "unity_pause_scene": {
    "title": "Pause Scene",
    "description": "Pause or unpause the scene view",
    "category": "Scene",
    "inputSchema": {
      "type": "object",
      "properties": {
        "pause": {
          "description": "True to pause, false to unpause",
          "type": "boolean"
        }
      },
      "required": [
        "pause"
      ]
    },
    "embedding": null
  },
  "unity_optimize_textures_batch": {
    "title": "Optimize All Textures in Folder",
    "description": "Analyze and report draw call optimization opportunities",
    "category": "Optimization",
    "inputSchema": {
      "type": "object",
      "properties": {
        "folder": {
          "description": "Folder path to search for textures",
          "default": "Assets",
          "type": "string"
        },
        "maxTextureSize": {
          "description": "Maximum texture size (256, 512, 1024, 2048, 4096)",
          "type": "number"
        },
        "compressionQuality": {
          "description": "Compression quality level",
          "type": "string",
          "enum": [
            "low",
            "normal",
            "high"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_analyze_draw_calls": {
    "title": "Analyze Draw Calls",
    "description": "Analyze and report draw call optimization opportunities",
    "category": "Optimization",
    "inputSchema": null,
    "embedding": null
  },
  "unity_create_project_snapshot": {
    "title": "Create Project Snapshot",
    "description": "Create a snapshot of the current project state",
    "category": "AssetManagement",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Unique name for the project snapshot capturing the current Unity project state",
          "type": "string"
        },
        "description": {
          "description": "Optional human-readable description explaining the purpose of this snapshot",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_analyze_dependencies": {
    "title": "Analyze Asset Dependencies",
    "description": "Analyze and visualize asset dependencies in the project",
    "category": "AssetManagement",
    "inputSchema": {
      "type": "object",
      "properties": {
        "assetPath": {
          "description": "Specific asset to analyze (optional, analyzes all if not specified)",
          "type": "string"
        },
        "maxDepth": {
          "description": "Maximum depth of dependency tree",
          "default": 3,
          "type": "number"
        },
        "includePackages": {
          "description": "Include package dependencies",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_export_project_structure": {
    "title": "Export Project Structure",
    "description": "Export project folder structure",
    "category": "AssetManagement",
    "inputSchema": {
      "type": "object",
      "properties": {
        "format": {
          "description": "Output format for the exported project folder structure: json data, ASCII tree, or csv table",
          "default": "tree",
          "type": "string",
          "enum": [
            "json",
            "tree",
            "csv"
          ]
        },
        "includeFileSize": {
          "description": "Whether to include file size information for each asset in the exported structure",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_export_package": {
    "title": "Export Unity Package",
    "description": "Export assets as a .unitypackage file. Useful for distributing assets or creating backups.",
    "category": "Package",
    "inputSchema": {
      "type": "object",
      "properties": {
        "assetPaths": {
          "description": "Comma-separated asset paths to include (e.g., \"Assets/MyFolder,Assets/Scripts\")",
          "type": "string"
        },
        "outputPath": {
          "description": "Full output path including filename (optional, defaults to Desktop)",
          "type": "string"
        },
        "includeDependencies": {
          "description": "Include asset dependencies",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "assetPaths"
      ]
    },
    "embedding": null
  },
  "unity_validate_naming_conventions": {
    "title": "Validate Naming Conventions",
    "description": "Check if project assets follow naming conventions",
    "category": "AssetManagement",
    "inputSchema": {
      "type": "object",
      "properties": {
        "checkPascalCase": {
          "description": "Check PascalCase for scripts",
          "default": true,
          "type": "boolean"
        },
        "checkCamelCase": {
          "description": "Check camelCase for variables",
          "default": true,
          "type": "boolean"
        },
        "checkUnderscores": {
          "description": "Check for underscores in names",
          "default": true,
          "type": "boolean"
        },
        "customPatterns": {
          "description": "Custom regex patterns to check",
          "type": "array"
        }
      }
    },
    "embedding": null
  },
  "unity_extract_all_text": {
    "title": "Extract All Text",
    "description": "Extract all text content from the project for localization or AI training",
    "category": "Batch",
    "inputSchema": {
      "type": "object",
      "properties": {
        "includeScripts": {
          "description": "Extract text from scripts",
          "default": true,
          "type": "boolean"
        },
        "includeUI": {
          "description": "Extract text from UI elements",
          "default": true,
          "type": "boolean"
        },
        "includeComments": {
          "description": "Include code comments",
          "default": true,
          "type": "boolean"
        },
        "format": {
          "description": "Output format: json, txt, csv",
          "default": "json",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_batch_rename": {
    "title": "Batch Rename Multiple Assets",
    "description": "Rename multiple assets at once using search/replace patterns or regex.",
    "category": "Batch",
    "inputSchema": {
      "type": "object",
      "properties": {
        "searchPattern": {
          "description": "Text to search for in asset names",
          "type": "string"
        },
        "replacePattern": {
          "description": "Text to replace with",
          "type": "string"
        },
        "scope": {
          "description": "Where to search: selected assets, specific folder, or entire project",
          "default": "folder",
          "type": "string",
          "enum": [
            "selected",
            "folder",
            "project"
          ]
        },
        "folderPath": {
          "description": "Folder path (required if scope is \"folder\")",
          "type": "string"
        },
        "useRegex": {
          "description": "Treat searchPattern as regex",
          "default": false,
          "type": "boolean"
        },
        "caseSensitive": {
          "description": "Whether the search pattern matching should be case sensitive when locating asset names",
          "default": true,
          "type": "boolean"
        },
        "dryRun": {
          "description": "Preview changes without applying (recommended first)",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "searchPattern",
        "replacePattern"
      ]
    },
    "embedding": null
  },
  "unity_batch_import_settings": {
    "title": "Batch Apply Import Settings",
    "description": "Apply import settings to all assets of a type in a folder.",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "assetType": {
          "description": "Type of assets to modify",
          "type": "string",
          "enum": [
            "texture",
            "model",
            "audio"
          ]
        },
        "folder": {
          "description": "Target folder path",
          "type": "string"
        },
        "includeSubfolders": {
          "description": "Include assets in subfolders",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "assetType",
        "folder"
      ]
    },
    "embedding": null
  },
  "unity_batch_prefab_update": {
    "title": "Batch Update Multiple Prefabs",
    "description": "Add, remove, or modify components on multiple prefabs at once.",
    "category": "Batch",
    "inputSchema": {
      "type": "object",
      "properties": {
        "prefabFolder": {
          "description": "Folder containing prefabs",
          "type": "string"
        },
        "componentType": {
          "description": "Component type name (e.g., Rigidbody, BoxCollider, AudioSource)",
          "type": "string"
        },
        "operation": {
          "description": "What to do with the component",
          "type": "string",
          "enum": [
            "add",
            "remove",
            "modify"
          ]
        },
        "properties": {
          "description": "Properties to set if operation is \"modify\"",
          "type": "string"
        }
      },
      "required": [
        "prefabFolder",
        "componentType",
        "operation"
      ]
    },
    "embedding": null
  },
  "unity_batch_material_apply": {
    "title": "Batch Apply Material to Multiple Objects",
    "description": "Apply a material to multiple objects at once.",
    "category": "Batch",
    "inputSchema": {
      "type": "object",
      "properties": {
        "materialPath": {
          "description": "Path to the material asset (e.g., Assets/Materials/MyMaterial.mat)",
          "type": "string"
        },
        "targetObjects": {
          "description": "Comma-separated list of specific object names",
          "type": "string"
        },
        "searchPattern": {
          "description": "Find objects by name pattern (supports regex)",
          "type": "string"
        },
        "searchScope": {
          "description": "Where to search for objects",
          "default": "scene",
          "type": "string",
          "enum": [
            "scene",
            "selected",
            "children"
          ]
        },
        "replaceAll": {
          "description": "Replace all materials on each renderer",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "materialPath"
      ]
    },
    "embedding": null
  },
  "unity_batch_prefab_create": {
    "title": "Batch Create Prefabs from Objects",
    "description": "Find assets that are not referenced in the project",
    "category": "Batch",
    "inputSchema": {
      "type": "object",
      "properties": {
        "sourceObjects": {
          "description": "Comma-separated list of object names",
          "type": "string"
        },
        "searchPattern": {
          "description": "Find objects by name pattern (supports regex)",
          "type": "string"
        },
        "outputFolder": {
          "description": "Folder to save prefabs",
          "default": "Assets/Prefabs",
          "type": "string"
        },
        "namingPattern": {
          "description": "Prefab naming pattern. {name} = original name",
          "default": "{name}_Prefab",
          "type": "string"
        },
        "createVariants": {
          "description": "Create prefab variants if source is already a prefab instance",
          "default": false,
          "type": "boolean"
        },
        "deleteOriginal": {
          "description": "Delete original scene objects after prefab creation",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_find_unused_assets": {
    "title": "Find Unused Assets",
    "description": "Find assets that are not referenced in the project",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "assetTypes": {
          "description": "Asset types to scan for unused references",
          "type": "array"
        },
        "excludeFolders": {
          "description": "Folders to exclude from search",
          "type": "array"
        },
        "includePackages": {
          "description": "Whether to also scan assets inside the Packages folder",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_estimate_build_size": {
    "title": "Estimate Build Size",
    "description": "Estimate build size for different platforms",
    "category": "Optimization",
    "inputSchema": {
      "type": "object",
      "properties": {
        "platforms": {
          "description": "Target build platforms to estimate size for",
          "type": "array"
        },
        "includeStreamingAssets": {
          "description": "Include StreamingAssets folder contents in size estimation",
          "default": true,
          "type": "boolean"
        },
        "compressionLevel": {
          "description": "Asset compression level used for the estimation",
          "default": "normal",
          "type": "string",
          "enum": [
            "none",
            "fastest",
            "normal",
            "best"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_performance_report": {
    "title": "Generate Performance Report",
    "description": "Generate comprehensive performance analysis report",
    "category": "Optimization",
    "inputSchema": {
      "type": "object",
      "properties": {
        "includeRendering": {
          "description": "Include rendering metrics such as draw calls and batches",
          "default": true,
          "type": "boolean"
        },
        "includeTextures": {
          "description": "Include texture memory and import setting analysis",
          "default": true,
          "type": "boolean"
        },
        "includeMeshes": {
          "description": "Include mesh vertex and triangle count analysis",
          "default": true,
          "type": "boolean"
        },
        "includeScripts": {
          "description": "Include script CPU cost analysis in the report",
          "default": true,
          "type": "boolean"
        },
        "includeAudio": {
          "description": "Include audio clip memory and compression analysis",
          "default": true,
          "type": "boolean"
        },
        "targetPlatform": {
          "description": "Target platform used to apply performance budgets",
          "type": "string",
          "enum": [
            "Mobile",
            "Desktop",
            "Console",
            "VR"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_auto_organize_folders": {
    "title": "Auto Organize Project Folders",
    "description": "Automatically organize assets into appropriate folders",
    "category": "AssetManagement",
    "inputSchema": {
      "type": "object",
      "properties": {
        "rootFolder": {
          "description": "Root project folder to organize, typically Assets",
          "default": "Assets",
          "type": "string"
        },
        "createStandardFolders": {
          "description": "Create standard Unity subfolders such as Scripts, Prefabs, Materials",
          "default": true,
          "type": "boolean"
        },
        "moveAssets": {
          "description": "Actually move existing assets into the proper folders",
          "default": false,
          "type": "boolean"
        },
        "dryRun": {
          "description": "Preview the changes without modifying any assets on disk",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_generate_lod": {
    "title": "Generate LOD Groups",
    "description": "Automatically generate LOD groups for meshes",
    "category": "Optimization",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "GameObject or folder to process",
          "type": "string"
        },
        "lodLevels": {
          "description": "Number of LOD levels to generate, between 2 and 4",
          "default": 3,
          "type": "number"
        },
        "lodDistances": {
          "description": "Custom LOD distances",
          "type": "array"
        },
        "generateSimplifiedMeshes": {
          "description": "Auto-generate decimated meshes for each LOD level",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "targetObject"
      ]
    },
    "embedding": null
  },
  "unity_auto_atlas_textures": {
    "title": "Auto Create Texture Atlas",
    "description": "Automatically create texture atlases from multiple textures",
    "category": "Optimization",
    "inputSchema": {
      "type": "object",
      "properties": {
        "sourceFolder": {
          "description": "Folder containing textures",
          "type": "string"
        },
        "atlasName": {
          "description": "Name for the atlas",
          "type": "string"
        },
        "maxAtlasSize": {
          "description": "Maximum atlas texture size in pixels, e.g. 2048",
          "default": 2048,
          "type": "number"
        },
        "padding": {
          "description": "Padding in pixels between sprites in the atlas",
          "default": 2,
          "type": "number"
        },
        "includeInBuild": {
          "description": "Include the generated atlas in the built player",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "sourceFolder",
        "atlasName"
      ]
    },
    "embedding": null
  },
  "unity_create_game_controller": {
    "title": "Create Game Controller",
    "description": "Create player controller for different game types (FirstPerson, ThirdPerson, TopDown, Platformer2D)",
    "category": "GameSystems",
    "inputSchema": {
      "type": "object",
      "properties": {
        "type": {
          "description": "Player controller archetype to generate",
          "default": "FirstPerson",
          "type": "string",
          "enum": [
            "FirstPerson",
            "ThirdPerson",
            "TopDown",
            "Platformer2D"
          ]
        },
        "playerName": {
          "description": "Name of the generated player GameObject",
          "default": "Player",
          "type": "string"
        },
        "includeCamera": {
          "description": "Also create and attach a camera rig for the player",
          "default": true,
          "type": "boolean"
        },
        "movementSpeed": {
          "description": "Player movement speed in Unity units per second",
          "default": 5,
          "type": "number"
        },
        "jumpHeight": {
          "description": "Player jump height in Unity world units",
          "default": 3,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_setup_input_system": {
    "title": "Setup Input System",
    "description": "Setup Unity Input System with predefined templates",
    "category": "Input",
    "inputSchema": {
      "type": "object",
      "properties": {
        "template": {
          "description": "Predefined input bindings template to apply",
          "default": "Standard",
          "type": "string",
          "enum": [
            "Standard",
            "Mobile",
            "VR"
          ]
        },
        "createAsset": {
          "description": "Create a saved InputActionAsset in the project",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_state_machine": {
    "title": "Create State Machine",
    "description": "Create a state machine for character or game states",
    "category": "GameSystems",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "GameObject name to attach the state machine to",
          "type": "string"
        },
        "type": {
          "description": "State machine category, for example Character, Enemy, or Game",
          "default": "Character",
          "type": "string"
        },
        "states": {
          "description": "Comma-separated state names",
          "default": "Idle,Walk,Run,Jump,Attack",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_setup_inventory_system": {
    "title": "Setup Inventory System",
    "description": "Create an inventory system with UI",
    "category": "GameSystems",
    "inputSchema": {
      "type": "object",
      "properties": {
        "size": {
          "description": "Number of inventory slots to create",
          "default": 20,
          "type": "number"
        },
        "hasUI": {
          "description": "Also generate a Canvas-based inventory UI",
          "default": true,
          "type": "boolean"
        },
        "stackable": {
          "description": "Allow stacking of identical items in one slot",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_game_template": {
    "title": "Create Game Template",
    "description": "Create complete game templates for different genres",
    "category": "GameSystems",
    "inputSchema": {
      "type": "object",
      "properties": {
        "genre": {
          "description": "Game genre template to scaffold",
          "default": "FPS",
          "type": "string",
          "enum": [
            "FPS",
            "Platformer",
            "RPG",
            "Puzzle",
            "Racing",
            "Strategy"
          ]
        },
        "name": {
          "description": "Name used for the generated game template scene and assets",
          "type": "string"
        },
        "includeUI": {
          "description": "Generate default UI Canvas with HUD elements",
          "default": true,
          "type": "boolean"
        },
        "includeAudio": {
          "description": "Add AudioSources and basic music/SFX setup",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_quick_prototype": {
    "title": "Quick Prototype",
    "description": "Create a quick playable prototype with specified elements",
    "category": "GameSystems",
    "inputSchema": {
      "type": "object",
      "properties": {
        "elements": {
          "description": "Comma-separated prototype elements to include, e.g. player,enemies,collectibles",
          "default": "player,enemies,collectibles,obstacles",
          "type": "string"
        },
        "worldSize": {
          "description": "Size in Unity units of the generated square world",
          "default": 20,
          "type": "number"
        },
        "playerType": {
          "description": "Primitive shape used as the placeholder player mesh",
          "default": "Capsule",
          "type": "string",
          "enum": [
            "Capsule",
            "Cube",
            "Sphere"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_setup_ml_agent": {
    "title": "Setup ML Agent",
    "description": "Setup a Machine Learning Agent for reinforcement learning",
    "category": "AI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Name of the generated ML-Agents agent GameObject",
          "default": "MLAgent",
          "type": "string"
        },
        "agentType": {
          "description": "Complexity preset for the agent behavior script",
          "default": "Basic",
          "type": "string",
          "enum": [
            "Basic",
            "Advanced",
            "Reward-based"
          ]
        },
        "vectorObservationSize": {
          "description": "Length of the vector observation array fed to the policy",
          "default": 8,
          "type": "number"
        },
        "useVisualObservation": {
          "description": "Attach a camera sensor for visual observations",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_neural_network": {
    "title": "Create Neural Network",
    "description": "Create a neural network system for AI decision making",
    "category": "AI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "networkName": {
          "description": "Name of the generated neural network script and asset",
          "default": "NeuralNetwork",
          "type": "string"
        },
        "networkType": {
          "description": "Neural network architecture style to generate",
          "default": "Feedforward",
          "type": "string",
          "enum": [
            "Feedforward",
            "Recurrent",
            "Convolutional"
          ]
        },
        "inputSize": {
          "description": "Number of neurons in the input layer",
          "default": 4,
          "type": "number"
        },
        "hiddenSize": {
          "description": "Number of neurons in each hidden layer",
          "default": 8,
          "type": "number"
        },
        "outputSize": {
          "description": "Number of neurons in the output layer",
          "default": 2,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_setup_behavior_tree": {
    "title": "Setup Behavior Tree",
    "description": "Setup a behavior tree AI system for complex AI behaviors",
    "category": "GOAP",
    "inputSchema": {
      "type": "object",
      "properties": {
        "treeName": {
          "description": "Name of the generated behavior tree asset and script",
          "default": "BehaviorTree",
          "type": "string"
        },
        "aiType": {
          "description": "AI archetype to seed the behavior tree with",
          "default": "Enemy",
          "type": "string",
          "enum": [
            "Enemy",
            "NPC",
            "Companion",
            "Guard"
          ]
        },
        "includePatrol": {
          "description": "Include a patrol sequence in the generated tree",
          "default": true,
          "type": "boolean"
        },
        "includeChase": {
          "description": "Include a chase branch when the player is detected",
          "default": true,
          "type": "boolean"
        },
        "includeAttack": {
          "description": "Include an attack branch when target is in range",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_create_ai_pathfinding": {
    "title": "Create AI Pathfinding",
    "description": "Create an AI pathfinding system with A* algorithm",
    "category": "AI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "systemName": {
          "description": "Name of the generated pathfinding manager GameObject",
          "default": "PathfindingAI",
          "type": "string"
        },
        "algorithm": {
          "description": "Pathfinding algorithm used by the generated system",
          "default": "AStar",
          "type": "string",
          "enum": [
            "AStar",
            "Dijkstra",
            "BFS"
          ]
        },
        "gridWidth": {
          "description": "Width of the pathfinding grid in cells",
          "default": 20,
          "type": "number"
        },
        "gridHeight": {
          "description": "Height of the pathfinding grid in cells",
          "default": 20,
          "type": "number"
        },
        "use3D": {
          "description": "Use a 3D voxel grid instead of a 2D grid",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_control_game_speed": {
    "title": "Control Game Speed",
    "description": "Control Unity game speed (time scale) for debugging",
    "category": "Debug",
    "inputSchema": {
      "type": "object",
      "properties": {
        "operation": {
          "description": "Time scale operation to perform",
          "default": "set",
          "type": "string",
          "enum": [
            "set",
            "pause",
            "step",
            "get"
          ]
        },
        "speed": {
          "description": "Time scale multiplier when operation is set, e.g. 0.5 for half speed",
          "type": "number"
        },
        "preset": {
          "description": "Named speed preset applied to Time.timeScale",
          "type": "string",
          "enum": [
            "pause",
            "slowest",
            "slow",
            "normal",
            "fast",
            "fastest"
          ]
        },
        "pauseMode": {
          "description": "How to apply the pause when operation is pause",
          "default": "toggle",
          "type": "string",
          "enum": [
            "toggle",
            "on",
            "off"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_profile_performance": {
    "title": "Profile Performance",
    "description": "Get Unity performance profiling data",
    "category": "Debug",
    "inputSchema": {
      "type": "object",
      "properties": {
        "category": {
          "description": "Profiler category to sample",
          "default": "general",
          "type": "string",
          "enum": [
            "general",
            "all",
            "memory",
            "gpu",
            "cpu"
          ]
        },
        "duration": {
          "description": "Sampling duration in seconds, 0 means a single snapshot",
          "default": 0,
          "type": "number"
        },
        "detailed": {
          "description": "Include detailed per-marker breakdown in the result",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_debug_draw": {
    "title": "Debug Draw",
    "description": "Draw debug shapes in Unity scene",
    "category": "Debug",
    "inputSchema": {
      "type": "object",
      "properties": {
        "type": {
          "description": "Debug shape type to draw, or clear to remove existing shapes",
          "default": "line",
          "type": "string",
          "enum": [
            "line",
            "ray",
            "box",
            "sphere",
            "path",
            "clear"
          ]
        },
        "duration": {
          "description": "How long the debug shape stays visible in seconds",
          "default": 5,
          "type": "number"
        },
        "color": {
          "description": "Color used to draw the debug shape",
          "default": "red",
          "type": "string",
          "enum": [
            "red",
            "green",
            "blue",
            "yellow",
            "white",
            "black",
            "cyan",
            "magenta"
          ]
        },
        "start": {
          "description": "Start position for line (e.g., \"0,0,0\")",
          "type": "string"
        },
        "end": {
          "description": "End position for line (e.g., \"1,1,1\")",
          "type": "string"
        },
        "origin": {
          "description": "Origin position for ray",
          "type": "string"
        },
        "direction": {
          "description": "Direction vector for ray",
          "type": "string"
        },
        "length": {
          "description": "Length of ray",
          "type": "number"
        },
        "center": {
          "description": "Center position",
          "type": "string"
        },
        "size": {
          "description": "Box size (e.g., \"1,1,1\")",
          "type": "string"
        },
        "radius": {
          "description": "Sphere radius",
          "type": "number"
        },
        "points": {
          "description": "Semicolon-separated points (e.g., \"0,0,0;1,1,0;2,1,0\")",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_run_tests": {
    "title": "Run Unity Tests",
    "description": "Run Unity Test Runner tests with auto-execution. Operations: run (start tests and wait for results), list (list available tests)",
    "category": "Debug",
    "inputSchema": {
      "type": "object",
      "properties": {
        "operation": {
          "description": "Operation: run (execute tests), list (list available tests)",
          "default": "run",
          "type": "string",
          "enum": [
            "run",
            "list"
          ]
        },
        "mode": {
          "description": "Test mode: editmode or playmode",
          "default": "editmode",
          "type": "string",
          "enum": [
            "editmode",
            "playmode"
          ]
        },
        "filter": {
          "description": "Optional test name filter",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_manage_breakpoints": {
    "title": "Manage Breakpoints",
    "description": "Manage debugging breakpoints in Unity",
    "category": "Debug",
    "inputSchema": {
      "type": "object",
      "properties": {
        "operation": {
          "description": "Breakpoint behavior to register on hit",
          "default": "pause",
          "type": "string",
          "enum": [
            "pause",
            "conditional",
            "log",
            "assert"
          ]
        },
        "condition": {
          "description": "Condition for breakpoint (e.g., \"frame > 100\", \"time > 5\")",
          "type": "string"
        },
        "message": {
          "description": "Message logged when the breakpoint triggers",
          "default": "Breakpoint hit",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_create_goap_agent": {
    "title": "Create GOAP Agent",
    "description": "Define a goal for GOAP agents using natural language",
    "category": "GOAP",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the GOAP agent",
          "type": "string"
        },
        "agentType": {
          "description": "Type: \"Guard\", \"Worker\", \"Enemy\", \"NPC\", \"Merchant\", \"Monster\", etc.",
          "type": "string"
        },
        "capabilities": {
          "description": "Capabilities: \"movement\", \"combat\", \"ranged\", \"melee\", \"stealth\", \"healing\", \"building\"",
          "type": "array"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_define_goap_goal": {
    "title": "Define GOAP Goal",
    "description": "Define a goal for GOAP agents using natural language",
    "category": "GOAP",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Name of the GOAP agent",
          "type": "string"
        },
        "goalName": {
          "description": "Name of the goal",
          "type": "string"
        },
        "description": {
          "description": "Natural language description of the goal (e.g., \"Keep area safe from enemies\")",
          "type": "string"
        },
        "priority": {
          "description": "Priority of the goal (0-100)",
          "default": 50,
          "type": "number"
        },
        "conditions": {
          "description": "Conditions for goal activation (e.g., \"enemy detected within 10 units\")",
          "type": "string"
        }
      },
      "required": [
        "agentName",
        "goalName",
        "description"
      ]
    },
    "embedding": null
  },
  "unity_create_goap_action": {
    "title": "Create GOAP Action",
    "description": "Create an action for GOAP agents",
    "category": "GOAP",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Name of the GOAP agent",
          "type": "string"
        },
        "actionName": {
          "description": "Name of the action",
          "type": "string"
        },
        "description": {
          "description": "What this action does",
          "type": "string"
        },
        "preconditions": {
          "description": "Conditions that must be true before action (e.g., [\"has_weapon\", \"enemy_in_range\"])",
          "type": "array"
        },
        "effects": {
          "description": "Effects after action completion (e.g., [\"enemy_defeated\", \"area_secure\"])",
          "type": "array"
        },
        "cost": {
          "description": "Cost of performing this action",
          "default": 1,
          "type": "number"
        }
      },
      "required": [
        "agentName",
        "actionName",
        "description",
        "preconditions",
        "effects"
      ]
    },
    "embedding": null
  },
  "unity_define_behavior_language": {
    "title": "Define Behavior Using Natural Language",
    "description": "Define complete AI behavior using natural language description. Supports English and Japanese.",
    "category": "GOAP",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Name of the GOAP agent",
          "type": "string"
        },
        "behavior": {
          "description": "Natural language behavior description. Examples: \"Patrol and attack enemies on sight, retreat when health low\" or \"巡回して敵を攻撃、体力低下時は撤退\"",
          "type": "string"
        },
        "gameContext": {
          "description": "Game context (FPS, RTS, RPG, Stealth, Survival, Horror) - adds context-specific actions",
          "type": "string"
        },
        "difficulty": {
          "description": "AI difficulty level affecting reaction speed, accuracy, and decision quality",
          "default": "normal",
          "type": "string",
          "enum": [
            "easy",
            "normal",
            "hard",
            "adaptive"
          ]
        }
      },
      "required": [
        "agentName",
        "behavior"
      ]
    },
    "embedding": null
  },
  "unity_generate_goap_action_set": {
    "title": "Generate GOAP Action Set",
    "description": "Automatically generate a complete action set based on agent type and goals",
    "category": "GOAP",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Name of the GOAP agent",
          "type": "string"
        },
        "agentRole": {
          "description": "Role of the agent",
          "type": "string",
          "enum": [
            "guard",
            "worker",
            "enemy",
            "npc",
            "companion"
          ]
        },
        "environment": {
          "description": "Environment type (e.g., \"forest\", \"urban\", \"dungeon\")",
          "type": "string"
        },
        "includeDefaults": {
          "description": "Include default actions for the role",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "agentName",
        "agentRole"
      ]
    },
    "embedding": null
  },
  "unity_setup_goap_world_state": {
    "title": "Setup GOAP World State",
    "description": "Configure the world state for GOAP planning",
    "category": "GOAP",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Name of the GOAP agent",
          "type": "string"
        },
        "worldState": {
          "description": "World state key-value pairs (e.g., {\"has_weapon\": true, \"enemies_nearby\": 2})",
          "type": "string"
        },
        "sensors": {
          "description": "Sensors to add (e.g., [\"enemy_detector\", \"health_monitor\"])",
          "type": "array"
        },
        "updateFrequency": {
          "description": "How often to update world state (seconds)",
          "default": 0.5,
          "type": "number"
        }
      },
      "required": [
        "agentName",
        "worldState"
      ]
    },
    "embedding": null
  },
  "unity_create_goap_template": {
    "title": "Create GOAP Template",
    "description": "Create a complete game-specific GOAP AI from pre-built professional templates.",
    "category": "GOAP",
    "inputSchema": {
      "type": "object",
      "properties": {
        "templateType": {
          "description": "Pre-built GOAP template type for common game AI archetypes",
          "type": "string",
          "enum": [
            "fps_enemy",
            "fps_soldier",
            "fps_sniper",
            "rts_unit",
            "rts_worker",
            "rts_combat_unit",
            "rpg_npc",
            "rpg_merchant",
            "rpg_quest_giver",
            "rpg_enemy",
            "rpg_monster",
            "stealth_guard",
            "survival_creature",
            "horror_enemy",
            "horror_monster",
            "platformer_enemy"
          ]
        },
        "difficulty": {
          "description": "Difficulty preset that scales agent stats and reaction times",
          "default": "normal",
          "type": "string",
          "enum": [
            "easy",
            "normal",
            "hard"
          ]
        },
        "behaviors": {
          "description": "Additional natural language behaviors to include",
          "type": "array"
        },
        "customizations": {
          "description": "Template-specific customizations",
          "type": "string"
        }
      },
      "required": [
        "templateType"
      ]
    },
    "embedding": null
  },
  "unity_debug_goap_decisions": {
    "title": "Debug GOAP Decisions",
    "description": "Visualize and debug GOAP decision-making process",
    "category": "GOAP",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Name of the GOAP agent to debug",
          "type": "string"
        },
        "showGraph": {
          "description": "Show decision graph",
          "default": true,
          "type": "boolean"
        },
        "showWorldState": {
          "description": "Show current world state",
          "default": true,
          "type": "boolean"
        },
        "showPlan": {
          "description": "Show current action plan",
          "default": true,
          "type": "boolean"
        },
        "logToConsole": {
          "description": "Log decisions to console",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "agentName"
      ]
    },
    "embedding": null
  },
  "unity_optimize_goap_performance": {
    "title": "Optimize GOAP Performance",
    "description": "Optimize GOAP agent performance for better frame rates",
    "category": "GOAP",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Specific agent to optimize (or all if not specified)",
          "type": "string"
        },
        "maxPlanDepth": {
          "description": "Maximum planning depth",
          "default": 10,
          "type": "number"
        },
        "planningFrequency": {
          "description": "How often to replan (seconds)",
          "default": 1,
          "type": "number"
        },
        "enableMultithreading": {
          "description": "Use multithreading for planning",
          "default": true,
          "type": "boolean"
        },
        "cacheSize": {
          "description": "Plan cache size",
          "default": 100,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_bt_agent": {
    "title": "Create Behavior Tree Agent",
    "description": "Create a BehaviorTreeRunner on a GameObject.",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Name for the new agent",
          "default": "BTAgent",
          "type": "string"
        },
        "targetObject": {
          "description": "Existing object to add BT to (if not creating new)",
          "type": "string"
        },
        "autoStart": {
          "description": "Auto-start the tree on play",
          "default": false,
          "type": "boolean"
        },
        "tickInterval": {
          "description": "Tick interval in seconds (0 = every frame)",
          "default": 0,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_add_bt_node": {
    "title": "Add Behavior Tree Node",
    "description": "Add a node to a behavior tree.",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Name of the BT agent",
          "type": "string"
        },
        "nodeType": {
          "description": "Type of node to add",
          "type": "string",
          "enum": [
            "selector",
            "sequence",
            "parallel",
            "randomselector",
            "randomsequence",
            "inverter",
            "succeeder",
            "failer",
            "repeater",
            "cooldown",
            "timeout",
            "retry",
            "delay",
            "wait",
            "log"
          ]
        },
        "nodeName": {
          "description": "Name for the node",
          "default": "Node",
          "type": "string"
        },
        "parentNode": {
          "description": "Parent node name (empty = root)",
          "type": "string"
        },
        "repeatCount": {
          "description": "For repeater: number of repeats (-1 = infinite)",
          "type": "number"
        },
        "cooldownTime": {
          "description": "For cooldown: cooldown duration in seconds",
          "type": "number"
        },
        "timeout": {
          "description": "For timeout: timeout duration in seconds",
          "type": "number"
        },
        "maxRetries": {
          "description": "For retry: max retry count",
          "type": "number"
        },
        "delay": {
          "description": "For delay: delay duration in seconds",
          "type": "number"
        },
        "duration": {
          "description": "For wait: wait duration in seconds",
          "type": "number"
        },
        "message": {
          "description": "For log: message to log",
          "type": "string"
        }
      },
      "required": [
        "agentName",
        "nodeType"
      ]
    },
    "embedding": null
  },
  "unity_create_bt_from_description": {
    "title": "Create Behavior Tree from Natural Language",
    "description": "Start running a behavior tree on an agent",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Name of the agent to create BT for",
          "type": "string"
        },
        "description": {
          "description": "Natural language description of the behavior",
          "type": "string"
        },
        "gameContext": {
          "description": "Game genre context to tune behavior tree generation (Generic, FPS, RPG, RTS, Stealth, Survival)",
          "default": "Generic",
          "type": "string",
          "enum": [
            "Generic",
            "FPS",
            "RPG",
            "RTS",
            "Stealth",
            "Survival"
          ]
        }
      },
      "required": [
        "agentName",
        "description"
      ]
    },
    "embedding": null
  },
  "unity_start_bt": {
    "title": "Start Behavior Tree",
    "description": "Start running a behavior tree on an agent",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Name of the BT agent",
          "type": "string"
        }
      },
      "required": [
        "agentName"
      ]
    },
    "embedding": null
  },
  "unity_stop_bt": {
    "title": "Stop Behavior Tree",
    "description": "Stop a running behavior tree",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Name of the BT agent",
          "type": "string"
        }
      },
      "required": [
        "agentName"
      ]
    },
    "embedding": null
  },
  "unity_debug_bt": {
    "title": "Debug Behavior Tree",
    "description": "Get debug information about a behavior tree",
    "category": "Debug",
    "inputSchema": {
      "type": "object",
      "properties": {
        "agentName": {
          "description": "Name of the BT agent",
          "type": "string"
        }
      },
      "required": [
        "agentName"
      ]
    },
    "embedding": null
  },
  "unity_create_animator_controller": {
    "title": "Create Animator Controller",
    "description": "Create a new Animator Controller with default states and parameters",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the new Animator Controller asset",
          "default": "NewAnimatorController",
          "type": "string"
        },
        "path": {
          "description": "Asset folder path where the Animator Controller will be saved",
          "default": "Assets/Animations/Controllers/",
          "type": "string"
        },
        "targetObject": {
          "description": "GameObject to apply the controller to",
          "type": "string"
        },
        "applyToObject": {
          "description": "If true, assign the created controller to the targetObject Animator component",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_add_animation_state": {
    "title": "Add Animation State",
    "description": "Add a new state to an Animator Controller",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "controllerPath": {
          "description": "Path to the Animator Controller asset",
          "type": "string"
        },
        "stateName": {
          "description": "Name of the animation state to add",
          "default": "NewState",
          "type": "string"
        },
        "animationClipPath": {
          "description": "Path to animation clip",
          "type": "string"
        },
        "layerIndex": {
          "description": "Index of the Animator layer to add the state into",
          "default": 0,
          "type": "number"
        },
        "isDefault": {
          "description": "If true, set this state as the layer default entry state",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "controllerPath"
      ]
    },
    "embedding": null
  },
  "unity_create_animation_clip": {
    "title": "Create Animation Clip",
    "description": "Create a new animation clip with sample curves",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the new animation clip asset",
          "default": "NewAnimation",
          "type": "string"
        },
        "path": {
          "description": "Asset folder path where the animation clip will be saved",
          "default": "Assets/Animations/Clips/",
          "type": "string"
        },
        "duration": {
          "description": "Duration of the animation clip in seconds",
          "default": 1,
          "type": "number"
        },
        "frameRate": {
          "description": "Sampling frame rate of the clip in frames per second",
          "default": 30,
          "type": "number"
        },
        "targetObject": {
          "description": "GameObject the sample curves target (used for binding paths)",
          "type": "string"
        },
        "animationType": {
          "description": "Type of sample curve generated for the clip",
          "default": "position",
          "type": "string",
          "enum": [
            "position",
            "rotation",
            "scale",
            "color"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_setup_blend_tree": {
    "title": "Setup Blend Tree",
    "description": "Create a blend tree for smooth animation transitions",
    "category": "Cinemachine",
    "inputSchema": {
      "type": "object",
      "properties": {
        "controllerPath": {
          "description": "Path to the Animator Controller",
          "type": "string"
        },
        "stateName": {
          "description": "Name of the state that hosts the blend tree",
          "default": "Movement",
          "type": "string"
        },
        "blendType": {
          "description": "Blend tree dimension: 1D uses one parameter, 2D uses two",
          "default": "1D",
          "type": "string",
          "enum": [
            "1D",
            "2D"
          ]
        },
        "parameterName": {
          "description": "Animator parameter that drives blending between motions",
          "default": "Speed",
          "type": "string"
        },
        "layerIndex": {
          "description": "Index of the Animator layer containing the blend tree state",
          "default": 0,
          "type": "number"
        }
      },
      "required": [
        "controllerPath"
      ]
    },
    "embedding": null
  },
  "unity_add_animation_transition": {
    "title": "Add Animation Transition",
    "description": "Create a transition between animation states",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "controllerPath": {
          "description": "Path to the Animator Controller",
          "type": "string"
        },
        "fromState": {
          "description": "Source state name (use \"Any\" for Any State)",
          "type": "string"
        },
        "toState": {
          "description": "Destination state name",
          "type": "string"
        },
        "condition": {
          "description": "Parameter name for condition",
          "type": "string"
        },
        "conditionValue": {
          "description": "Value for condition",
          "type": "string"
        },
        "hasExitTime": {
          "description": "If true, the transition waits for the source state exit time before triggering",
          "default": true,
          "type": "boolean"
        },
        "transitionDuration": {
          "description": "Blend duration of the transition in seconds",
          "default": 0.25,
          "type": "number"
        },
        "layerIndex": {
          "description": "Index of the Animator layer containing the source state",
          "default": 0,
          "type": "number"
        }
      },
      "required": [
        "controllerPath",
        "fromState",
        "toState"
      ]
    },
    "embedding": null
  },
  "unity_setup_animation_layer": {
    "title": "Setup Animation Layer",
    "description": "Add and configure an animation layer",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "controllerPath": {
          "description": "Path to the Animator Controller",
          "type": "string"
        },
        "layerName": {
          "description": "Display name of the new Animator layer",
          "default": "NewLayer",
          "type": "string"
        },
        "weight": {
          "description": "Initial layer weight controlling how strongly it contributes to the final pose",
          "default": 1,
          "type": "number"
        },
        "blendMode": {
          "description": "Layer blending mode: override replaces, additive adds onto lower layers",
          "default": "override",
          "type": "string",
          "enum": [
            "override",
            "additive"
          ]
        },
        "avatarMaskPath": {
          "description": "Path to an Avatar Mask asset that restricts which bones the layer affects",
          "type": "string"
        }
      },
      "required": [
        "controllerPath"
      ]
    },
    "embedding": null
  },
  "unity_create_animation_event": {
    "title": "Create Animation Event",
    "description": "Add an event to an animation clip",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "clipPath": {
          "description": "Path to the animation clip",
          "type": "string"
        },
        "time": {
          "description": "Time in seconds",
          "default": 0.5,
          "type": "number"
        },
        "functionName": {
          "description": "Name of the MonoBehaviour method invoked when the event fires",
          "default": "OnAnimationEvent",
          "type": "string"
        },
        "stringParameter": {
          "description": "Optional string argument passed to the event handler",
          "type": "string"
        },
        "floatParameter": {
          "description": "Optional float argument passed to the event handler",
          "type": "number"
        },
        "intParameter": {
          "description": "Optional int argument passed to the event handler",
          "type": "number"
        }
      },
      "required": [
        "clipPath"
      ]
    },
    "embedding": null
  },
  "unity_setup_avatar": {
    "title": "Setup Avatar",
    "description": "Configure avatar for a 3D model",
    "category": "Timeline",
    "inputSchema": {
      "type": "object",
      "properties": {
        "modelPath": {
          "description": "Path to the 3D model",
          "type": "string"
        },
        "avatarName": {
          "description": "Name of the generated Avatar asset",
          "default": "NewAvatar",
          "type": "string"
        },
        "isHumanoid": {
          "description": "If true, configure as a Humanoid avatar; otherwise Generic",
          "default": true,
          "type": "boolean"
        },
        "rootBone": {
          "description": "Name of the root bone transform for Generic avatars",
          "type": "string"
        }
      },
      "required": [
        "modelPath"
      ]
    },
    "embedding": null
  },
  "unity_create_timeline": {
    "title": "Create Timeline",
    "description": "Create a Unity Timeline for cinematic sequences",
    "category": "Timeline",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the new Timeline asset",
          "default": "NewTimeline",
          "type": "string"
        },
        "path": {
          "description": "Asset folder path where the Timeline asset will be saved",
          "default": "Assets/Timelines/",
          "type": "string"
        },
        "duration": {
          "description": "Total duration of the Timeline in seconds",
          "default": 10,
          "type": "number"
        },
        "frameRate": {
          "description": "Timeline frame rate in frames per second",
          "default": 30,
          "type": "number"
        },
        "targetObject": {
          "description": "GameObject that will receive the PlayableDirector bound to this Timeline",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_bake_animation": {
    "title": "Bake Animation",
    "description": "Bake runtime animation into an animation clip",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "sourceObject": {
          "description": "GameObject with animation to bake",
          "type": "string"
        },
        "animationName": {
          "description": "Name of the baked animation clip asset to create",
          "default": "BakedAnimation",
          "type": "string"
        },
        "startFrame": {
          "description": "First frame of the recording range to bake",
          "default": 0,
          "type": "number"
        },
        "endFrame": {
          "description": "Last frame of the recording range to bake",
          "default": 60,
          "type": "number"
        },
        "frameRate": {
          "description": "Sampling frame rate of the baked clip in frames per second",
          "default": 30,
          "type": "number"
        },
        "path": {
          "description": "Asset folder path where the baked animation clip will be saved",
          "default": "Assets/Animations/Baked/",
          "type": "string"
        }
      },
      "required": [
        "sourceObject"
      ]
    },
    "embedding": null
  },
  "unity_create_water_material": {
    "title": "Create Water Material",
    "description": "Create Genshin Impact-quality water with physics-based wave reflection. Features: GGX BRDF specular, sun disk reflection on wave peaks, anisotropic highlights stretched along waves, micro-facet glitter, Beer-Lambert absorption, caustics with RGB split, and natural foam.",
    "category": "Shader",
    "inputSchema": null,
    "embedding": null
  },
  "unity_create_hdrp_water": {
    "title": "Create HDRP Water Surface",
    "description": "Create Unity HDRP Water System surface (Ocean, River, or Pool). Requires HDRP 2022.2+",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "GameObject name",
          "default": "Water",
          "type": "string"
        },
        "waterType": {
          "description": "Type of water surface",
          "default": "Ocean",
          "type": "string",
          "enum": [
            "Ocean",
            "River",
            "Pool"
          ]
        },
        "size": {
          "description": "Surface size in meters",
          "default": 100,
          "type": "number"
        },
        "windSpeed": {
          "description": "Wind speed affecting waves (0-100)",
          "default": 10,
          "type": "number"
        },
        "windDirection": {
          "description": "Wind direction in degrees (0-360)",
          "default": 0,
          "type": "number"
        },
        "waterColor": {
          "description": "Base water color (hex)",
          "default": "#1A5B7A",
          "type": "string"
        },
        "scatteringColor": {
          "description": "Subsurface scattering color (hex)",
          "default": "#00A0A0",
          "type": "string"
        },
        "smoothness": {
          "description": "Surface smoothness (0-1)",
          "default": 0.95,
          "type": "number"
        },
        "foamAmount": {
          "description": "Foam amount (0-1)",
          "default": 0.5,
          "type": "number"
        },
        "causticsEnabled": {
          "description": "Enable caustics",
          "default": true,
          "type": "boolean"
        },
        "causticsIntensity": {
          "description": "Caustics intensity (0-1)",
          "default": 0.5,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_set_hdrp_water_property": {
    "title": "Set HDRP Water Property",
    "description": "Modify properties of an existing HDRP Water surface",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObjectName": {
          "description": "Name of the Water GameObject",
          "type": "string"
        },
        "propertyName": {
          "description": "Property name (e.g., \"windSpeed\", \"waterColor\", \"foamAmount\")",
          "type": "string"
        },
        "value": {
          "description": "Value to set",
          "type": "string"
        }
      },
      "required": [
        "gameObjectName",
        "propertyName",
        "value"
      ]
    },
    "embedding": null
  },
  "unity_set_material_property": {
    "title": "Set Material Property",
    "description": "Modify properties of an existing material. Use this to change shader parameters like wave settings, colors, intensity values without recreating the material.",
    "category": "Material",
    "inputSchema": {
      "type": "object",
      "properties": {
        "materialPath": {
          "description": "Path to the material asset (e.g., \"Assets/Materials/Water.mat\")",
          "type": "string"
        },
        "propertyName": {
          "description": "Shader property name (e.g., \"_WaveHeight\", \"_ShallowColor\", \"_Smoothness\")",
          "type": "string"
        },
        "propertyType": {
          "description": "Type of the property",
          "type": "string",
          "enum": [
            "float",
            "color",
            "vector",
            "texture"
          ]
        },
        "value": {
          "description": "Value to set. Float: \"1.5\", Color: \"#FF0000\" or \"1,0.5,0,1\", Vector: \"1,2,3,4\", Texture: asset path",
          "type": "string"
        }
      },
      "required": [
        "materialPath",
        "propertyName",
        "propertyType",
        "value"
      ]
    },
    "embedding": null
  },
  "unity_get_material_properties": {
    "title": "Get Material Properties",
    "description": "Get all properties and their current values from a material. Useful to see available parameters before modifying them.",
    "category": "Material",
    "inputSchema": {
      "type": "object",
      "properties": {
        "materialPath": {
          "description": "Path to the material asset (e.g., \"Assets/Materials/Water.mat\")",
          "type": "string"
        }
      },
      "required": [
        "materialPath"
      ]
    },
    "embedding": null
  },
  "unity_create_toon_material": {
    "title": "Create Toon Material",
    "description": "Create stylized toon/cel-shaded material with ramp shading and outlines",
    "category": "Shader",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Material name",
          "type": "string"
        },
        "baseColor": {
          "description": "Base color (hex)",
          "default": "#FFFFFF",
          "type": "string"
        },
        "shadowColor": {
          "description": "Shadow color (hex)",
          "default": "#4A4A6A",
          "type": "string"
        },
        "shadowThreshold": {
          "description": "Shadow threshold (0-1)",
          "default": 0.5,
          "type": "number"
        },
        "shadowSoftness": {
          "description": "Shadow edge softness (0-1)",
          "default": 0.1,
          "type": "number"
        },
        "outlineColor": {
          "description": "Outline color (hex)",
          "default": "#000000",
          "type": "string"
        },
        "outlineWidth": {
          "description": "Outline width",
          "default": 0.003,
          "type": "number"
        },
        "specularSize": {
          "description": "Specular highlight size",
          "default": 0.1,
          "type": "number"
        },
        "rimColor": {
          "description": "Rim light color (hex)",
          "default": "#FFFFFF",
          "type": "string"
        },
        "rimPower": {
          "description": "Rim light power",
          "default": 3,
          "type": "number"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_create_hair_material": {
    "title": "Create Hair Material",
    "description": "Create realistic/stylized hair material with Kajiya-Kay specular and anisotropy",
    "category": "Shader",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Material name",
          "type": "string"
        },
        "hairColor": {
          "description": "Hair base color (hex)",
          "default": "#3D2314",
          "type": "string"
        },
        "specularColor1": {
          "description": "Primary specular color",
          "default": "#FFFFFF",
          "type": "string"
        },
        "specularColor2": {
          "description": "Secondary specular color",
          "default": "#FFD700",
          "type": "string"
        },
        "specularShift": {
          "description": "Specular shift along hair strand",
          "default": 0.1,
          "type": "number"
        },
        "anisotropy": {
          "description": "Anisotropy strength (0-1)",
          "default": 0.8,
          "type": "number"
        },
        "rimStrength": {
          "description": "Rim light strength",
          "default": 0.5,
          "type": "number"
        },
        "shadowColor": {
          "description": "Shadow color (hex)",
          "default": "#1A0F0A",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_create_eye_material": {
    "title": "Create Eye Material",
    "description": "Create realistic/stylized eye material with parallax iris and reflections",
    "category": "Shader",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Material name",
          "type": "string"
        },
        "irisColor": {
          "description": "Iris color (hex)",
          "default": "#4A90D9",
          "type": "string"
        },
        "pupilSize": {
          "description": "Pupil size (0-1)",
          "default": 0.3,
          "type": "number"
        },
        "irisDepth": {
          "description": "Iris parallax depth",
          "default": 0.1,
          "type": "number"
        },
        "scleraColor": {
          "description": "Sclera (white) color",
          "default": "#FFFAF0",
          "type": "string"
        },
        "reflectionStrength": {
          "description": "Cornea reflection strength",
          "default": 0.5,
          "type": "number"
        },
        "limbusWidth": {
          "description": "Limbus ring width",
          "default": 0.1,
          "type": "number"
        },
        "limbusColor": {
          "description": "Limbus ring color",
          "default": "#2C1810",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_create_sky_material": {
    "title": "Create Sky Material",
    "description": "Create procedural sky material with day/night cycle support",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Material name",
          "type": "string"
        },
        "topColor": {
          "description": "Sky top color (hex)",
          "default": "#0077FF",
          "type": "string"
        },
        "bottomColor": {
          "description": "Sky horizon color (hex)",
          "default": "#87CEEB",
          "type": "string"
        },
        "sunColor": {
          "description": "Sun color (hex)",
          "default": "#FFFACD",
          "type": "string"
        },
        "sunSize": {
          "description": "Sun disc size",
          "default": 0.05,
          "type": "number"
        },
        "cloudDensity": {
          "description": "Cloud density (0-1)",
          "default": 0.5,
          "type": "number"
        },
        "cloudSpeed": {
          "description": "Cloud movement speed",
          "default": 0.1,
          "type": "number"
        },
        "starDensity": {
          "description": "Star density for night (0-1)",
          "default": 0,
          "type": "number"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_create_dissolve_material": {
    "title": "Create Dissolve Material",
    "description": "Create dissolve effect material for appear/disappear transitions",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Material name",
          "type": "string"
        },
        "baseColor": {
          "description": "Base color (hex)",
          "default": "#FFFFFF",
          "type": "string"
        },
        "edgeColor": {
          "description": "Dissolve edge glow color",
          "default": "#FF6600",
          "type": "string"
        },
        "edgeWidth": {
          "description": "Edge glow width",
          "default": 0.1,
          "type": "number"
        },
        "noiseScale": {
          "description": "Noise pattern scale",
          "default": 10,
          "type": "number"
        },
        "dissolveAmount": {
          "description": "Initial dissolve amount (0-1)",
          "default": 0,
          "type": "number"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_create_shield_material": {
    "title": "Create Shield Material",
    "description": "Create energy shield/force field material with fresnel and hit effects",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Material name",
          "type": "string"
        },
        "shieldColor": {
          "description": "Shield color (hex)",
          "default": "#00FFFF",
          "type": "string"
        },
        "fresnelPower": {
          "description": "Fresnel edge power",
          "default": 3,
          "type": "number"
        },
        "patternScale": {
          "description": "Hex pattern scale",
          "default": 5,
          "type": "number"
        },
        "pulseSpeed": {
          "description": "Pulse animation speed",
          "default": 1,
          "type": "number"
        },
        "transparency": {
          "description": "Base transparency (0-1)",
          "default": 0.5,
          "type": "number"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_create_grass_material": {
    "title": "Create Grass Material",
    "description": "Create stylized grass material with wind animation",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Material name",
          "type": "string"
        },
        "topColor": {
          "description": "Grass tip color (hex)",
          "default": "#7CFC00",
          "type": "string"
        },
        "bottomColor": {
          "description": "Grass base color (hex)",
          "default": "#228B22",
          "type": "string"
        },
        "windStrength": {
          "description": "Wind sway strength",
          "default": 0.3,
          "type": "number"
        },
        "windSpeed": {
          "description": "Wind animation speed",
          "default": 1,
          "type": "number"
        },
        "subsurfaceColor": {
          "description": "Subsurface scattering color",
          "default": "#ADFF2F",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_create_ocean_system": {
    "title": "Create Ocean System",
    "description": "Create a complete ocean system with infinite plane, 8-layer Gerstner waves, and WaterPro shader",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Ocean name",
          "default": "Ocean",
          "type": "string"
        },
        "waterLevel": {
          "description": "Water surface Y position",
          "default": 0,
          "type": "number"
        },
        "gridSize": {
          "description": "Mesh grid resolution",
          "default": 128,
          "type": "number"
        },
        "tileSize": {
          "description": "Ocean tile size in units",
          "default": 100,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_add_buoyancy": {
    "title": "Add Buoyancy",
    "description": "Add buoyancy physics to make an object float on the ocean",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "target": {
          "description": "Target GameObject name",
          "type": "string"
        },
        "buoyancyForce": {
          "description": "Buoyancy force multiplier",
          "default": 10,
          "type": "number"
        },
        "waterDrag": {
          "description": "Water drag coefficient",
          "default": 1,
          "type": "number"
        }
      },
      "required": [
        "target"
      ]
    },
    "embedding": null
  },
  "unity_fix_urp_particle_shaders": {
    "title": "Fix URP Particle Shaders",
    "description": "Automatically fix particle materials that show pink/magenta in URP by converting to URP-compatible particle shaders",
    "category": "Shader",
    "inputSchema": null,
    "embedding": null
  },
  "unity_fix_pink_materials": {
    "title": "Fix Pink/Broken Materials",
    "description": "Scan project for pink/magenta materials (broken shaders) and automatically fix them for URP compatibility",
    "category": "Other",
    "inputSchema": null,
    "embedding": null
  },
  "unity_generate_sdf_texture": {
    "title": "Generate SDF Texture",
    "description": "Generate Signed Distance Field texture for dissolve effects, shields, etc.",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the generated texture",
          "type": "string"
        },
        "resolution": {
          "description": "Texture resolution (64-2048)",
          "default": 256,
          "type": "number"
        },
        "pattern": {
          "description": "SDF pattern type",
          "default": "noise",
          "type": "string",
          "enum": [
            "circle",
            "noise",
            "gradient",
            "radial"
          ]
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_generate_ramp_texture": {
    "title": "Generate Ramp Texture",
    "description": "Generate color ramp texture for toon shading, stylized rendering",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the generated texture",
          "type": "string"
        },
        "colors": {
          "description": "Array of hex colors for the ramp",
          "type": "array"
        },
        "steps": {
          "description": "Number of discrete color steps (2-16)",
          "default": 4,
          "type": "number"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_generate_cloud_noise": {
    "title": "Generate Cloud Noise Texture",
    "description": "Generate 3D noise texture for volumetric clouds, fog effects",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the generated texture",
          "type": "string"
        },
        "resolution": {
          "description": "Texture resolution",
          "default": 128,
          "type": "number"
        },
        "octaves": {
          "description": "Noise octaves (1-8)",
          "default": 4,
          "type": "number"
        }
      },
      "required": [
        "name"
      ]
    },
    "embedding": null
  },
  "unity_add_dissolve_controller": {
    "title": "Add Dissolve Controller",
    "description": "Add dissolve effect controller to a GameObject for dramatic appear/disappear effects",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "target": {
          "description": "Target GameObject name",
          "type": "string"
        },
        "duration": {
          "description": "Dissolve animation duration",
          "default": 1.5,
          "type": "number"
        },
        "edgeColor": {
          "description": "Edge glow color (hex)",
          "default": "#FF6600",
          "type": "string"
        }
      },
      "required": [
        "target"
      ]
    },
    "embedding": null
  },
  "unity_add_shield_controller": {
    "title": "Add Shield Controller",
    "description": "Add energy shield effect controller to a GameObject",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "target": {
          "description": "Target GameObject name",
          "type": "string"
        },
        "shieldColor": {
          "description": "Shield color (hex)",
          "default": "#00FFFF",
          "type": "string"
        },
        "hitDuration": {
          "description": "Hit impact effect duration",
          "default": 0.5,
          "type": "number"
        }
      },
      "required": [
        "target"
      ]
    },
    "embedding": null
  },
  "unity_add_grass_renderer": {
    "title": "Add Grass Renderer",
    "description": "Add procedural grass renderer to a terrain or plane",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "target": {
          "description": "Target GameObject (terrain or plane)",
          "type": "string"
        },
        "density": {
          "description": "Grass blade density",
          "default": 100,
          "type": "number"
        },
        "heightMax": {
          "description": "Maximum grass height",
          "default": 1,
          "type": "number"
        },
        "widthMax": {
          "description": "Maximum grass width",
          "default": 0.1,
          "type": "number"
        }
      },
      "required": [
        "target"
      ]
    },
    "embedding": null
  },
  "unity_trigger_dissolve": {
    "title": "Trigger Dissolve Effect",
    "description": "Trigger dissolve animation on a GameObject with DissolveController",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "target": {
          "description": "Target GameObject name",
          "type": "string"
        },
        "dissolveIn": {
          "description": "true = appear, false = disappear",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "target"
      ]
    },
    "embedding": null
  },
  "unity_trigger_shield_hit": {
    "title": "Trigger Shield Hit Effect",
    "description": "Trigger hit impact effect on a GameObject with ShieldController",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "target": {
          "description": "Target GameObject name",
          "type": "string"
        },
        "intensity": {
          "description": "Hit effect intensity",
          "default": 1,
          "type": "number"
        }
      },
      "required": [
        "target"
      ]
    },
    "embedding": null
  },
  "unity_setup_ui_anchors": {
    "title": "Setup UI Anchors",
    "description": "Automatically setup anchors and pivots for UI elements",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Target GameObject name",
          "type": "string"
        },
        "anchorPreset": {
          "description": "RectTransform anchor preset for UI alignment",
          "default": "center",
          "type": "string",
          "enum": [
            "top-left",
            "top-center",
            "top-right",
            "middle-left",
            "center",
            "middle-right",
            "bottom-left",
            "bottom-center",
            "bottom-right",
            "stretch-horizontal",
            "stretch-vertical",
            "stretch-all"
          ]
        },
        "pivotPreset": {
          "description": "Pivot point preset for the RectTransform",
          "default": "center",
          "type": "string",
          "enum": [
            "top-left",
            "top-center",
            "top-right",
            "middle-left",
            "center",
            "middle-right",
            "bottom-left",
            "bottom-center",
            "bottom-right"
          ]
        },
        "margin": {
          "description": "Margin in pixels from the anchored edges",
          "default": 10,
          "type": "number"
        },
        "recursive": {
          "description": "Apply anchor settings recursively to child UI elements",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "targetObject"
      ]
    },
    "embedding": null
  },
  "unity_create_responsive_ui": {
    "title": "Create Responsive UI",
    "description": "Create responsive UI container with layout groups",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "containerName": {
          "description": "Name of the responsive layout container GameObject",
          "default": "ResponsiveContainer",
          "type": "string"
        },
        "layoutType": {
          "description": "LayoutGroup orientation for arranging children",
          "default": "horizontal",
          "type": "string",
          "enum": [
            "horizontal",
            "vertical"
          ]
        },
        "spacing": {
          "description": "Spacing in pixels between child elements",
          "default": 10,
          "type": "number"
        },
        "padding": {
          "description": "Inner padding in pixels around the layout",
          "default": 20,
          "type": "number"
        },
        "childAlignment": {
          "description": "Child alignment within the LayoutGroup",
          "default": "middle-center",
          "type": "string",
          "enum": [
            "upper-left",
            "upper-center",
            "upper-right",
            "middle-left",
            "middle-center",
            "middle-right",
            "lower-left",
            "lower-center",
            "lower-right"
          ]
        },
        "useContentSizeFitter": {
          "description": "Attach a ContentSizeFitter to auto-fit the container size",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_setup_ui_animation": {
    "title": "Setup UI Animation",
    "description": "Setup UI animations for elements (fade, scale, slide)",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Target GameObject name",
          "type": "string"
        },
        "animationType": {
          "description": "Type of tween animation to play on the UI element",
          "default": "fade",
          "type": "string",
          "enum": [
            "fade",
            "scale",
            "slide-left",
            "slide-up",
            "scale-fade"
          ]
        },
        "duration": {
          "description": "Animation duration in seconds",
          "default": 0.5,
          "type": "number"
        },
        "delay": {
          "description": "Delay in seconds before the animation starts",
          "default": 0,
          "type": "number"
        },
        "easing": {
          "description": "Easing curve name applied to the animation (e.g., ease, linear)",
          "default": "ease",
          "type": "string"
        },
        "autoPlay": {
          "description": "Play the animation automatically on enable",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "targetObject"
      ]
    },
    "embedding": null
  },
  "unity_create_ui_grid": {
    "title": "Create UI Grid",
    "description": "Create UI grid layout with customizable elements",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gridName": {
          "description": "Name of the GridLayoutGroup root GameObject",
          "default": "UIGrid",
          "type": "string"
        },
        "columns": {
          "description": "Number of grid columns",
          "default": 3,
          "type": "number"
        },
        "rows": {
          "description": "Number of grid rows",
          "default": 3,
          "type": "number"
        },
        "cellSize": {
          "description": "Cell size as \"width,height\"",
          "default": "100,100",
          "type": "string"
        },
        "spacing": {
          "description": "Spacing as \"x,y\"",
          "default": "10,10",
          "type": "string"
        },
        "padding": {
          "description": "Padding as \"left,right,top,bottom\"",
          "default": "10,10,10,10",
          "type": "string"
        },
        "fillType": {
          "description": "Type of UI element placed in each grid cell",
          "default": "button",
          "type": "string",
          "enum": [
            "button",
            "image",
            "text",
            "toggle"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_setup_scroll_view": {
    "title": "Setup Scroll View",
    "description": "Create complete scroll view with content and scrollbars",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scrollViewName": {
          "description": "Name of the ScrollRect root GameObject",
          "default": "ScrollView",
          "type": "string"
        },
        "scrollDirection": {
          "description": "Axis the ScrollRect can scroll along",
          "default": "vertical",
          "type": "string",
          "enum": [
            "vertical",
            "horizontal"
          ]
        },
        "contentType": {
          "description": "Type of UI prefab used for each scroll item",
          "default": "text",
          "type": "string",
          "enum": [
            "text",
            "button",
            "image"
          ]
        },
        "itemCount": {
          "description": "Number of items to populate the content with",
          "default": 10,
          "type": "number"
        },
        "itemSize": {
          "description": "Item size as \"width,height\"",
          "default": "200,50",
          "type": "string"
        },
        "useScrollbar": {
          "description": "Add a Scrollbar component along the scroll axis",
          "default": true,
          "type": "boolean"
        },
        "elasticity": {
          "description": "ScrollRect elasticity when scrolling past the bounds",
          "default": 0.1,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_ui_notification": {
    "title": "Create UI Notification",
    "description": "Create notification system with different types and positions",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "notificationName": {
          "description": "Name of the notification manager GameObject",
          "default": "NotificationSystem",
          "type": "string"
        },
        "notificationType": {
          "description": "Visual style applied to the notification",
          "default": "toast",
          "type": "string",
          "enum": [
            "toast",
            "success",
            "warning",
            "error"
          ]
        },
        "position": {
          "description": "Anchor position of the notification on screen",
          "default": "top-right",
          "type": "string",
          "enum": [
            "top-left",
            "top-center",
            "top-right",
            "center",
            "bottom-center"
          ]
        },
        "animationType": {
          "description": "Show/hide animation for the notification",
          "default": "slide",
          "type": "string",
          "enum": [
            "slide",
            "fade",
            "scale",
            "none"
          ]
        },
        "autoHide": {
          "description": "Automatically dismiss the notification after the delay",
          "default": true,
          "type": "boolean"
        },
        "hideDelay": {
          "description": "Seconds before the notification auto-hides",
          "default": 3,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_setup_ui_navigation": {
    "title": "Setup UI Navigation",
    "description": "Create UI navigation system (tabs, buttons, toggles)",
    "category": "Physics",
    "inputSchema": {
      "type": "object",
      "properties": {
        "navigationName": {
          "description": "Name for the navigation root GameObject",
          "default": "UINavigation",
          "type": "string"
        },
        "navigationType": {
          "description": "Navigation control style to generate",
          "default": "tab",
          "type": "string",
          "enum": [
            "tab",
            "button",
            "toggle"
          ]
        },
        "itemCount": {
          "description": "Number of navigation items to create",
          "default": 3,
          "type": "number"
        },
        "orientation": {
          "description": "Layout direction for the navigation items",
          "default": "horizontal",
          "type": "string",
          "enum": [
            "horizontal",
            "vertical"
          ]
        },
        "selectedIndex": {
          "description": "Index of the item initially selected",
          "default": 0,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_ui_dialog": {
    "title": "Create UI Dialog",
    "description": "Create modal dialogs (confirmation, alert, input)",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "dialogName": {
          "description": "Name for the dialog root GameObject",
          "default": "Dialog",
          "type": "string"
        },
        "dialogType": {
          "description": "Dialog template to instantiate (confirmation, alert, or input)",
          "default": "confirmation",
          "type": "string",
          "enum": [
            "confirmation",
            "alert",
            "input"
          ]
        },
        "title": {
          "description": "Title bar text displayed at the top of the dialog",
          "default": "Dialog Title",
          "type": "string"
        },
        "message": {
          "description": "Body message shown inside the dialog",
          "default": "Dialog message content",
          "type": "string"
        },
        "hasOverlay": {
          "description": "Add a dimmed full-screen overlay behind the dialog",
          "default": true,
          "type": "boolean"
        },
        "isModal": {
          "description": "Block input to underlying UI while the dialog is open",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_optimize_ui_canvas": {
    "title": "Optimize UI Canvas",
    "description": "Optimize Canvas for performance, quality, or mobile",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "canvasName": {
          "description": "Specific canvas name (leave empty for first found)",
          "type": "string"
        },
        "optimizationType": {
          "description": "Canvas optimization profile to apply",
          "default": "performance",
          "type": "string",
          "enum": [
            "performance",
            "quality",
            "mobile"
          ]
        },
        "targetFrameRate": {
          "description": "Target frame rate (FPS) used to tune Canvas update settings",
          "default": 60,
          "type": "number"
        },
        "enablePixelPerfect": {
          "description": "Enable Canvas pixel perfect rendering for sharper UI",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_setup_safe_area": {
    "title": "Setup Safe Area",
    "description": "Setup Safe Area for mobile devices with notch support",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "safeAreaName": {
          "description": "Name for the created Safe Area container GameObject",
          "default": "SafeAreaContainer",
          "type": "string"
        },
        "targetObject": {
          "description": "Target object (leave empty to create new)",
          "type": "string"
        },
        "applyToCanvas": {
          "description": "Apply Safe Area adjustments to the parent Canvas",
          "default": false,
          "type": "boolean"
        },
        "includeNotch": {
          "description": "Account for device notch cutouts when computing the safe area",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_apply_ui_theme": {
    "title": "Apply UI Theme",
    "description": "Apply a complete theme to UI elements",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "themeName": {
          "description": "Theme name (e.g., Dark, Light, Custom)",
          "type": "string"
        },
        "targetCanvas": {
          "description": "Target canvas name",
          "type": "string"
        },
        "primaryColor": {
          "description": "Primary color hex",
          "type": "string"
        },
        "secondaryColor": {
          "description": "Secondary color hex",
          "type": "string"
        },
        "accentColor": {
          "description": "Accent color hex",
          "type": "string"
        }
      },
      "required": [
        "themeName"
      ]
    },
    "embedding": null
  },
  "unity_set_ui_colors": {
    "title": "Set UI Colors",
    "description": "Set colors for UI elements",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Target UI element",
          "type": "string"
        },
        "normalColor": {
          "description": "Default Selectable color in hex (e.g., #FFFFFF)",
          "type": "string"
        },
        "highlightedColor": {
          "description": "Hover/highlighted state color in hex",
          "type": "string"
        },
        "pressedColor": {
          "description": "Pressed state color in hex",
          "type": "string"
        },
        "selectedColor": {
          "description": "Selected state color in hex",
          "type": "string"
        },
        "disabledColor": {
          "description": "Disabled state color in hex",
          "type": "string"
        }
      },
      "required": [
        "targetObject"
      ]
    },
    "embedding": null
  },
  "unity_style_ui_elements": {
    "title": "Style UI Elements",
    "description": "Apply styling to UI elements",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Target UI GameObject name to style",
          "type": "string"
        },
        "borderRadius": {
          "description": "Corner radius in pixels for rounded UI borders",
          "type": "number"
        },
        "borderWidth": {
          "description": "Border outline width in pixels",
          "type": "number"
        },
        "borderColor": {
          "description": "Border color as hex code (e.g., #FFFFFF)",
          "type": "string"
        },
        "shadowOffset": {
          "description": "Shadow offset as \"x,y\" pixels from the element",
          "type": "string"
        },
        "shadowColor": {
          "description": "Drop shadow color as hex or rgba string",
          "type": "string"
        }
      },
      "required": [
        "targetObject"
      ]
    },
    "embedding": null
  },
  "unity_add_ui_effects": {
    "title": "Add UI Effects",
    "description": "Add visual effects to UI elements",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Target UI GameObject to apply the effect to",
          "type": "string"
        },
        "effectType": {
          "description": "Visual effect component to add to the UI element",
          "default": "Shadow",
          "type": "string",
          "enum": [
            "Shadow",
            "Outline",
            "Gradient",
            "Glow",
            "Blur"
          ]
        },
        "color": {
          "description": "Effect color in hex (e.g., #000000) or rgba string",
          "type": "string"
        },
        "intensity": {
          "description": "Effect strength multiplier controlling distance or alpha",
          "default": 1,
          "type": "number"
        }
      },
      "required": [
        "targetObject"
      ]
    },
    "embedding": null
  },
  "unity_set_typography": {
    "title": "Set Typography",
    "description": "Configure text styling and fonts",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Target UI Text or TextMeshPro GameObject name",
          "type": "string"
        },
        "fontAsset": {
          "description": "Path to font asset (TTF, OTF, or TMP_FontAsset)",
          "type": "string"
        },
        "fontSize": {
          "description": "Font size in points",
          "type": "number"
        },
        "fontStyle": {
          "description": "Font style applied to the text component",
          "type": "string",
          "enum": [
            "Normal",
            "Bold",
            "Italic",
            "BoldItalic"
          ]
        },
        "lineSpacing": {
          "description": "Line spacing multiplier between text lines",
          "type": "number"
        },
        "characterSpacing": {
          "description": "Spacing between individual characters in the text",
          "type": "number"
        }
      },
      "required": [
        "targetObject"
      ]
    },
    "embedding": null
  },
  "unity_get_texture_details": {
    "title": "Get Texture Details",
    "description": "Get detailed information about a texture asset",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to texture asset",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_get_mesh_details": {
    "title": "Get Mesh Details",
    "description": "Get detailed information about a mesh asset",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to mesh/model asset",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_get_audio_details": {
    "title": "Get Audio Details",
    "description": "Get detailed information about an audio clip",
    "category": "Audio",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to audio asset",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_get_animation_details": {
    "title": "Get Animation Details",
    "description": "Get detailed information about an animation clip",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to animation asset",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_get_material_details": {
    "title": "Get Material Details",
    "description": "Get detailed information about a material",
    "category": "Material",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to material asset",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_get_asset_file_info": {
    "title": "Get Asset File Info",
    "description": "Get file system information about an asset",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to asset",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_analyze_asset_usage": {
    "title": "Analyze Asset Usage",
    "description": "Find where an asset is used in the project",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to asset",
          "type": "string"
        },
        "searchScenes": {
          "description": "Include scene files when scanning for asset references",
          "default": true,
          "type": "boolean"
        },
        "searchPrefabs": {
          "description": "Include prefab assets when scanning for asset references",
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_get_asset_import_settings": {
    "title": "Get Asset Import Settings",
    "description": "Get import settings for an asset",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to asset",
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "embedding": null
  },
  "unity_get_runtime_status": {
    "title": "Get Runtime Status",
    "description": "Get current runtime status (play mode, pause, etc.)",
    "category": "Other",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_performance_metrics": {
    "title": "Get Performance Metrics",
    "description": "Get current performance metrics (FPS, frame time, etc.)",
    "category": "Other",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_memory_usage": {
    "title": "Get Memory Usage",
    "description": "Get current memory usage statistics",
    "category": "Other",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_error_status": {
    "title": "Get Error Status",
    "description": "Get current error and warning counts",
    "category": "Other",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_build_status": {
    "title": "Get Build Status",
    "description": "Get current build status and settings",
    "category": "Other",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_camera_info": {
    "title": "Get Camera Info",
    "description": "Get information about cameras in the scene",
    "category": "Camera",
    "inputSchema": {
      "type": "object",
      "properties": {
        "cameraName": {
          "description": "Specific camera name (omit for all)",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_get_terrain_info": {
    "title": "Get Terrain Info",
    "description": "Get information about terrain in the scene",
    "category": "Weather",
    "inputSchema": {
      "type": "object",
      "properties": {
        "terrainName": {
          "description": "Specific terrain GameObject name to query (omit to list all terrains)",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_get_lighting_info": {
    "title": "Get Lighting Info",
    "description": "Get information about lights in the scene",
    "category": "Lighting",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_material_info": {
    "title": "Get Material Info",
    "description": "Get information about materials used in scene",
    "category": "Material",
    "inputSchema": {
      "type": "object",
      "properties": {
        "objectName": {
          "description": "Specific object to check",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_get_ui_info": {
    "title": "Get UI Info",
    "description": "Get information about UI elements in scene",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "canvasName": {
          "description": "Specific Canvas GameObject name to inspect (omit for all canvases)",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_get_physics_info": {
    "title": "Get Physics Info",
    "description": "Get information about physics objects in scene",
    "category": "Physics",
    "inputSchema": null,
    "embedding": null
  },
  "unity_import_mixamo_animation": {
    "title": "Import Mixamo Animation",
    "description": "Import and setup animation from Mixamo",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "fbxPath": {
          "description": "Path to Mixamo FBX file",
          "type": "string"
        },
        "targetRig": {
          "description": "Target character rig",
          "type": "string"
        },
        "loopAnimation": {
          "description": "Enable loop wrap mode on the imported AnimationClip",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "fbxPath"
      ]
    },
    "embedding": null
  },
  "unity_organize_animation_assets": {
    "title": "Organize Animation Assets",
    "description": "Organize animation files into proper folder structure",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "sourcePath": {
          "description": "Source folder path",
          "type": "string"
        },
        "targetPath": {
          "description": "Target folder path",
          "type": "string"
        },
        "groupBy": {
          "description": "Grouping strategy for organizing animation files into subfolders",
          "default": "character",
          "type": "string",
          "enum": [
            "character",
            "type",
            "action"
          ]
        }
      },
      "required": [
        "sourcePath"
      ]
    },
    "embedding": null
  },
  "unity_setup_character_ik": {
    "title": "Setup Character IK",
    "description": "Setup Inverse Kinematics for a character",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Character object name",
          "type": "string"
        },
        "ikType": {
          "description": "Inverse Kinematics setup type to configure on the Animator",
          "default": "FullBody",
          "type": "string",
          "enum": [
            "FullBody",
            "FootIK",
            "HandIK",
            "LookAt"
          ]
        },
        "weight": {
          "description": "IK influence weight from 0 (off) to 1 (full)",
          "default": 1,
          "type": "number"
        }
      },
      "required": [
        "targetObject"
      ]
    },
    "embedding": null
  },
  "unity_create_animation_layer_mask": {
    "title": "Create Animation Layer Mask",
    "description": "Create an avatar mask for animation layers",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "maskName": {
          "description": "Name for the mask",
          "type": "string"
        },
        "bodyParts": {
          "description": "Body parts to include",
          "type": "array"
        },
        "savePath": {
          "description": "Asset path where the AvatarMask asset will be saved",
          "type": "string"
        }
      },
      "required": [
        "maskName",
        "bodyParts"
      ]
    },
    "embedding": null
  },
  "unity_setup_advanced_blend_tree": {
    "title": "Setup Advanced Blend Tree",
    "description": "Create complex blend trees for animation",
    "category": "Cinemachine",
    "inputSchema": {
      "type": "object",
      "properties": {
        "controllerPath": {
          "description": "Path to animator controller",
          "type": "string"
        },
        "blendTreeName": {
          "description": "Name for blend tree",
          "type": "string"
        },
        "blendType": {
          "description": "Blend tree dimension and interpolation algorithm used by the Animator",
          "default": "2D_FreeformDirectional",
          "type": "string",
          "enum": [
            "1D",
            "2D_SimpleDirectional",
            "2D_FreeformDirectional",
            "2D_FreeformCartesian",
            "Direct"
          ]
        }
      },
      "required": [
        "controllerPath",
        "blendTreeName"
      ]
    },
    "embedding": null
  },
  "unity_retarget_animation": {
    "title": "Retarget Animation",
    "description": "Retarget animation from one avatar to another",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "sourceClip": {
          "description": "Source animation clip path",
          "type": "string"
        },
        "targetAvatar": {
          "description": "Target avatar/rig path",
          "type": "string"
        },
        "outputPath": {
          "description": "Asset path to save the retargeted AnimationClip",
          "type": "string"
        }
      },
      "required": [
        "sourceClip",
        "targetAvatar"
      ]
    },
    "embedding": null
  },
  "unity_create_transition_preset": {
    "title": "Create Transition Preset",
    "description": "Create reusable animation transition preset",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "presetName": {
          "description": "Identifier for the saved transition preset",
          "type": "string"
        },
        "duration": {
          "description": "Transition duration in seconds or normalized time",
          "default": 0.25,
          "type": "number"
        },
        "exitTime": {
          "description": "Normalized time at which the source state can exit",
          "default": 0.75,
          "type": "number"
        },
        "hasFixedDuration": {
          "description": "If true, duration is in seconds rather than normalized time",
          "default": true,
          "type": "boolean"
        },
        "interruptionSource": {
          "description": "Which state can interrupt this transition",
          "type": "string",
          "enum": [
            "None",
            "Source",
            "Destination",
            "SourceThenDestination",
            "DestinationThenSource"
          ]
        }
      },
      "required": [
        "presetName"
      ]
    },
    "embedding": null
  },
  "unity_analyze_animation_performance": {
    "title": "Analyze Animation Performance",
    "description": "Analyze and optimize animation performance",
    "category": "Animation",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Specific object or all animated objects",
          "type": "string"
        },
        "includeBlendShapes": {
          "description": "Include SkinnedMeshRenderer blend shape costs in analysis",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_get_project_stats": {
    "title": "Get Project Stats",
    "description": "Get overall project statistics",
    "category": "Other",
    "inputSchema": null,
    "embedding": null
  },
  "unity_get_gameobject_details": {
    "title": "Get GameObject Details",
    "description": "Get detailed information about a specific GameObject",
    "category": "GameObject",
    "inputSchema": {
      "type": "object",
      "properties": {
        "objectName": {
          "description": "Name of the GameObject",
          "type": "string"
        }
      },
      "required": [
        "objectName"
      ]
    },
    "embedding": null
  },
  "unity_set_property": {
    "title": "Set Property",
    "description": "Set a property value on any component",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "Target GameObject name",
          "type": "string"
        },
        "componentType": {
          "description": "Component type (e.g., Transform, Rigidbody)",
          "type": "string"
        },
        "propertyName": {
          "description": "Property name to set",
          "type": "string"
        },
        "value": {
          "description": "Value to set (will be parsed based on property type)",
          "type": "string"
        }
      },
      "required": [
        "targetObject",
        "componentType",
        "propertyName",
        "value"
      ]
    },
    "embedding": null
  },
  "unity_execute_batch": {
    "title": "Execute Multiple Operations in Single Call",
    "description": "Execute multiple Unity commands in a single call to reduce token consumption and API round-trips.",
    "category": "Other",
    "inputSchema": null,
    "embedding": null
  },
  "unity_send_chat_response": {
    "title": "Send Chat Response",
    "description": "Send a response to the Unity chat interface",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "message": {
          "description": "Message to send",
          "type": "string"
        },
        "type": {
          "description": "Severity style applied to the chat message in the Unity UI",
          "default": "info",
          "type": "string",
          "enum": [
            "info",
            "success",
            "warning",
            "error"
          ]
        }
      },
      "required": [
        "message"
      ]
    },
    "embedding": null
  },
  "unity_check_messages": {
    "title": "Check Messages",
    "description": "Check for pending messages from Unity",
    "category": "Other",
    "inputSchema": null,
    "embedding": null
  },
  "unity_create_caustics": {
    "title": "Create Caustics",
    "description": "Create underwater caustics effect",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "targetObject": {
          "description": "GameObject name to receive the caustics projector or material",
          "type": "string"
        },
        "intensity": {
          "description": "Brightness multiplier of the caustics light pattern",
          "default": 1,
          "type": "number"
        },
        "scale": {
          "description": "Tiling scale of the caustics texture in world units",
          "default": 1,
          "type": "number"
        },
        "speed": {
          "description": "Animation playback speed of the caustics pattern",
          "default": 1,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_create_water": {
    "title": "Create Water",
    "description": "Create water surface with waves and reflections",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "waterType": {
          "description": "Preset water body that determines waves, foam, and flow defaults",
          "default": "Ocean",
          "type": "string",
          "enum": [
            "Ocean",
            "Lake",
            "River",
            "Pool"
          ]
        },
        "size": {
          "description": "Size of the water plane in world units",
          "default": 100,
          "type": "number"
        },
        "quality": {
          "description": "Shader and reflection quality tier for the water surface",
          "default": "Medium",
          "type": "string",
          "enum": [
            "Low",
            "Medium",
            "High"
          ]
        }
      }
    },
    "embedding": null
  },
  "unity_modify_script": {
    "title": "Modify Script",
    "description": "Edit existing Unity scripts.",
    "category": "Scripting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scriptPath": {
          "description": "Full path to script (e.g., Assets/Scripts/MyScript.cs) - use this OR fileName",
          "type": "string"
        },
        "fileName": {
          "description": "Just the script name (e.g., MyScript.cs or MyScript) - use this OR scriptPath",
          "type": "string"
        },
        "operation": {
          "description": "Type of modification: replace=overwrite entire file content, insert=add at specific position, append=add to end, prepend=add to beginning",
          "default": "replace",
          "type": "string",
          "enum": [
            "replace",
            "insert",
            "append",
            "prepend"
          ]
        },
        "content": {
          "description": "New content to add or replace. For replace operation, this will become the entire file content",
          "type": "string"
        },
        "searchText": {
          "description": "Text to search for when using replace or insert operations",
          "type": "string"
        },
        "lineNumber": {
          "description": "Line number for line-specific operations (1-based)",
          "type": "number"
        }
      },
      "required": [
        "content"
      ]
    },
    "embedding": null
  },
  "unity_edit_script_line": {
    "title": "Edit Script Line",
    "description": "Edit a specific line in a Unity script.",
    "category": "Scripting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scriptPath": {
          "description": "Full path (e.g., Assets/Scripts/MyScript.cs) - use this OR fileName",
          "type": "string"
        },
        "fileName": {
          "description": "Script name (e.g., MyScript.cs or just MyScript) - use this OR scriptPath",
          "type": "string"
        },
        "lineNumber": {
          "description": "Line number to edit (1-based)",
          "type": "number"
        },
        "newContent": {
          "description": "New content for the line",
          "type": "string"
        }
      },
      "required": [
        "lineNumber",
        "newContent"
      ]
    },
    "embedding": null
  },
  "unity_add_script_method": {
    "title": "Add Script Method",
    "description": "Add a new method to a Unity script.",
    "category": "Scripting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scriptPath": {
          "description": "Full path (e.g., Assets/Scripts/MyScript.cs) - use this OR fileName",
          "type": "string"
        },
        "fileName": {
          "description": "Script name (e.g., MyScript.cs or just MyScript) - use this OR scriptPath",
          "type": "string"
        },
        "methodName": {
          "description": "Name of the method to add",
          "type": "string"
        },
        "methodContent": {
          "description": "Complete method implementation with proper indentation",
          "type": "string"
        },
        "insertAfter": {
          "description": "Insert after this method/pattern (optional, defaults to end of class)",
          "type": "string"
        }
      },
      "required": [
        "methodName",
        "methodContent"
      ]
    },
    "embedding": null
  },
  "unity_update_script_variable": {
    "title": "Update Script Variable",
    "description": "Update variable declaration or value in a Unity script.",
    "category": "Scripting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scriptPath": {
          "description": "Path to the script file",
          "type": "string"
        },
        "fileName": {
          "description": "Name of the script file to find",
          "type": "string"
        },
        "variableName": {
          "description": "Name of the variable to update",
          "type": "string"
        },
        "newDeclaration": {
          "description": "New variable declaration (e.g., \"public float speed = 10f;\")",
          "type": "string"
        },
        "updateType": {
          "description": "Update type: declaration or just value",
          "default": "declaration",
          "type": "string",
          "enum": [
            "declaration",
            "value"
          ]
        }
      },
      "required": [
        "variableName",
        "newDeclaration"
      ]
    },
    "embedding": null
  },
  "unity_read_script": {
    "title": "Read Script Content",
    "description": "🔍 Search for patterns across multiple script files using regex. Similar to grep command. Returns matching lines with file paths, line numbers, and context. Supports case-insensitive search and context lines.",
    "category": "Scripting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scriptPath": {
          "description": "Full path (e.g., Assets/Scripts/MyScript.cs) - use this OR fileName",
          "type": "string"
        },
        "fileName": {
          "description": "Script name (e.g., MyScript or MyScript.cs) - use this OR scriptPath",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_grep_scripts": {
    "title": "Grep Search in Scripts",
    "description": "🔍 Search for patterns across multiple script files using regex. Similar to grep command. Returns matching lines with file paths, line numbers, and context. Supports case-insensitive search and context lines.",
    "category": "Scripting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "pattern": {
          "description": "Search pattern (supports regex)",
          "type": "string"
        },
        "filePattern": {
          "description": "File pattern (glob, e.g., Assets/Scripts/**/*.cs)",
          "default": "**/*.cs",
          "type": "string"
        },
        "caseSensitive": {
          "description": "Case-sensitive search",
          "default": false,
          "type": "boolean"
        },
        "contextLines": {
          "description": "Number of context lines to show (like grep -C)",
          "default": 0,
          "type": "number"
        },
        "showLineNumbers": {
          "description": "Show line numbers in results",
          "default": true,
          "type": "boolean"
        },
        "maxResults": {
          "description": "Maximum number of results to return",
          "default": 100,
          "type": "number"
        }
      },
      "required": [
        "pattern"
      ]
    },
    "embedding": null
  },
  "unity_read_script_range": {
    "title": "Read Script Range",
    "description": "📄 Read a specific range of lines from a script file. Useful for large files where you only need to see a portion. Like using head/tail/sed commands.",
    "category": "Scripting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scriptPath": {
          "description": "Full path (e.g., Assets/Scripts/MyScript.cs)",
          "type": "string"
        },
        "fileName": {
          "description": "Script name (e.g., MyScript.cs)",
          "type": "string"
        },
        "startLine": {
          "description": "Starting line number (1-based, optional)",
          "type": "number"
        },
        "endLine": {
          "description": "Ending line number (1-based, optional)",
          "type": "number"
        },
        "limit": {
          "description": "Maximum number of lines to read",
          "type": "number"
        },
        "offset": {
          "description": "Number of lines to skip from start",
          "default": 0,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_search_code": {
    "title": "Search Code in Project",
    "description": "🔎 Search for code patterns across the entire Unity project. Can search in specific directories, filter by file types, and group results by file. More comprehensive than grep_scripts.",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "query": {
          "description": "Search query (supports regex)",
          "type": "string"
        },
        "searchIn": {
          "description": "Directories to search in (e.g., [\"Scripts\", \"Editor\"])",
          "type": "array"
        },
        "fileTypes": {
          "description": "File extensions to search (e.g., [\".cs\", \".shader\"])",
          "default": "['.cs']",
          "type": "array"
        },
        "includeMetaFiles": {
          "description": "Include .meta files in search",
          "default": false,
          "type": "boolean"
        },
        "groupByFile": {
          "description": "Group results by file",
          "default": true,
          "type": "boolean"
        },
        "caseSensitive": {
          "description": "Case-sensitive search",
          "default": false,
          "type": "boolean"
        },
        "maxResults": {
          "description": "Maximum number of results",
          "default": 200,
          "type": "number"
        }
      },
      "required": [
        "query"
      ]
    },
    "embedding": null
  },
  "unity_list_script_files": {
    "title": "List Script Files",
    "description": "📁 List script files in the project with glob pattern support. Can filter by directory, pattern, and sort by various criteria. Like using find or ls commands.",
    "category": "Scripting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "directory": {
          "description": "Directory to search in (e.g., Assets/Scripts)",
          "default": "Assets",
          "type": "string"
        },
        "pattern": {
          "description": "File pattern (glob, e.g., **/*Controller.cs)",
          "default": "**/*.cs",
          "type": "string"
        },
        "recursive": {
          "description": "Search recursively in subdirectories",
          "default": true,
          "type": "boolean"
        },
        "sortBy": {
          "description": "Sort files by",
          "default": "name",
          "type": "string",
          "enum": [
            "name",
            "size",
            "modified"
          ]
        },
        "includeMetaFiles": {
          "description": "Include .meta files",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_analyze_script": {
    "title": "Analyze Script Quality",
    "description": "🔍 Comprehensive script analysis tool that checks for syntax errors, code quality issues, Unity-specific problems, and provides improvement suggestions. Detects: bracket mismatches, long methods, unused variables, performance issues in Update(), null reference risks, naming conventions, and more. Use this to identify issues before modifying scripts.",
    "category": "Scripting",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scriptPath": {
          "description": "Full path to script (e.g., Assets/Scripts/MyScript.cs) - use this OR fileName",
          "type": "string"
        },
        "fileName": {
          "description": "Just the script name (e.g., MyScript.cs or MyScript) - use this OR scriptPath",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_analyze_performance": {
    "title": "Performance Diagnostic Tool",
    "description": "⚡ Comprehensive performance analysis tool that detects expensive operations in Update loops, excessive GameObject.Find usage, inefficient coroutines, string performance issues, LINQ allocations, Draw Call problems, mesh/texture optimization opportunities, lighting issues, and UI performance bottlenecks. Provides detailed recommendations for optimization.",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scriptPath": {
          "description": "Full path to script to analyze (e.g., Assets/Scripts/MyScript.cs) - use this OR fileName",
          "type": "string"
        },
        "fileName": {
          "description": "Just the script name (e.g., MyScript.cs or MyScript) - use this OR scriptPath",
          "type": "string"
        },
        "target": {
          "description": "GameObject name to analyze specifically (if not provided, analyzes entire scene)",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_check_best_practices": {
    "title": "Best Practices Checker",
    "description": "✅ Analyzes Unity scripts for compliance with Unity official guidelines, coding standards, security issues, and architectural patterns. Detects: Resources.Load usage, magic numbers, singleton patterns, API key hardcoding, PlayerPrefs security issues, high coupling, large classes, and provides compliance scoring with detailed recommendations.",
    "category": "Optimization",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scriptPath": {
          "description": "Full path to script (e.g., Assets/Scripts/MyScript.cs) - use this OR fileName",
          "type": "string"
        },
        "fileName": {
          "description": "Just the script name (e.g., MyScript.cs or MyScript) - use this OR scriptPath",
          "type": "string"
        }
      }
    },
    "embedding": null
  },
  "unity_monitor_runtime_errors": {
    "title": "Monitor Runtime Errors",
    "description": "🔴 Real-time runtime error monitoring and analysis tool. Detects and categorizes: NullReferenceException, IndexOutOfRange, MissingReference, and other runtime errors. Provides error patterns, stack trace analysis, affected files, potential issues detection (deep hierarchies, self-references), and specific solutions for each error type. Essential for debugging and error prevention.",
    "category": "Monitoring",
    "inputSchema": {
      "type": "object",
      "properties": {
        "timeWindow": {
          "description": "Time window in seconds to analyze errors (default: 60)",
          "default": 60,
          "type": "number"
        },
        "includeWarnings": {
          "description": "Include warnings in analysis (default: true)",
          "default": true,
          "type": "boolean"
        },
        "analyzeStackTrace": {
          "description": "Analyze stack traces for patterns (default: true)",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "embedding": null
  },
  "unity_auto_attach_ui": {
    "title": "Auto Attach UI Elements",
    "description": "Automatically attach UI elements to component fields based on naming conventions",
    "category": "Utility",
    "inputSchema": {
      "type": "object",
      "properties": {
        "target": {
          "description": "Name of the GameObject with the component (e.g., TetrisGameManager)",
          "type": "string"
        },
        "component": {
          "description": "Component name (optional, will find first custom component if not specified)",
          "type": "string"
        }
      },
      "required": [
        "target"
      ]
    },
    "embedding": null
  },
  "unity_setup_ui_canvas": {
    "title": "Setup UI Canvas",
    "description": "Configure UI Canvas with different render modes (overlay, camera, world) and settings",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "canvasName": {
          "description": "Name of the canvas",
          "default": "Canvas",
          "type": "string"
        },
        "renderMode": {
          "description": "Canvas render mode",
          "default": "overlay",
          "type": "string",
          "enum": [
            "overlay",
            "screenspace-overlay",
            "camera",
            "screenspace-camera",
            "world",
            "worldspace"
          ]
        },
        "sortingOrder": {
          "description": "Sorting order for overlay mode",
          "default": 0,
          "type": "number"
        },
        "pixelPerfect": {
          "description": "Enable pixel perfect rendering",
          "default": false,
          "type": "boolean"
        },
        "camera": {
          "description": "Camera name for camera mode (use \"new\" to create UI camera)",
          "type": "string"
        },
        "planeDistance": {
          "description": "Plane distance for camera mode",
          "default": 100,
          "type": "number"
        },
        "position": {
          "description": "Position for world space canvas (e.g., \"0,0,5\")",
          "type": "string"
        },
        "rotation": {
          "description": "Rotation for world space canvas (e.g., \"0,180,0\")",
          "type": "string"
        },
        "scale": {
          "description": "Scale for world space canvas (e.g., \"0.01,0.01,0.01\")",
          "type": "string"
        },
        "sizeDelta": {
          "description": "Canvas size for world space (e.g., \"1920,1080\")",
          "type": "string"
        },
        "scaleMode": {
          "description": "Canvas scaler mode",
          "type": "string",
          "enum": [
            "constant-pixel",
            "scale-with-screen",
            "constant-physical"
          ]
        },
        "referenceResolution": {
          "description": "Reference resolution for scale-with-screen mode",
          "default": "1920,1080",
          "type": "string"
        },
        "match": {
          "description": "Width/Height match for scale-with-screen mode",
          "default": 0.5,
          "type": "number"
        },
        "scaleFactor": {
          "description": "Scale factor for constant-pixel mode",
          "default": 1,
          "type": "number"
        },
        "pixelsPerUnit": {
          "description": "Pixels per unit for constant-physical mode",
          "default": 100,
          "type": "number"
        }
      }
    },
    "embedding": null
  },
  "unity_set_ui_anchor": {
    "title": "Set UI Anchor",
    "description": "Set UI element anchor presets or custom anchor values for RectTransform",
    "category": "UI",
    "inputSchema": {
      "type": "object",
      "properties": {
        "target": {
          "description": "Name of the UI element",
          "type": "string"
        },
        "preset": {
          "description": "Anchor preset to apply",
          "type": "string",
          "enum": [
            "center",
            "middle-center",
            "top-left",
            "top-center",
            "top-right",
            "middle-left",
            "middle-right",
            "bottom-left",
            "bottom-center",
            "bottom-right",
            "stretch-horizontal",
            "stretch-vertical",
            "stretch-all",
            "fill",
            "top-stretch",
            "bottom-stretch",
            "left-stretch",
            "right-stretch",
            "custom"
          ]
        },
        "anchorMin": {
          "description": "Custom anchor min (e.g., \"0,0\") - only for custom preset",
          "type": "string"
        },
        "anchorMax": {
          "description": "Custom anchor max (e.g., \"1,1\") - only for custom preset",
          "type": "string"
        },
        "pivot": {
          "description": "Pivot point (e.g., \"0.5,0.5\") - only for custom preset",
          "type": "string"
        },
        "anchoredPosition": {
          "description": "Anchored position (e.g., \"0,0\")",
          "type": "string"
        },
        "sizeDelta": {
          "description": "Size delta (e.g., \"100,100\")",
          "type": "string"
        },
        "keepPosition": {
          "description": "Keep current position when applying preset",
          "default": false,
          "type": "boolean"
        },
        "keepSize": {
          "description": "Keep current size when applying preset",
          "default": false,
          "type": "boolean"
        },
        "offset": {
          "description": "Offset for stretch-all/fill presets",
          "type": "number"
        }
      },
      "required": [
        "target"
      ]
    },
    "embedding": null
  },
  "unity_dynamic_inspect": {
    "title": "Dynamic Inspect",
    "description": "Dynamically inspect any Unity object, component, scene, or project assets. Use this to discover what properties are available before modifying them.",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "target": {
          "description": "What to inspect: gameobject (properties/components), component (all serialized fields), scene (current scene info), project (project structure), prefabs (search prefabs), hierarchy (scene hierarchy)",
          "type": "string",
          "enum": [
            "gameobject",
            "component",
            "scene",
            "project",
            "prefabs",
            "hierarchy"
          ]
        },
        "name": {
          "description": "GameObject name (for gameobject/component targets)",
          "type": "string"
        },
        "component": {
          "description": "Component type to inspect (e.g., \"Camera\", \"CinemachineVirtualCamera\")",
          "type": "string"
        },
        "path": {
          "description": "Asset path filter for project/prefabs (e.g., \"Assets/Prefabs/*\")",
          "type": "string"
        },
        "depth": {
          "description": "Hierarchy depth for nested inspection (default: 2)",
          "default": 2,
          "type": "number"
        }
      },
      "required": [
        "target"
      ]
    },
    "embedding": null
  },
  "unity_dynamic_modify": {
    "title": "Dynamic Modify",
    "description": "Dynamically modify any property of a Unity component using property paths. Use unity_dynamic_inspect first to discover available properties.",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "gameObject": {
          "description": "GameObject name",
          "type": "string"
        },
        "component": {
          "description": "Component type (e.g., \"Transform\", \"Camera\", \"CinemachineVirtualCamera\")",
          "type": "string"
        },
        "properties": {
          "description": "Property paths and values as key-value pairs (e.g., {\"m_Lens.FieldOfView\": 60, \"m_Priority\": 10})",
          "type": "string"
        },
        "createIfMissing": {
          "description": "Add component if it does not exist",
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "gameObject",
        "component",
        "properties"
      ]
    },
    "embedding": null
  },
  "unity_dynamic_create": {
    "title": "Dynamic Create",
    "description": "Create GameObjects, instantiate prefabs, load scenes, or add components. Universal creation tool.",
    "category": "Other",
    "inputSchema": {
      "type": "object",
      "properties": {
        "type": {
          "description": "What to create: gameobject (empty or primitive), prefab (instantiate from asset), scene (load scene), component (add to existing object)",
          "type": "string",
          "enum": [
            "gameobject",
            "prefab",
            "scene",
            "component"
          ]
        },
        "name": {
          "description": "Name for new GameObject",
          "type": "string"
        },
        "primitive": {
          "description": "Primitive type (for gameobject)",
          "type": "string",
          "enum": [
            "empty",
            "cube",
            "sphere",
            "cylinder",
            "plane",
            "capsule",
            "quad"
          ]
        },
        "asset": {
          "description": "Asset path for prefab (e.g., \"Assets/Prefabs/Enemy.prefab\")",
          "type": "string"
        },
        "scene": {
          "description": "Scene name or path to load",
          "type": "string"
        },
        "additive": {
          "description": "Load scene additively (for scene type)",
          "default": false,
          "type": "boolean"
        },
        "gameObject": {
          "description": "Target GameObject (for component type)",
          "type": "string"
        },
        "component": {
          "description": "Component type to add (for component type)",
          "type": "string"
        },
        "parent": {
          "description": "Parent GameObject name",
          "type": "string"
        },
        "position": {
          "description": "World position",
          "type": "object",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          }
        },
        "rotation": {
          "description": "Euler rotation",
          "type": "object",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          }
        },
        "scale": {
          "description": "Local scale",
          "type": "object",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          }
        }
      },
      "required": [
        "type"
      ]
    },
    "embedding": null
  }
}