Gravity Transform – Custom Gravity Zones
is a lightweight local-gravity plugin for Unreal Engine. It lets you create box and sphere gravity zones in your levels.
The plugin does not modify engine source and does not ship with its own character or templates. Instead, it provides a small, focused set of building blocks:
Gravity Zone actors: Box / Sphere gravity zones
Custom gravity component: CustomGravityComponent
World subsystem: GravityWorldSubsystem
Blueprint function library: GravityBlueprintLibrary
Add the component to any character, vehicle, or physics object, drop a few zones into your level, and you can quickly build:
Floating islands and sideways gravity corridors
Small planets / asteroids with walkable surfaces
Local anti-gravity rooms, wind-tunnel-like passages, etc.
Key FeaturesPlanetary & Directional Gravity Modes
Fixed Vector mode
Everything inside the zone is pulled in a single direction
(horizontal push, vertical anti-gravity, diagonal pulls, etc.).Toward Point mode
Gravity radiates from a point, perfect for planets, asteroids, or spherical rooms.Multiple zones can coexist in one world, each with its own direction and strength.
Per-Actor Gravity Control
Via CustomGravityComponent, every actor can:
Enable / disable custom gravity: bEnableCustomGravity
Set its own gravity scale (heavier / lighter): GravityScale
Choose whether to use the zone strength or an override:
bUseZoneStrength + OverrideStrengthDecide whether to ignore the world default gravity: bIgnoreDefaultGravity
This means:
In the same zone, a rock can fall “extra heavy” while a sheet of paper drifts down slowly.
You don’t need to change project-wide gravity just to get special behavior for a few objects.
Blueprint-Friendly Queries & Controls
GravityBlueprintLibrary exposes common helpers, for example:
Get an actor’s current gravity direction and strength
Query the theoretical gravity at any world position
(useful for UI arrows, VFX, or custom movement)Quickly get or add a CustomGravityComponent in Blueprint
Toggle whether a character uses zone gravity
(e.g. “press 1 to enable, press 2 to disable”)
All functions are BlueprintCallable and designed for designers to use directly in level or character Blueprints.
Central World Management: GravityWorldSubsystem
Zones automatically register / unregister with GravityWorldSubsystem at BeginPlay.
Editor Visualization & Debugging
Zones show a gravity arrow gizmo in the editor so you can instantly see direction and range.
Zone settings include arrow length, density, and visibility (editor-only).
At runtime you can enable debug drawing through Blueprint to verify that your gravity fields are behaving as expected.
Compatibility & Limitations
The plugin only controls gravity direction and strength.
It does not automatically rotate your character, change animations, or manage cameras.Foot alignment, walking on walls, and camera behavior are meant to be implemented in your own Blueprint / C++ logic on top of this system.
It does not modify CharacterMovementComponent internals or SavedMove structs,
making it safer to integrate into projects that already have custom movement / networking code.Currently tested mainly on UE 5.6 / 5.7 (Win64).
Other platforms and engine versions may work but are not officially verified.