Scene Check
Edit Mode does not run physics. That is deliberate: an author placing 32 chess pieces does not want them settling under gravity while they work. The cost is that Edit Mode is systematically unable to show you the one class of mistake only physics reveals.
The failure looks like this. You lay out a board, every piece lands on its square, you save and publish. You open the game at a real table and the pieces are flung across the room. Nothing was wrong with your placement, and nothing in the editor could have told you.
Scene Check is the answer to that. Select Entities in the hierarchy and it reports what will happen when the simulation starts.
What it checks#
Models with no saved collider#
A custom model's real collider cannot be known until its .glb has downloaded and been measured.
Until that moment the entity wears a placeholder box the size of its scale.
That is usually fine and occasionally catastrophic. A crate at scale: 1 gets a 1 ft box, near
enough. A chess pawn at scale: 3 gets a 3 ft cube — on a board whose squares are 0.174 ft
apart, so every piece is inside every piece near it. When the models finish loading and the bodies
wake, Ammo resolves that overlap the only way it can.
Saving a collider closes the window completely: the entity wears its real shape from the first frame, whether or not its model has arrived.
Entities that overlap#
Two unlocked entities whose colliders interpenetrate where you placed them. Physics will separate them the moment the table runs.
Locked entities are excluded — pieces standing on a locked board are meant to be inside its collider, and reporting that would bury the real findings.
Most overlaps are the first problem in disguise. Fix the colliders and they usually vanish.
Fixing#
Measure and save N colliders measures every affected model through the live runtime and writes its real size and offset onto the entity. It uses the same path as dragging the collision gizmo by hand, so the result is an ordinary edit: same undo, same save, same publish.
Two things it deliberately will not do:
- It never runs on its own. Findings appear as soon as you select Entities; nothing is written until you press the button. A wrong collider saved silently is worse than a visible warning.
- It never guesses. A model that has not finished loading has no measurable bounds, so it is skipped and counted — "3 models are still loading and could not be measured". Run it again once they appear rather than accepting an invented number.
Overlaps have no button. Moving your entities is a design decision, not a repair.
It also runs at publish#
The same two checks run in the scanner, as warnings — unstated-model-collider
and colliders-overlap
. A warning never makes a mod
incompatible, so nothing here blocks a publish; it means a mod you published before this check
existed will start reporting them, with no change on your part.
The runtime protects itself either way#
None of this is the only thing standing between your scene and a scattered table. An entity whose collider is still a guess is kept out of the simulation entirely until its real one is fitted, so it cannot shove a neighbour no matter what order models load in — or whether they load at all.
Scene Check exists because relying on that is not the same as being correct. A scene that only holds together thanks to load-order luck is a scene that will eventually be unlucky, and you would rather know at the editor than from a player.
See also#
- Verifying as a New Player — the other "looks right from where you are sitting" failure, for assets rather than physics.
- Importing a Model — where a custom model's collider comes from in the first place.
- What Gets Rejected — the two warnings in reference form.
- Fixing a Rejection — symptom → cause → fix, by code.
