Duplicate a wall. Set Scale X to -1 to mirror it. Press Play:
BoxCollider does not support negative scale or size. The effective box size has been forced positive and is likely to give unexpected collision geometry.
Once is fine. A finished level gives you dozens of them, every single time you press Play, drowning the errors you actually needed to read.
Fixing one by hand means rebuilding its collider so it covers the same volume without the mirrored scale. Fixing forty means an afternoon.
Negative Scale Collider Fixer does the whole scene in one click.
HOW IT WORKS
The negative scale is what mirrors the mesh, so setting it back to positive is not an option - your model would flip. The tool rebuilds the collider on a child object whose scale cancels the mirroring, with the center mirrored to match. Measured before and after: the collision volume does not move, to five decimal places. Your level looks and behaves exactly the same, minus the warnings.
The original collider is disabled rather than deleted, so nothing is lost. Ctrl+Z reverts a whole "Fix all" in one step.
WHAT YOU GET
- Scan every open scene, including inactive objects.
- A list naming each offending object - and the parent responsible, when the mirroring comes from a group rather than from the object itself.
- Select to ping it in the hierarchy, Fix for one, Fix all for the scene.
- Negative collider Size handled too, fixed in place.
- Already-disabled colliders are never listed, so a second scan does not offer you what you just fixed.
- Layer, tag, static flag, Is Trigger and Physic Material are carried over, so collision matrices and CompareTag checks keep working.
HONEST NOTE
Your collision is almost certainly not broken. Unity warns that the geometry "is likely to be unexpected", but a box is symmetrical: mirroring it does not change its shape, and measurement confirms the physics volume sits exactly where the visible geometry is. What this tool gives you is a clean, readable console - not a physics bug fix.
GOOD TO KNOW
The collider ends up on a child object, so a script calling GetComponent<Collider>() on the parent will no longer find it; use GetComponentInChildren<Collider>(). A Rigidbody on the parent keeps working normally.
Open scenes only - prefabs are left alone on purpose, because the prefab is usually fine and it is the placed instance that was mirrored.
Only BoxCollider produces this warning. Sphere and capsule colliders are never affected, and are never listed.
COMPATIBILITY
Unity 2022.3 or newer. Editor only: nothing ships in your build. No third-party dependencies. Built-in, URP and HDRP.