# Scene Check

> Find the collider problems Edit Mode cannot show you, and save every model's real collider in one click before pieces scatter at a live table.

- Source: https://diceytable.com/docs/editor/workflows/scene-check
- Last verified: 2026-09-04

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`
](https://diceytable.com/docs/mods/scanner/what-gets-rejected#unstated-model-collider) and [`colliders-overlap`
](https://diceytable.com/docs/mods/scanner/what-gets-rejected#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](https://diceytable.com/docs/editor/workflows/verify-as-a-new-player) — the other "looks
  right from where you are sitting" failure, for assets rather than physics.
- [Importing a Model](https://diceytable.com/docs/editor/workflows/import-a-model) — where a custom model's collider
  comes from in the first place.
- [What Gets Rejected](https://diceytable.com/docs/mods/scanner/what-gets-rejected) — the two warnings in reference form.
- [Fixing a Rejection](https://diceytable.com/docs/mods/scanner/fixing-a-rejection) — symptom → cause → fix, by code.
