GravityTransform - Gravity Transform – Custom Gravity System

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.

  • Showcase Video

  • Documentation

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 + OverrideStrength

  • Decide 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.