GregOrigin - OmniWalk: Arbitrary Gravity & Surface Adhesion Framework

Watch the promo video
Read the manual

OmniWalk is a high-performance C++ middleware framework for Unreal Engine 5.4+ that delivers "Impossible Locomotion." Designed to replicate the high-fidelity magnetism found in titles like Ratchet & Clank and Dead Space, it allows any character to traverse arbitrary geometry — walls, ceilings, pipes, and planets — with zero technical friction.

While UE5.4 introduced native multi-directional gravity, OmniWalk solves the remaining "showstopper" problems: camera gimbal-lock, control inversion, triangle-normal jitter, and complex input remapping.

🚀 The "Zero-Config" unified component

Unlike competing frameworks that require rebuilding your character from a specific parent class, OmniWalk Pro features a unified component architecture.

  • Drop-In Integration: Drag the OmniWalkPro component onto any ACharacter (Pawn, MetaHuman, Synty, etc.).

  • Auto-Hijack Logic: Upon BeginPlay, the component automatically configures Pawn settings (Yaw usage, floor angles), injects a Camera Stabilizer, and intercepts the Input Buffer to project world-space movement onto local surface planes.

🧠 Key Technical USP's

  • Native 5.4+ Gravity Integration: Leverages the re-designed CharacterMovementComponent gravity architecture for frame-perfect physics — not forces-based hacks.

  • Gimbal-Free Camera Solver: A custom C++ Camera modifier resolves the "Euler Singularity." Mouse/Stick look remains intuitive and non-inverted, even when standing upside down on a ceiling.

  • Arbitrary Surface Adhesion: No Volumes required. Walks on any StaticMesh, DynamicMesh, or Landscape normal via optimized trace-averaging.

  • Input Projection Technology: Automatically "steals" world-space movement input and flattens it against the current surface normal, preventing the character from becoming "stuck" against vertical walls.

  • Slate Telemetry Debugger: A dedicated Editor window (Window > OmniWalk Debugger) provides real-time telemetry on gravity vectors, alignment strength, and trace hits.

🛠 Technical Specifications

  • Performance: All core logic is written in C++ and executes in TG_PrePhysics, ensuring zero latency between surface detection and movement integration. Requires the Enhanced Input plugin to be enabled.

  • Orientation Math: Uses Quaternions (QInterpTo) and Slerp-normalization to handle 360-degree transitions without gimbal flips.

  • Procedural Demo Included: Includes a C++ Helix-Generator that constructs "impossible" walking paths at runtime to demonstrate system stability across extreme centripetal forces.

📋 Package Contents

  • Runtime Module: Core Adhesion Component, Camera Stabilizers, Input Hijacker, and World Subsystem.

  • Editor Module: Slate UI Telemetry and Debugging tools.

  • Source Code: Fully commented C++ code.

  • Example Content: Procedural demo level and a "Zero-Touch" implementation guide.

Please take note of the correct setup of this plugin, especially on UE 5.7:




Hi how we get the character to stop strafing?

Hi there, it is done by the Orient Rotation toggle on the OmniWalk component. An update to facilitate it all is coming soon btw.

UnrealEditor_MDUJd226Rk

Other settings or assets can also hijack Mouselook from OmniWalk. By default, IMC_Default should be set like this: