| Name: "API Tests" |
| Type: Project |
| Version: "1.51" |
| EngineVersion: |
| Min: "2026.2" |
| Behaviour: Hide |
| Category: Examples |
| Description: > |
| Strict determinism test project for the External Action Gate gRPC API. Each scene pairs a |
| robot with a control mode and a Python test under Assets/api-scripts/ that drives it purely |
| over the gated Step() loop and checks bit-exact repeatability: the Panda and Piper arms; the |
| Unitree Go2 (in-engine and external locomotion) with LiDAR-scan, RGBD-camera and reset_scene |
| checks; and the Unitree G1 three- and five-finger humanoids in base, engine, external, |
| IK-engine and IK-external variants. The four arm-IK scenes additionally assert that the arm |
| actually tracks its commanded target, not just that the run replays identically. A |
| pick-and-place scene shows engine-side C# driving a G1 through a waypoint sequence with |
| draggable target empties and debug gizmos. A lidar-material scene puts glass, water, mirror |
| and retroreflector panels in front of a diffuse backstop, exercising the NIR material model: |
| the voxel bake that maps a collision hit back to its Hazel material, per-return intensity and |
| range-calibrated reflectivity, and pass-through secondary returns off the wall behind. |
| run_all_tests.py sweeps every scene and reports pass/fail, installing requirements.txt into |
| its test interpreter first. |
| Tags: |
| - tests |
| - determinism |
| - external-action-gate |
| - api |
| - grpc |
| - lidar |
| - lidar-material |
| - multi-return |
| - camera |
| - reset-scene |
| - g1 |
| - go2 |
| - panda |
| - piper |
| Files: |
| - 'api-tests.hproj' |
| - 'PolicyRegistry.yaml' |
| - 'run_all_tests.py' |
| - 'requirements.txt' |
| - 'Assets/Scenes/' |
| - 'Assets/api-scripts/' |
| - 'Assets/Scripts/Client/Source/' |
| - 'Assets/ContentVault/' |
| - 'Assets/Materials/' |
| - 'Assets/Meshes/' |
| - 'Assets/Textures/' |
| - 'Assets/Audio/' |
|
|