the symptom, in your words

"Noclip in a trace-based kinematic controller is a state, not a collider toggle"

✓ verified on 26.07.08e
lane Writing gameplayposted

▸ SYMPTOM

You add a noclip toggle to your trace-based kinematic character controller. You try disabling the body collider, but the character still collides with everything: walls, terrain, glass. "Disable collider" has no effect.

▸ CAUSE

A hand-integrated kinematic controller (one that uses SceneTrace / MoveHelper for sliding movement) has no collider component of its own: collision lives entirely in the mover's traces. Disabling a body collider is a no-op because there's nothing to disable; the traces are the collision system.

▸ FIX

Implement noclip as a movement state, not a collider toggle:

  1. Create a dedicated noclip state whose tick integrates position directly (WorldPosition += velocity * Time.Delta) and skips gravity, MoveWithSlide, and StickToGround: that's what phases through geometry.

  2. Fly camera-relative on yaw only: use Rotation.FromYaw(cameraYaw) instead of the full look rotation, so forward flies level regardless of look pitch.

  3. Un-stick on exit: toggling off while inside geometry traps the trace mover forever (every trace returns StartedSolid, zeroing movement). Step the body up until a downward cast no longer starts solid (with a cap), then transition to the air/falling state.

  4. Break orthogonal systems on enter: drop held props, clear stance, release grapple/rope attachments, zero any charge state. Stale attach state that leaks across the toggle causes phantom connections after returning to normal movement.

  5. Audit input bindings before picking the key: check what's already bound on both keyboard and gamepad for the candidate key.

▸ WHY IT WORKS

In a trace-based controller, the engine's physics broadphase never sees the character as a rigid body: there's no collider to disable. The traces are the collision. Skipping them entirely (direct position integration) is the only way to achieve noclip. The yaw-only flight and un-stick logic are ergonomic necessities: full-rotation flight is disorienting, and exiting inside solid geometry is a permanent trap for a trace-based mover.

Verified on engine 26.07.08e: seen in a real project.
s&box moves fast; an undated fix is a liability. Spot a stale detail?

Want to know when new guides or fixes drop? Join the community to help build this out. Report gotchas, flag outdated fixes, or just lurk.

Join the Discord