unity-mcp/TestProjects/UnityMCPTests/Assets/Tests/EditMode
dsarno aaf6308b33
fix: Add special handling for UIDocument serialization to prevent infinite loops (#586)
* fix: search inactive objects when setActive=true in modify

When trying to activate an inactive GameObject via manage_gameobject modify with setActive=true, the lookup would fail because inactive objects were not included in the search by default.

Now automatically sets searchInactive=true when setActive=true is specified, allowing inactive objects to be found and activated.

* fix: Add special handling for UIDocument serialization to prevent infinite loops (#585)

UIDocument.rootVisualElement contains circular parent/child references that
can cause infinite serialization loops. This adds special handling similar to
Transform and Camera components.

The fix:
- Safely serializes panelSettings, visualTreeAsset, sortingOrder, enabled, parentUI
- Explicitly skips rootVisualElement to prevent circular reference issues
- Includes a note explaining why rootVisualElement is skipped

Tested on Unity 2021.3 and Unity 6.3.

* refactor: Extract SerializeAssetReference helper and align UIDocument structure

- Add SerializeAssetReference() helper for consistent asset reference serialization
- UIDocument now uses same return structure as Camera (typeName, instanceID, properties)
- Reduces code duplication in special-case handlers
- Enhanced test coverage to verify structure matches Camera pattern

* fix: Handle UIDocument subclasses and add negative assertion for rootVisualElement

Address code review feedback:
- Add IsOrDerivedFrom() helper to detect UIDocument and any subclasses by walking
  the base-type chain, ensuring derived types also get special-case handling
- Add negative assertion verifying rootVisualElement is NOT in serialized output
2026-01-19 08:21:36 -08:00
..
Helpers Fixes Windows installation failures caused by long path issues when cloning the full repository via git URL (MAX_PATH 260 char limit exceeded by files in TestProjects/). (#534) 2026-01-08 07:14:44 -08:00
Resources Add testing and move menu items to resources (#316) 2025-10-13 11:16:43 -04:00
Services HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00
Tools fix: Add special handling for UIDocument serialization to prevent infinite loops (#586) 2026-01-19 08:21:36 -08:00
Helpers.meta Add Codex to autoconfig options (#288) 2025-09-26 18:05:30 -04:00
MCPForUnityTests.Editor.asmdef Test/478 matrix4x4 serialization crash (#481) 2025-12-23 15:53:14 -08:00
MCPForUnityTests.Editor.asmdef.meta Rename namespace and public facing plugin output from "Unity MCP" to "MCP for Unity" (#225) 2025-08-20 15:59:49 -04:00
Resources.meta Add testing and move menu items to resources (#316) 2025-10-13 11:16:43 -04:00
Services.meta Allow users to easily add tools in the Asset folder (#324) 2025-10-18 00:18:25 -04:00
TestUtilities.cs Harden `manage_scriptable_object` Tool (#522) 2026-01-07 10:46:35 -04:00
TestUtilities.cs.meta Harden `manage_scriptable_object` Tool (#522) 2026-01-07 10:46:35 -04:00
Tools.meta Improve Windsurf MCP Config (#231) 2025-08-24 06:57:11 -04:00