In this lesson, you will learn how to leverage Unreal Engine’s real-time physics visualizers to diagnose why objects are failing to collide or triggering incorrect events.
When you notice an object falling through the floor or failing to trigger a BeginOverlap event, the issue often hides in the configuration of the collision volumes rather than the logic code. Instead of guessing, we use the Physics Debugger to see exactly what the Chaos physics solver sees.
Enabling Visual Debugging
During a Play-in-Editor (PIE) session, press the tilde (~) key to open the console and type pxvis collision. This toggles the display of all collision shapes in your scene. If your object appears to be hitting an invisible wall, or if a trigger box doesn't have a visible wireframe representation, you have found your culprit.
Analyzing Overlaps and Responses
If your collision shapes appear correct but events are still not firing, use the console command p.VisualizeHitEvents 1. This provides a visual log of which objects are registering collision events in real-time.
To dig deeper, verify your collision filtering using the DisplayAll command. For instance, if you are struggling with a specific actor, check its collision profile by selecting it in the Outliner and looking at the Details panel, but verify its behavior via the console:
// Use this to see current collision profiles during PIE
Obj List Class=YourActorClassName
Common Visual "Red Flags"
- Ghost Geometry: If the wireframe for your object is significantly larger or smaller than the mesh, your
Collision Complexityis likely set toUse Simple Collisionwhen you needUse Complex as Simple. - Missing Overlaps: If an object is resting on a surface but you don't see a "hit" or "overlap" marker, check that the
Collision Presetsare set toOverlapAllDynamicor a custom channel that matches your intent. - Ghosting through walls: If your character moves through a mesh, use
pxvis collisionto ensure the mesh has a valid physical body; if it is missing a wireframe, the physics solver is ignoring it entirely.
Key Takeaway: Never debug physics by guessing; use pxvis collision to verify that your collision volumes exist, match your visual meshes, and share compatible collision channels.