# PhysicsQualityOverrides

> Talos 0.7 · Since 0.6

## Fields

| Field | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
| `solverIterations` | `number` | no |  |  | Constraint solver iterations per step, a whole number 1..64. More makes stacks and joints stiffer and costs time. Presets: low 2, medium 4, high 8, ultra 16. |
| `substeps` | `number` | no |  |  | Physics steps inside each 60 Hz tick, a whole number 1..16. The tick itself, and the tick count scripts and the query API see, does not change. Presets: low 1, medium 1, high 2, ultra 4. |
| `ccd` | `PhysicsCcdMode` | no |  | `off`, `fast`, `all`, `static` | Continuous collision detection. off: none, not even against static colliders, so a small fast body passes through a thin wall; no preset uses it. static: a fast dynamic body is swept against static colliders only, so it stops at walls and floors but can pass through a thin moving body. fast: as static, and a dynamic body that would move more than half its thinnest extent in one step is also swept against every other body for that step. all: fast at a quarter of its thinnest extent. A body's rigidbody.ccd wins over this. Presets: low static, medium fast, high fast, ultra all. |
| `colliderDetail` | `PhysicsColliderDetail` | no |  | `exact`, `convex-hull`, `box` | What a trimesh collider on a DYNAMIC body is simulated as: its exact triangles, their convex hull, or their bounding box. Static and kinematic trimeshes are always exact, because the navmesh and the character controller are built from them. A collider's own collider.detail wins over this. Presets: low box, otherwise exact. |
| `sleep` | `PhysicsSleep` | no |  |  |  |

## See also

- `PhysicsCcdMode`
- `PhysicsColliderDetail`
- `PhysicsSleep`
