Unity API Communicator MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UAC_HOST | No | Unity API Communicator host | localhost |
| UAC_PORT | No | Unity API Communicator port | 7777 |
| UAC_TIMEOUT | No | Request timeout in milliseconds | 10000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| statusA | Get server status (read-only, no parameters required) [Category: core] |
| project_infoA | Get project info (read-only, no parameters required) [Category: core] |
| gameobject_createA | Create a new GameObject in the active Unity scene. Can create primitives (Cube, Sphere, Capsule, Cylinder, Plane, Quad) or empty GameObjects. Supports setting initial transform and parent. |
| gameobject_deleteA | Delete a GameObject from the scene by name. The object and all its children will be destroyed. |
| gameobject_transformA | Set the transform (position, rotation, scale) of a GameObject. Only provided fields are modified. |
| gameobject_listA | List all root GameObjects in the active scene with a 2-level hierarchy (root objects and their direct children). Returns name, active state, tag, layer, and child count. |
| gameobject_cloneB | Duplicate/clone a GameObject. The clone appears at the same position as the original. |
| gameobject_activeB | Enable or disable a GameObject (set active/inactive). |
| gameobject_tagC | Set the tag of a GameObject. |
| gameobject_layerA | Set the layer of a GameObject. Accepts layer number (0-31) or layer name. |
| gameobject_find_by_tagA | Find all GameObjects with a specific tag. Returns name, active state, and layer for each match. |
| gameobject_component_addA | Add a component to a GameObject. Use Unity component type names like Rigidbody, BoxCollider, AudioSource, Light, etc. |
| gameobject_component_removeC | Remove a component from a GameObject by type name. |
| gameobject_componentsB | List components (read-only, no parameters required) [Category: gameobject] |
| gameobject_hierarchyC | Set parent (POST /api/gameobject/hierarchy) [Category: gameobject] |
| gameobject_materialD | Set material (POST /api/gameobject/material) [Category: gameobject] |
| scene_activeA | Get information about the currently active scene: name, path, build index, dirty state, root object count. |
| scene_createA | Create a new empty scene. Mode 'Single' replaces current scene, 'Additive' adds alongside existing scenes. |
| scene_openA | Open/load an existing scene by its asset path (e.g. 'Assets/Scenes/Main.unity'). |
| scene_saveB | Save the active scene. Optionally specify a new path to 'Save As'. |
| scene_closeB | Close a scene. Optionally save before closing. |
| scene_loadedA | List all currently loaded scenes with their name, path, dirty state, and which is active. |
| scene_setactiveC | Set a loaded scene as the active scene. |
| asset_createC | Create a new asset in the project. Supported types: Material, Script, Shader, ScriptableObject, AnimationClip, AnimatorController, and more. |
| asset_deleteC | Delete an asset from the project by its path. |
| asset_renameC | Rename an asset. |
| asset_moveC | Move an asset to a different folder. |
| assets_listB | List assets in the project. Filter by type and/or folder. Returns name, path, and type for each asset. |
| material_colorC | Set a color property on a material. Default property is '_Color' (main color). Color values are 0-1 floats. |
| material_floatB | Set a float property on a material (e.g. _Metallic, _Smoothness, _Glossiness). |
| material_textureC | Set a texture on a material. Default property is '_MainTex' (albedo/diffuse). |
| material_shaderC | Change the shader of a material (e.g. 'Standard', 'Universal Render Pipeline/Lit'). |
| material_propertiesB | List all shader properties of a material with their current values, types, and names. |
| prefab_createC | Create a prefab asset from an existing scene GameObject. The prefab is saved as a .prefab file. |
| prefab_instantiateB | Instantiate a prefab in the current scene. Creates a prefab instance linked to the original asset. |
| prefab_applyC | Apply all overrides from a prefab instance back to the original prefab asset. |
| prefab_unpackC | Unpack a prefab instance, breaking the prefab link. Mode 'OutermostRoot' unpacks the top level, 'Completely' unpacks all nested prefabs. |
| build_settingsB | Get current build settings: active platform, enabled scenes, development mode, player settings (company, product, version). |
| build_player_settingsC | Update Player settings. All fields are optional — only provided fields are changed. |
| build_switch_platformB | Switch the active build platform. This may take time as Unity reimports assets. |
| build_startA | Start a build with the current build settings. Uses enabled scenes from Build Settings. This may take a long time. |
| build_platformsB | List all available build platforms and the currently active one. |
| console_logA | Log a message to the Unity Console. Supports Log, Warning, and Error types. |
| console_clearA | Clear the Unity Console and the internal log buffer. |
| console_logsB | Get captured console logs. Requires console listening to be started first. |
| console_startA | Start listening to Unity Console messages. Required before console_logs will capture anything. |
| console_stopA | Stop listening to Unity Console messages. |
| console_errorsB | Get error and warning counts from the console log buffer. |
| console_compilationB | Get compilation errors and warnings directly from Unity's internal log system (up to 100 entries). |
| selection_getA | Get the current editor selection: active GameObject, active object, and all selected objects with their types. |
| selection_setA | Select a GameObject by name in the editor. Optionally add to existing selection. |
| selection_assetB | Select and ping an asset in the Project window by its path. |
| selection_clearB | Clear the current editor selection. |
| selection_allC | Select all (POST /api/selection/all) [Category: selection] |
| selection_focusA | Focus the Scene View camera on the currently selected GameObject (equivalent to pressing F). |
| camera_createB | Create a new Camera GameObject in the scene with optional position, FOV, and orthographic mode. |
| camera_configureC | Configure an existing camera's properties: FOV, clip planes, orthographic mode, background color, depth. |
| camera_listB | List all cameras in the scene with their settings (FOV, orthographic, depth, clip planes). |
| camera_screenshotC | Take a screenshot using ScreenCapture. |
| camera_captureB | Capture what a specific camera sees using RenderTexture. Higher quality than screenshot. Falls back to main camera if not specified. |
| discoverA | Discover all endpoints (read-only, no parameters required) [Category: discovery] |
| categoriesA | List categories (read-only, no parameters required) [Category: discovery] |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SamDreamsMaker/unity-api-communicator-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server