Skip to content

v0.3.0

Choose a tag to compare

@Winlifes Winlifes released this 07 May 02:30

Highlights

  • New foundation helpers: ObjectsHelper (unified by_id/by_name/by_path/by_tag/by_layer/by_component locator), ComponentSerializer (SerializedObject-based read/write picking up [SerializeField] private and Object refs via {"fileID": instanceId}), TypeResolver (TypeCache-backed O(1) component type lookup), Response envelope (structured {success, message, data} JSON), EditorReadyHelper, GameObjectSerializer.
  • New IFunplayCommand + ExecutionContext template for execute_code: auto-Undo on RegisterObjectCreation/Modification/DestroyObject, structured logs via ctx.Log/LogWarning/LogError, returned changelog of created/modified/destroyed objects.
  • 15 new tools across two new modules:
    • EditorState: get_editor_state, get_selection, set_selection, get_prefab_stage, get_active_tool, set_active_tool, get_windows, get_tags, add_tag, remove_tag, get_layers, add_layer, get_build_settings.
    • MenuItem: execute_menu_item, validate_menu_item.
  • Tool returns now structured JSON with stable instanceId so agents can chain by_id calls instead of re-resolving by name.
  • execute_code now refreshes the asset database and waits for compilation before running, so external file edits are picked up automatically without a separate request_recompile.
  • core profile expanded from 19 to 29 tools to include the new high-frequency object location, component editing, editor-state, and execute_menu_item entries.
  • Project skill (unity-mcp-workflow) and generated AGENTS.md / CLAUDE.md templates updated to cover the new structured returns, instanceId chaining, find_method, the SerializedProperty-backed component setter, the IFunplayCommand template, and execute_menu_item as the preferred fallback.

Breaking

  • GameObjectFunctions parameter renames now that resolution is method-driven: nametarget (delete/duplicate/rename/set_transform/set_active/add_component/set_tag_and_layer/get_game_object_info), parent_nameparent, child_namechild. The new find_method parameter is optional everywhere.

Validation

  • Verified end-to-end against a live Unity 2022.3.62f2c1 editor on http://127.0.0.1:8765/: structured JSON returns, IFunplayCommand Undo + logs, [SerializeField] private reads (incl. m_ConstrainProportionsScale), Object reference assignment via {"fileID": instanceId}, multi-field writes with per-field success reports, find_method=by_id/by_name/by_tag/by_component, full Editor State and MenuItem tools.