Character Locomotion System (CLS) is a high-performance, C++ based movement framework for Unreal Engine 5. Designed for AAA-grade fidelity and technical flexibility, CLS provides a robust foundation for advanced character traversal, featuring a data-driven architecture and native Motion Warping integration.
| Pillar | Description |
|---|---|
| Data-Driven Workflow | Utilize PrimaryDataAsset to configure Vault, Mantle, and Climb parameters without touching code. |
| Motion Warping | Native integration with Epic's Motion Warping plugin for pixel-perfect environmental interactions. |
| C++ Performance | Highly optimized UNewCharacterMovementComponent designed for low-latency and high scalability. |
| Multiplayer Ready | Engineered with full predictive replication for synchronized gameplay in competitive environments. |
The system extends the standard Unreal movement component to support a wide array of high-fidelity traversal states:
- π‘οΈ Prone & Slide: Seamless transitions between standing, crouching, and prone. Dynamic sliding with custom eye-height adjustments.
- π§ Advanced Climbing: Comprehensive system for vertical navigation, including specialized Climb Up logic.
- π Wall Run: Dynamic surface detection for fluid horizontal and vertical wall traversal.
- β‘ Dash: High-speed, directionally-aware bursts for combat and evasive maneuvers.
- π€Έ Parkour (Vault & Mantle): Context-aware movement that smoothly blends animations using motion warping for realistic obstacle traversal.
CLS leverages UMotionWarpingComponent to ensure that parkour moves like vaulting and mantling land exactly where they should. Warp targets are dynamically updated based on the environment geometry.
Movement configurations are decoupled from the character logic. By using UVaultPrimaryDataAsset, UMantlePrimaryDataAsset, and others, designers can:
- Swap montages instantly.
- Adjust playback rates and blend times.
- Fine-tune warp target offsets per-move.
Built-in support for dynamic eye-height adjustments ensuring a nauseous-free experience during high-speed transitions like sliding or vaulting.
To utilize the Character Locomotion System, you can choose between two primary integration paths:
- Create a Child Class: Native inheritance allows for clean extension of all CLS features. Right-click in the Content Browser > Blueprint Class > Search and select
NewCharacter. - Change Parent Class: For existing projects, open your character blueprint, go to Class Settings, and update the Parent Class to
NewCharacter.
A dedicated overview blueprint is included to showcase all available functions and logic hooks:
All > Plugins > CharacterLocomotionSystem Content > Overview > Blueprint > BP_NC_Overview
CLS uses Advanced Primary Data Assets for high-fidelity control over movement states like Vault, Mantle, and Climb Up.
| Property | Description |
|---|---|
| Warp Target Offsets | Precisely adjust landing/transition points relative to character root. |
| Warp Target Names | Identifier strings for synchronized animation warping. |
| Movement Montage | The core animation sequence used for the movement state. |
| Timing Controls | Granular control over Start Duration, Play Rate, and Blend Out Time. |
The plugin includes a robust set of debugging utilities to accelerate development:
- Real-time State Monitoring: Toggle visual debuggers to track movement states and collision detection.
- Level Design Validation: Streamline the placement of climbable and vaultable surfaces with instant visual feedback.
Tip
The sample project provides a "Gold Standard" implementation that serves as an excellent reference for production-grade setups.
Released under the MIT License.
Note: This system is in active development. While engineered for stability, extensive testing is recommended for production environments.
Β© 2024 Shankharaj Datta