{ "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 } }