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.
Updates and bugfixes are continuous for this plugin, and new features are expected to be added, including vertical wall sliding and wall-to-wall jumps.
An update was submitted today. Thanks for reading.
Reworked the Setup Wizard from an example-level wrapper into a real onboarding tool with separate Project Setup and Example Tools modes.
Added current-project audit coverage for Enhanced Input, starter asset presence, current-level GameMode readiness, and selected Character actor readiness.
Added starter Blueprint planning, path validation, and non-destructive creation for:
BP_OW_PlayerController
BP_OW_FirstPersonCharacter
BP_OW_ThirdPersonCharacter
BP_OW_FirstPersonGameMode
BP_OW_ThirdPersonGameMode
Added relinking so generated GameMode Blueprints automatically point to the generated Character and Controller Blueprints.
Added one-click actions to assign the generated first-person or third-person GameMode to the current level.
Added selected-Character tagging workflow for OmniWalk.Enabled, including cleanup of blocking tags such as OmniWalk.NoAutoInject, OmniWalk.Disabled, and OmniWalk.Ignore.
Added direct actions to open the manual, support page, and Fab listing from the wizard.
Added editor automation coverage for content-path validation and starter asset plan drift.
Added KismetCompiler as an editor dependency for starter Blueprint configuration and compile steps.
Fixed UE 5.7 Slate/API compatibility issues discovered during live verification:
SWrapBox now uses UseAllottedSize
LeftChopInline now uses EAllowShrinking::No
Verified OmniWalkDevEditor builds successfully against UE 5.7.
Verified both setup-wizard automation tests pass:
OmniWalk.Editor.SetupWizard.PathValidation
OmniWalk.Editor.SetupWizard.StarterPlan
Observed a non-blocking Unreal warning that Visual Studio 2026 toolchain 14.50 is not the engine’s preferred compiler version, but the build completed successfully.
0.4 introduced some issues, 0.4.1 now corrects those.
Changelog: 0.4.1 (1 May 2026)
Fixed
Fixed Spider Walk traversal on the OmniWalk character so it now wraps across sharp 90-degree wall ledges instead of unpredictable behavior.
Improved convex-edge probing to support wall-to-top and top-to-down face transitions, not just floor-to-wall cases.
Fixed Setup Wizard result handling so Project Setup and Example Tools report their own action status independently.
Fixed Setup Wizard auto-injection tagging so opted-out actors are skipped and preserve tags such as OmniWalk.Disabled, OmniWalk.Ignore, and OmniWalk.NoAutoInject.
Fixed showcase demo map generation so OW_Example is playable immediately after creation.
Fixed generated showcase runtime setup to include OmniWalkFirstPersonGameMode, a PlayerStart, and AOmniWalkShowcaseLevel.
Fixed legacy generated-map cleanup so old native demo generator actors and incompatible placed pawn actors are removed from managed example levels.
Fixed showcase planetoid behavior by giving the planetoid collision and a matching point-gravity volume.
Fixed trigger-zone demo sizing by adding configurable trigger collision box extents and applying them in the showcase.
Fixed Surface Response showcase wiring by assigning physical materials to generated response strips and giving the example character a surface-response component.
Fixed Zero-G showcase support by adding UOmniWalkZeroGComponent to the example character and routing movement input into thruster input while Zero-G is active.
Changed
Reworked the generated showcase map into a guided, low-pressure feature tour rather than a challenging obstacle course.
Expanded the showcase route to introduce major systems in sequence:
Core surface adhesion.
Wall/ceiling traversal.
MagBoot states.
Spider Walk convex ledges.
Point-gravity planetoid traversal.
Directional gravity rooms.
Trigger zones.
Zero-G pads and magnetized exits.
Surface Response material strips.
Finale climb/summit.
Made showcase progression easier with wider paths, larger landings, clearer labels, shorter climbs, broad steps, rest platforms, catch decks, and oversized Zero-G pads.
Replaced the spider-walk pyramid-style demo with a readable wall/top/down training block with rails and visual markers.
Reworked the planetoid section with connected ascent/descent ramps and a wide equatorial ring road.
Rebalanced the Zero-G chamber with closer platforms, larger pads, visible entry/exit affordances, side posts, and a low recovery deck.
Shortened and widened the finale route to make completion reliable during a first playthrough.
Updated generated surface-strip labels to match the actual response multipliers.
Added
Added automated coverage for generated showcase map creation.
Added automated coverage for showcase runtime plumbing.
Added automated checks that the example character includes Surface Response and Zero-G support.
Added tests covering Setup Wizard tag persistence and opt-out behavior.
Added documentation for the new guided showcase route, easier demo tuning, Zero-G component behavior, Surface Response showcase setup, trigger-zone extents, and Setup Wizard opt-out tags.
Documentation
Updated Plugins/OmniWalk/Docs/Manual.html with:
Setup Wizard opt-out tag behavior.
Separate Project Setup vs Example Tools result reporting.
New guided showcase map description and route diagram.
Easier showcase progression notes.
Updated Spider Walk ledge traversal behavior.
Updated planetoid gravity-volume behavior.
Zero-G input/thruster behavior.
Surface Response demo material/table behavior.
Trigger-zone configurable collision extents.
Verification
Ran Automation RunTests OmniWalk.Editor.SetupWizard successfully.
Enhanced Input Auto-Injector & WASD Project-Fix ( HandleAutoConfigureEnhancedInput ):
• Scans your active editor actor selection or Content Browser Blueprint selections.
• Auto-enables the internal input remapping fix ( bUseInternalInputFix = true and bProjectGravityFromSurface = true ) on the UOmniWalkPro default components. This allows existing characters with legacy XY input vectors to seamlessly walk on walls instantly without any blueprint graph changes.
Physics Collision Profile & Level Mesh Auditor ( HandleAuditLevelCollisions / HandleFixLevelCollisions ):
• Scans the active level for Static Meshes configured with NoCollision that would otherwise cause surface traces to fail.
• Provides a “One-Click Fix” to repair those meshes, setting their collision status to QueryAndPhysics and assigning a standard BlockAll profile so wall climbing is perfect.
Dynamic Material Surface Response Table Configurator ( HandleConfigureResponseTable ):
• Auto-generates, duplicates, and saves a default showcase UOmniWalkSurfaceResponseTable asset in your starter directory.
• Auto-binds and links the Response Table to the UOmniWalkSurfaceResponse component of all selected Characters or Blueprint CDOs.
Locomotion Presets Injector ( HandleApplyLocomotionPreset ):
• Adds an elegant Slate dropdown menu allowing you to instantly apply optimized physics presets to selected character/Blueprint UOmniWalkPro components:
• Spider Climber: Optimized for 90° convex ledges, sticky transitions, and fast ceiling walking.
• Wall Runner: Tuning for high-speed wall sliding and input-based braking/hanging.
• Zero-G Float: Configured for volume-based orbital flight (stops projecting gravity from surface meshes).
• Standard Adhesion: Standard stable C++ defaults.
Direct Telemetry Debugger Launcher ( HandleLaunchTelemetryDebugger ):
• Adds a direct visual shortcut button to instantly invoke the live SOmniWalkDebugger nomad tab next to your active editor viewport.
Overhauls and Fixes
• CDO Constructor Error Resolution: Fully refactored the skeletal mesh and animation asset loading in AOmniWalkThirdPersonCharacter out of the CDO static constructor ( ConstructorHelpers::FObjectFinder ) and into a dynamic, safe load block inside BeginPlay() using FPackageName::DoesPackageExist . This completely resolved severe red CDO
constructor errors on startup.
• Look Action Skipping Safeguard: Upgraded AOmniWalkPlayerController 's IA_Look package resolution to use FPackageName::DoesPackageExist path checks before loading UInputActions from disk, eliminating all noisy SkipPackage package streaming warnings.
• Spider Walk (Convex Traversal) System Overhaul: Overhauled the convex edge detection algorithm in UOmniWalkPro to resolve slow-movement, zero-input, and high-speed transition dismount bugs:
• Added Projected Actor Forward Fallback to maintain surface tracking when input and velocity project to zero on the surface plane.
• Replaced single far sweeps with Dual Over-Edge Probes (close sweep at CapsuleRadius + 15cm and far sweep at CapsuleRadius + FMath::Min(ConvexCheckDistance, 60.0f) ) to guarantee stable ledge sweeps at any velocity.
• Relaxed the transition boundary check limit AheadDot from -CapsuleRadius * 0.75f to -CapsuleRadius * 1.5f to prevent premature dismount rejection during sprinting and sliding.
• Coyote Time & Setup Wizard Unit Testing:
• Added public, Blueprint-callable getters GetCoyoteTimer() and WasOnSurface() to AOmniWalkExampleCharacter to facilitate robust test verification.
• Refactored the CoyoteTime locomotion unit tests in OmniWalkSetupWizardTests.cpp to use Direct C++ Interface Invocations via Cast (e.g. Cast ), bypassing script/headless VM event routing constraints on pure C++ instances in offline editor tests.
• 100% pass rate on all 9 automation tests with zero warnings/errors in the test runner.
Hot Path Tracing: Injected TRACE_CPUPROFILER_EVENT_SCOPE macros into high-frequency loops (UOmniWalkPro::TickComponent and UOmniWalkPro::DetectSurfaceAsync) to allow developers to accurately monitor the ms budget consumed by OmniWalk’s surface tracing and gravity interpolation logic.
Physics Field Validation: Re-checked the “Gravity Wake” localized physics displacement tool, negating the need for a new physics system.
Setup Wizard UX Improvements: Overhauled the SOmniWalkSetupWizard slate interface for improved user onboarding.
Implemented “Generate Playable Third-Person Setup” for One-Click onboarding matching the First-Person workflow.
Added self-documenting UI Tooltips (ToolTipText) to all Project Setup buttons to clarify background asset generation and GameMode assignment actions.