Addresses review feedback on the Unity 6.5 GetInstanceID migration:
- UnityObjectIdCompatExtensions: drop the reflective method lookup in
favor of a simple #if UNITY_6000_5_OR_NEWER / #else split calling
GetEntityId() or GetInstanceID() directly. Also wrap the class in
the MCPForUnity.Runtime.Helpers namespace.
- UnityTypeConverters: remove the reflective EntityIdToObject probe and
call EditorUtility.EntityIdToObject(EntityId) directly under the same
version gate. Serialize entityID as EntityId.ToULong() rather than
ToString(), since Unity's docs explicitly warn that the textual form
is not a stable serialization contract.
- Drop #pragma warning disable 0619 from 22 files that no longer make
any direct calls to obsolete APIs. The remaining 7 files still need
it (FindObjectsOfType, InstanceIDToObject fallback) and are left as-is
— those deprecations are out of scope for this PR.
- Add the MCPForUnity.Runtime.Helpers using to every file that calls
GetInstanceIDCompat() now that the extension method lives in a
namespace.
Replace direct GetInstanceID calls with a compatibility helper and update serialization to handle EntityId-era identifiers, so the package compiles on Unity 6.5 while preserving behavior on older versions.
Implements PhysicsQueryOps (3D+2D raycast and overlap queries),
PhysicsValidationOps (7 physics checks), and PhysicsSimulationOps
(edit-mode stepping). Updates dispatcher to route all 15 actions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>