Verifying the 3D game and diagnosing failures
The expected round cycle, layer and camera failures, mechanic settings and export preparation.
Complete round cycle
| Action | Expected result |
|---|---|
| F5 with Arena as the main level | Arena, character, score 0 and start button |
| Start | Controls activate, button hides, SpawnTimer starts |
| WASD / arrows | X/Z movement without faster diagonals |
| Space from the floor | Jump; another airborne press adds no velocity |
| Land on a cube from above | One point, cube removed and player bounced |
| Touch a cube from the side on the floor | Round stops and final score stays visible |
| Restart | Score 0, player (0, 0.9, 0), old cubes removed |
| Several repeated rounds | Still one point per hazard and one response per button press |
Find the cause
| Symptom | Check |
|---|---|
| Blank screen | Main Levels/Arena.rscene, active Camera3D, meshes and lights |
| Old Main launches | Main Scene under Project Settings → Application → Run; F5 runs that assigned document |
Project rejected as Unsupported project / schema error | Match the archive to the engine build it was published for; do not manually change project_schema |
| Missing class or SDK | All five files, matching file/class names, successful .NET 10 / SDK 1.0.0 build |
| Player falls through | Both shapes, floor layer 1, player mask 5, resource dimensions instead of body scaling |
| No hazards | Active round, timer, Prefabs/Mob.rprefab path and SquashMob root |
| Jump works but stomps do not | Incoming fall before MoveAndSlide, contact normal, hazard type and numeric body layer 4 |
| No side hit | Monitoring, area mask 4 and physics-step overlap-list updates |
| Two points per cube | Flag before the signal in TrySquash and no duplicate subscription |
| Immediate defeat on restart | Ignoring queued objects and clearing old instances |
| Animation resizes physics | Visual kept separate from body and shape |
With a standalone prefab open, Play/F6 tests it separately. For the whole game choose Run Project (Main Scene) beside Play or use F5 with Levels/Arena.rscene assigned as main.
Change parameters
The player exposes Speed, Gravity, JumpSpeed and BounceSpeed. Change hazard speed in its source prefab and spawn frequency in SpawnTimer.WaitTime. Saved inspector values can override C# defaults.
When resizing the arena, update floor mesh/shape, player X/Z bounds, spawn range, cleanup threshold and camera framing together. Test on the actual target device. Headless code and physics checks do not establish lighting, rendered output or real-device input behavior.
See export setup, persistent user:// high scores or level transitions. Download all prototype files.