Skip to content

GravityCore troubleshooting

The character falls straight through the planet

Section titled “The character falls straight through the planet”

A gravity source has no collision: it is only the field. Add a walkable static mesh with collision (sphere, cylinder or box) aligned to the volume.

The character doesn’t align to the surface, or its rotation fights the gravity

Section titled “The character doesn’t align to the surface, or its rotation fights the gravity”

The movement component has to own rotation. Check that:

  • The character uses UGravityMovementComponent (for Blueprints: Class Settings → Component Class Overrides).
  • bUseControllerRotationPitch, Yaw and Roll are all off.
  • bOrientRotationToMovement is off and RotationRate is zero.
  • The class is an ACharacter, not a plain APawn.

Or base the character on BP_PlanetPerson / AGravityCharacter, which are already set up.

The character has left every gravity volume, so it is getting the level default. Check the volume size (Radius, Half Height or Box Extent) against the boundary gizmo, or place an AGravityDefaults actor to choose what applies outside the volumes.

Give the overlapping volumes distinct Priority values. The highest priority wins; equal priorities fall back to registration order.

Cylinder or box gravity points the wrong way

Section titled “Cylinder or box gravity points the wrong way”

The direction follows the component’s transform: a cylinder’s axis and a box’s “down” are its local Z. Rotate the component, or tick Invert Gravity to reverse the direction.

A physics prop doesn’t fall toward the planet

Section titled “A physics prop doesn’t fall toward the planet”

A mesh placed in a level is Static with Simulate Physics off, and a Static component can never simulate. UGravityBodyComponent normally fixes this for you by setting the mesh to Movable and enabling simulation. If you turned Auto Enable Simulation off, enable simulation yourself; the component logs a message when it finds nothing to drive.

Gravity is applied as an external force, so resting contacts stay slightly more agitated than with built-in gravity. Raise Sleep Threshold Multiplier (default 4) so bodies sleep sooner, and Angular Damping (default 0.5) to reduce rocking on curved surfaces.

Props are left floating when the gravity source moves

Section titled “Props are left floating when the gravity source moves”

Sleeping bodies are skipped on purpose. If the gravity source itself moves (a ship or a moving platform), turn on Keep Awake.

Props end up in different places on different clients

Section titled “Props end up in different places on different clients”

Rigid-body simulation runs independently on each machine. The gravity field is identical everywhere, but the simulation is not, so poses can drift apart. Replicate the props yourself if their exact pose matters.

The hover finds the floor with a downward trace on the Visibility channel. Make sure your walkable mesh blocks Visibility. Tune Jetpack Float Height and Jetpack Hover Stiffness on the movement component.

Debug arrows are missing in a packaged build

Section titled “Debug arrows are missing in a packaged build”

That is expected: the boundary gizmo, direction arrows and character arrow are compiled out of Shipping builds. The volume mesh is the only debug view that ships. If it is showing in your game, turn off Show Volume Mesh.

Other players flicker between walking and falling

Section titled “Other players flicker between walking and falling”

GravityCore is designed to prevent this. Proxies compute their own gravity, and the component mirrors the server’s movement mode. To investigate, turn on Debug Movement State on the movement component for an on-screen readout of a proxy’s live and replicated movement state, and Draw Gravity Direction to see each character’s gravity vector on every network role.

I can’t find BP_GravityCharacter, BP_GravitySource or SM_Ring

Section titled “I can’t find BP_GravityCharacter, BP_GravitySource or SM_Ring”

Older documentation used those names. The shipped assets are BP_PlanetPerson, GravitySourceActor (a C++ actor) and Ring.