308 lines
15 KiB
Markdown
308 lines
15 KiB
Markdown
# Unity MCP Feature Roadmap 2026
|
|
|
|
## Research Summary
|
|
|
|
Six parallel research agents investigated 12+ domains across Unity's API surface. Every domain was assessed for: API stability, implementation complexity, developer value, dead ends, and dependencies.
|
|
|
|
### Current Tool Coverage (19 tools)
|
|
Animation, Asset, Audio, Camera, Components, Editor, GameObjects, Graphics, Lighting, Material, Prefabs, ProBuilder, Scene, Script, ScriptableObject, Shader, Texture, UI, VFX
|
|
|
|
---
|
|
|
|
## Prioritized Implementation Plan
|
|
|
|
### Tier 1: Foundation (Unblocks Everything Else)
|
|
|
|
#### 1. `manage_packages` — Package Management
|
|
| Dimension | Assessment |
|
|
|-----------|-----------|
|
|
| **Value** | Very High |
|
|
| **Complexity** | Medium |
|
|
| **Actions** | ~14 |
|
|
| **Dependencies** | None (core Unity) |
|
|
| **Audience** | 100% of users |
|
|
|
|
**Why first**: Directly unblocks XR, Addressables, Input System, and any workflow requiring optional packages. Currently the #1 gap — AI can detect missing packages but cannot install them.
|
|
|
|
**Key APIs**: `PackageManager.Client.Add/Remove/List/Search/Embed` (all public, async). Scoped registries via `manifest.json` editing. Assembly definitions as JSON files.
|
|
|
|
**Actions**: `add_package`, `remove_package`, `add_and_remove`, `list_packages`, `search_packages`, `get_package_info`, `embed_package`, `resolve_packages`, `list_registries`, `add_registry`, `remove_registry`, `list_assemblies`, `create_asmdef`, `ping`
|
|
|
|
**Challenge**: Domain reload after install/remove kills state. Solution: `PendingResponse` + `McpJobStateStore` (existing patterns).
|
|
|
|
#### 2. QoL: Extend Existing Tools
|
|
| Dimension | Assessment |
|
|
|-----------|-----------|
|
|
| **Value** | High |
|
|
| **Complexity** | Low |
|
|
| **Effort** | 1-2 days each |
|
|
|
|
**2a. Multi-scene editing** (extend `manage_scene`):
|
|
- `open_additive`, `close_scene`, `set_active_scene`, `get_loaded_scenes`, `save_setup`, `restore_setup`
|
|
- `add_to_build`, `remove_from_build`, `set_build_enabled`
|
|
|
|
**2b. Scene validation** (extend `manage_scene` or new resource):
|
|
- `validate` — detect missing scripts, broken prefab references, null references
|
|
- `repair` — auto-fix missing scripts
|
|
- Uses `GameObjectUtility.GetMonoBehavioursWithMissingScriptCount()`, `PrefabUtility.GetPrefabInstanceStatus()`
|
|
|
|
**2c. Undo/Redo** (extend `manage_editor`):
|
|
- `undo`, `redo` — `Undo.PerformUndo()` / `Undo.PerformRedo()`
|
|
|
|
**2d. Scene templates** (extend `manage_scene`):
|
|
- `create_from_template` — presets: `3d_basic`, `3d_urp`, `2d_basic`, `empty`
|
|
|
|
---
|
|
|
|
### Tier 2: Core Game Systems (High Value, Low-Medium Complexity)
|
|
|
|
#### 3. `manage_physics` — Physics System
|
|
| Dimension | Assessment |
|
|
|-----------|-----------|
|
|
| **Value** | High |
|
|
| **Complexity** | Low-Medium |
|
|
| **Actions** | ~18 |
|
|
| **Dependencies** | None (core Unity) |
|
|
| **Audience** | ~90% of games |
|
|
|
|
**Why**: Almost every game uses physics. Existing `manage_components` can add Rigidbody/Collider but lacks global settings, collision matrix, raycasting, and simulation.
|
|
|
|
**Key APIs**: All public and stable since Unity 5+. `Physics.*` static class, all component properties, `PhysicsMaterial` asset creation.
|
|
|
|
**Actions by category**:
|
|
- Rigidbody: `add_rigidbody`, `configure_rigidbody`
|
|
- Colliders: `add_collider`, `configure_collider`, `fit_collider`
|
|
- Materials: `create_physics_material`, `configure_physics_material`
|
|
- Joints: `add_joint`, `configure_joint`, `remove_joint`
|
|
- Global: `get_settings`, `set_settings`, `get_collision_matrix`, `set_collision_matrix`
|
|
- Simulation: `simulate_step`, `sync_transforms`
|
|
- Queries: `raycast`, `overlap_sphere`
|
|
|
|
**Dead ends**: Physics callbacks don't fire in editor simulation. Can't simulate individual objects. Physics debug viz is internal.
|
|
|
|
#### 4. `manage_input` — Input System
|
|
| Dimension | Assessment |
|
|
|-----------|-----------|
|
|
| **Value** | High |
|
|
| **Complexity** | Medium-Low |
|
|
| **Actions** | ~18 |
|
|
| **Dependencies** | `com.unity.inputsystem` (must install) |
|
|
| **Audience** | ~95% of games |
|
|
|
|
**Why**: Every game needs input. Tedious manual setup. Perfect for presets ("set up FPS controls with gamepad support").
|
|
|
|
**Key APIs**: `InputActionSetupExtensions` — clean fluent API. `InputActionAsset` is a ScriptableObject serialized as JSON. All public.
|
|
|
|
**Actions**: `create_input_actions`, `get_input_actions_info`, `add_action_map`, `remove_action_map`, `add_action`, `remove_action`, `set_action_properties`, `add_binding`, `add_composite_binding`, `remove_binding`, `add_control_scheme`, `remove_control_scheme`, `setup_player_input`, `create_preset` (fps, third_person, platformer, vehicle, ui), `ping`
|
|
|
|
**Dead ends**: InputSettings modification is fragile. Active input handler switching requires restart. Generated C# wrapper class toggling is fragile.
|
|
|
|
#### 5. `manage_navigation` — NavMesh & AI Navigation
|
|
| Dimension | Assessment |
|
|
|-----------|-----------|
|
|
| **Value** | High |
|
|
| **Complexity** | Low-Medium |
|
|
| **Actions** | ~22 |
|
|
| **Dependencies** | None (core) + `com.unity.ai.navigation` (optional) |
|
|
| **Audience** | ~70% of 3D games |
|
|
|
|
**Why**: Navigation is fundamental. NavMesh baking is a pain point for beginners. Enables complete AI character workflow.
|
|
|
|
**Key APIs**: Core `NavMesh.*` static methods are built-in (no package). `NavMeshSurface`/`NavMeshLink`/`NavMeshModifier` from AI Navigation package (optional).
|
|
|
|
**Actions**: `navmesh_bake`, `navmesh_clear`, `navmesh_sample_position`, `navmesh_calculate_path`, `navmesh_raycast`, `agent_add`, `agent_configure`, `agent_set_destination`, `obstacle_add`, `obstacle_configure`, `surface_add`, `surface_configure`, `link_add`, `link_configure`, `modifier_add`, `modifier_volume_add`, `ping`, etc.
|
|
|
|
**Resource**: `mcpforunity://scene/navigation`
|
|
|
|
**Dead ends**: Can't create new NavMesh area types programmatically. No visual NavMesh debugging API.
|
|
|
|
---
|
|
|
|
### Tier 3: Content Creation (High Value, Medium Complexity)
|
|
|
|
#### 6. `manage_terrain` — Terrain System
|
|
| Dimension | Assessment |
|
|
|-----------|-----------|
|
|
| **Value** | High |
|
|
| **Complexity** | Medium |
|
|
| **Actions** | ~24 |
|
|
| **Dependencies** | None (core Unity) |
|
|
| **Audience** | ~40% of 3D games |
|
|
|
|
**Why**: Enables prompt-driven terrain generation. "Create mountainous terrain with snow above 80% height" becomes possible. Procedural generation (Perlin, height/slope-based painting) is the killer feature.
|
|
|
|
**Key APIs**: `TerrainData.SetHeights/GetHeights`, `SetAlphamaps`, `SetHoles`, tree/detail placement. All public.
|
|
|
|
**Actions**: `create_terrain`, `get_info`, `get_heights`, `set_heights`, `generate_heights` (Perlin, ridged, fbm), `flatten`, `smooth_heights`, `add_layer`, `paint_layer`, `paint_layer_by_height`, `paint_layer_by_slope`, `set_tree_prototypes`, `add_trees`, `scatter_trees`, `set_detail_prototypes`, `scatter_details`, `set_holes`, `set_neighbors`, `set_settings`, `ping`
|
|
|
|
**Critical design**: Heightmap operations must be region-based (never full map). Procedural generation runs C#-side. Large data stays server-side.
|
|
|
|
#### 7. `manage_timeline` — Timeline System
|
|
| Dimension | Assessment |
|
|
|-----------|-----------|
|
|
| **Value** | High |
|
|
| **Complexity** | Medium |
|
|
| **Actions** | ~25 |
|
|
| **Dependencies** | `com.unity.timeline` (included by default) |
|
|
| **Audience** | ~35% of games |
|
|
|
|
**Why**: Unlocks programmatic cutscene/sequence construction — a unique AI workflow. "Create a 10-second cutscene where the camera pans, the door opens at 2s, and music fades in at 5s."
|
|
|
|
**Key APIs**: `TimelineAsset.CreateTrack<T>()`, `TrackAsset.CreateClip<T>()`, `PlayableDirector.SetGenericBinding()`, `SignalAsset/Emitter/Receiver`. All public, remarkably complete.
|
|
|
|
**Actions**: `create_timeline`, `get_timeline_info`, `add_track`, `remove_track`, `add_clip`, `set_clip_properties`, `move_clip`, `setup_director`, `set_binding`, `get_bindings`, `set_director_properties`, `create_signal`, `add_signal_emitter`, `setup_signal_receiver`, `add_group`, `ping`
|
|
|
|
**Synergies**: `manage_animation` (clips), `manage_camera` (Cinemachine bindings), `manage_scene`.
|
|
|
|
#### 8. `manage_netcode` — Networking / Multiplayer
|
|
| Dimension | Assessment |
|
|
|-----------|-----------|
|
|
| **Value** | High |
|
|
| **Complexity** | Medium |
|
|
| **Actions** | ~20 |
|
|
| **Dependencies** | `com.unity.netcode.gameobjects` |
|
|
| **Audience** | ~64% of developers |
|
|
|
|
**Why**: Largest untapped audience. Zero competition in MCP space. Networking setup is error-prone and boilerplate-heavy.
|
|
|
|
**Key APIs**: `NetworkManager`, `NetworkObject`, `NetworkTransform`, `NetworkAnimator`, `NetworkRigidbody` — all standard MonoBehaviours. `NetworkPrefabsList` — ScriptableObject.
|
|
|
|
**Actions**: `setup_create_manager`, `setup_configure_manager`, `prefab_create_list`, `prefab_register`, `prefab_make_network`, `component_add_network_object`, `component_add_network_transform`, `component_add_network_animator`, `component_add_network_rigidbody`, `codegen_network_behaviour`, `codegen_player_controller`, `validate`, `list_network_objects`, `ping`
|
|
|
|
**Unique value**: Code generation for `NetworkBehaviour` scripts with RPCs, `NetworkVariable<T>` declarations. The `validate` action catches common misconfigurations before runtime.
|
|
|
|
---
|
|
|
|
### Tier 4: Build & Deploy (Very High Value, Higher Complexity)
|
|
|
|
#### 9. `manage_build` — Build Pipeline
|
|
| Dimension | Assessment |
|
|
|-----------|-----------|
|
|
| **Value** | Very High |
|
|
| **Complexity** | Medium-High |
|
|
| **Actions** | ~15 |
|
|
| **Dependencies** | None (Addressables optional) |
|
|
|
|
**Why**: Essential for CI/CD workflows, platform management, and project configuration.
|
|
|
|
**Actions**: `build_player`, `build_status`, `switch_platform`, `get_platform`, `get_player_settings`, `set_player_settings`, `get_define_symbols`, `set_define_symbols`, `get_build_scenes`, `set_build_scenes`, `get_build_profile`, `set_build_profile`, `list_build_profiles`, `ping`
|
|
|
|
**Challenge**: `BuildPipeline.BuildPlayer` is synchronous and blocks the editor thread. Non-blocking actions (PlayerSettings, define symbols) are straightforward. Build triggering needs `EditorApplication.delayCall` + poll-based status.
|
|
|
|
#### 10. `manage_addressables` — Addressable Assets
|
|
| Dimension | Assessment |
|
|
|-----------|-----------|
|
|
| **Value** | High |
|
|
| **Complexity** | Medium |
|
|
| **Actions** | ~23 |
|
|
| **Dependencies** | `com.unity.addressables` |
|
|
|
|
**Why**: Unity's recommended asset management for any project needing dynamic loading, DLC, or reduced build sizes.
|
|
|
|
**Actions**: `group_create`, `group_remove`, `group_list`, `entry_add`, `entry_remove`, `entry_move`, `entry_set_address`, `entry_find`, `label_add`, `label_remove`, `label_list`, `label_set`, `profile_list`, `profile_get`, `profile_set`, `profile_set_active`, `build_content`, `build_update`, `build_clean`, `get_settings`, `set_settings`, `ping`
|
|
|
|
**Resources**: `mcpforunity://addressables/groups`, `mcpforunity://addressables/settings`
|
|
|
|
---
|
|
|
|
### Tier 5: Specialized Domains (Medium-High Value, Higher Complexity)
|
|
|
|
#### 11. `manage_xr` — XR / VR / AR
|
|
| Dimension | Assessment |
|
|
|-----------|-----------|
|
|
| **Value** | Medium-High |
|
|
| **Complexity** | HIGH |
|
|
| **Actions** | ~25 |
|
|
| **Dependencies** | 3-6 packages |
|
|
| **Audience** | ~18% of developers |
|
|
|
|
**Why**: XR setup is notoriously painful. Meta has 10 tools but only covers Meta-specific SDK — cross-platform XRI, AR Foundation, and project-level setup are our opportunity.
|
|
|
|
**Recommendation**: Target XRI 3.0+ only. Focus on project setup + XR Origin creation first. Defer AR Foundation to later phase. Requires `manage_packages` first.
|
|
|
|
#### 12. `manage_tilemap` — 2D Tilemap (split from broader 2D)
|
|
| Dimension | Assessment |
|
|
|-----------|-----------|
|
|
| **Value** | Medium-High |
|
|
| **Complexity** | Medium |
|
|
| **Actions** | ~15 |
|
|
| **Dependencies** | None (core) + optional extras |
|
|
|
|
**Why**: Tilemap is the highest-value subset of 2D tooling. AI-assisted tilemap population is a strong use case.
|
|
|
|
**Actions**: `create`, `set_tile`, `set_tiles`, `fill_region`, `clear`, `get_info`, `swap_tile`, `add_collider`, `tile_create`, `tile_create_rule`, `ping`
|
|
|
|
#### 13. `manage_optimization` — Scene Optimization
|
|
| Dimension | Assessment |
|
|
|-----------|-----------|
|
|
| **Value** | Medium |
|
|
| **Complexity** | Medium |
|
|
| **Actions** | ~10 |
|
|
| **Dependencies** | None (core Unity) |
|
|
|
|
**Actions**: `set_static_flags`, `get_static_flags`, `set_static_flags_recursive`, `occlusion_bake`, `occlusion_cancel`, `occlusion_status`, `occlusion_clear`, `configure_lod`, `get_lod_info`, `auto_lod`
|
|
|
|
---
|
|
|
|
## Master Priority Matrix
|
|
|
|
| # | Tool | Value | Complexity | Deps | Actions | Audience |
|
|
|---|------|-------|-----------|------|---------|----------|
|
|
| 1 | `manage_packages` | Very High | Medium | 0 | 14 | 100% |
|
|
| 2 | QoL extensions | High | Low | 0 | ~15 | 100% |
|
|
| 3 | `manage_physics` | High | Low-Med | 0 | 18 | 90% |
|
|
| 4 | `manage_input` | High | Med-Low | 1 | 18 | 95% |
|
|
| 5 | `manage_navigation` | High | Low-Med | 0-1 | 22 | 70% |
|
|
| 6 | `manage_terrain` | High | Medium | 0 | 24 | 40% |
|
|
| 7 | `manage_timeline` | High | Medium | 1 | 25 | 35% |
|
|
| 8 | `manage_netcode` | High | Medium | 1-2 | 20 | 64% |
|
|
| 9 | `manage_build` | Very High | Med-High | 0 | 15 | 100% |
|
|
| 10 | `manage_addressables` | High | Medium | 1 | 23 | 30% |
|
|
| 11 | `manage_xr` | Med-High | HIGH | 3-6 | 25 | 18% |
|
|
| 12 | `manage_tilemap` | Med-High | Medium | 0-2 | 15 | 25% |
|
|
| 13 | `manage_optimization` | Medium | Medium | 0 | 10 | 50% |
|
|
|
|
## Confirmed Dead Ends (Do Not Implement)
|
|
|
|
| Feature | Reason |
|
|
|---------|--------|
|
|
| Shader Graph node creation | Internal API, no public editor scripting |
|
|
| VFX Graph node editing | Internal visual graph API |
|
|
| Terrain brush stroke simulation | UI-based painting system, no programmatic API |
|
|
| XR runtime testing | Requires headset or Play mode |
|
|
| Multiplayer session testing | Requires multiple Play mode instances |
|
|
| Physics callbacks in editor sim | Unity blocks for safety |
|
|
| Tile Palette editing | No public API |
|
|
| 2D Animation bone rigging | Deep, undocumented editor API |
|
|
| Unity Cloud Build | Separate REST API, not Editor scripting |
|
|
| Frame Debugger window | Internal editor utility |
|
|
| Custom NavMesh area creation | Hard-coded to 32 slots, no creation API |
|
|
|
|
## Dependencies Graph
|
|
|
|
```
|
|
manage_packages (Tier 1)
|
|
|
|
|
+---> manage_input (requires com.unity.inputsystem)
|
|
+---> manage_netcode (requires com.unity.netcode.gameobjects)
|
|
+---> manage_addressables (requires com.unity.addressables)
|
|
+---> manage_xr (requires 3-6 packages)
|
|
+---> manage_timeline (usually pre-installed)
|
|
+---> manage_navigation (optional com.unity.ai.navigation)
|
|
|
|
No package dependency:
|
|
manage_physics, manage_terrain, manage_build,
|
|
manage_optimization, QoL extensions, manage_tilemap (core)
|
|
```
|
|
|
|
## Estimated Total Scope
|
|
|
|
- **13 new tools/extensions** across 5 tiers
|
|
- **~250+ new actions** total
|
|
- **~5 new resources**
|
|
- Zero internal/private API hacks needed — all public, stable Unity APIs
|
|
|
|
---
|
|
|
|
*Generated 2026-03-08 by 6 parallel research agents analyzing Unity 6 APIs, documentation, forums, and source references.*
|