メインコンテンツまでスキップ

manage_physicsの構造

manage_physicsはUnityの3D / 2D physicsを1つのMCP toolへまとめています。設定、collision matrix、material、joint、query、force、Rigidbody、validation、simulationをactionで分けます。

主なaction category

Category代表action
Settingsping, get_settings, set_settings
Collision Matrixget_collision_matrix, set_collision_matrix
Materialscreate_physics_material, configure_physics_material, assign_physics_material
Jointsadd_joint, configure_joint, remove_joint
Queriesraycast, raycast_all, linecast, shapecast, overlap
Forcesapply_force
Rigidbodyget_rigidbody, configure_rigidbody
Validationvalidate
Simulationsimulate_step

C#側

MCPForUnity/Editor/Tools/Physics/でdomainごとにclassを分け、巨大な単一handlerへ集約しない構造です。

  • ManagePhysics.cs — action dispatch / tool registration
  • PhysicsSettingsOps.cs
  • CollisionMatrixOps.cs
  • PhysicsMaterialOps.cs
  • JointOps.cs
  • PhysicsQueryOps.cs
  • PhysicsForceOps.cs
  • PhysicsRigidbodyOps.cs
  • PhysicsValidationOps.cs
  • PhysicsSimulationOps.cs

Python側

  • Server/src/services/tools/manage_physics.py — MCP tool
  • Server/src/cli/commands/physics.py — CLI
  • Server/tests/test_manage_physics.py — Python unit test

MCPとCLIは別interfaceですが、最終的に同じC# actionへ到達します。

設計上の要点

  • 2D / 3Dを自動判定し、必要な場合だけdimensionで上書きする
  • Unity version差分はcompatibility layerへ寄せる
  • 大きなvalidation結果はpaginationする
  • static colliderなど正常な構成を過剰なwarningにしない
  • force / simulation / validationは結果を構造化して返し、LLM側の再推測を減らす

parameterの正確な一覧はtool referenceと実装を正本として確認してください。