Skip to content

GravityCore features

  • Shape-driven gravity volumes. One component with a Shape dropdown: Sphere, Cylinder or Box. Each is a self-contained SceneComponent with its own transform, so you can place, rotate, attach and stack as many as you like.
  • Planet gravity. A Sphere pulls toward its centre, so you can walk all the way around a planet or asteroid.
  • Ring-world gravity. A Cylinder pushes radially outward from its axis (centrifugal), for walking the inside of a ring or O’Neill cylinder. The axis follows the component’s local Z.
  • Cuboid / directional gravity. A Box gives uniform gravity straight down its local −Z, for rooms, corridors and flip-gravity puzzle zones.
  • Invert toggle. Flip any shape: a Sphere repels, a Cylinder pulls to its axis, a Box pushes up.
  • Per-source gravity strength. Each volume has its own strength in cm/s² (980 = Earth), so a moon pulls lightly and a dense planet pulls hard.
  • Priority override zones. Nest a small, high-priority volume inside a large one. Where volumes overlap, the highest Priority wins, and you can mix shapes, such as a flip-gravity Box room inside a Sphere planet.
  • Logical volumes. Gravity sources have no collision. You bring your own walkable meshes, which keeps the field and the geometry independent.
  • Per-level default gravity. A placeable AGravityDefaults actor sets what characters feel outside every volume: a direction and strength, or zero gravity. With no actor, gravity is world-down.
  • Zero-gravity free-fly. Outside gravity, the character flies in full 6DOF with a dedicated up/down thrust input and never falls.
  • Built on the engine’s variable gravity. A custom Character Movement Component sets the gravity direction and strength, so floor detection, stepping, jumping and falling work in any direction, with full network prediction.
  • Gravity-aligned character and camera. AGravityCharacter has an independent gravity-aligned camera (full 360° yaw, decoupled from facing) and orient-to-movement on any surface.
  • First or third person. The demo character toggles between a gravity-aligned first-person camera and the third-person orbit camera. Both stay level with the surface, with no roll, and each player picks their own view in multiplayer.
  • Optional replicated jetpack. A toggle lifts the character into a hover that holds a minimum height above the floor; up/down thrust rises above it. Predicted and replicated, with an On Jetpack State Changed event on every machine.
  • Rigid bodies obey your gravity. Add UGravityBodyComponent to any physics actor and its bodies fall toward the gravity field instead of world down. Crates settle on the far side of a planet, are pushed outward inside a ring world, and drift in zero-g.
  • Mass-independent acceleration, with sleep handling so props still settle, and a per-body strength scale.
  • Enables simulation for you if the mesh was not already simulating.
  • Deterministic gravity. Direction and strength are a pure function of position, computed locally on every machine, so simulated proxies align to the surface without replicating rotation.
  • No overlap events. Sources are selected by a per-tick point-in-volume query, so server and clients always agree.
  • No proxy jitter or walk/fall flicker. Proxy floor detection stays accurate on curved surfaces, and network smoothing is translation-only.
  • Editor and runtime debug: a per-shape boundary gizmo, gravity-direction arrows and an optional translucent volume mesh, each toggleable. The gizmo and arrows compile out of Shipping builds.
  • Full Blueprint support: shape, size, strength, invert, priority, the gravity queries, the per-level default, the jetpack and the first-person toggle are all exposed to Blueprint and C++.
  • Gravity queries such as GetGravityDirectionAtLocation(), ContainsPoint(), ComputeGravityDirection(), GetGravityStrengthAt() and ShouldApplyGravity() are callable from Blueprint.
  • No third-party dependencies.
  • Full C++ source
  • GravitySourceActor: a drop-in gravity volume
  • AGravityDefaults: placeable per-level default gravity
  • BP_PlanetPerson: a ready-to-play character with gravity movement, first/third-person camera and gravity-aligned look
  • A jetpack character variant with demo FX
  • Mannequin character and Anim Blueprint with flying/floating locomotion
  • Enhanced Input mapping context and input actions (Move, Look, Jump, Vertical, Jetpack, First-Person)
  • Ring: a walkable ring/cylinder mesh for the ring-world demo
  • AGravityPhysicsProp and a physics demo level (a planet ringed with props)
  • A demo level with a planet, a ring world and a flip-gravity box, pre-configured