Movement Systems
Movement Systems
Section titled “Movement Systems”Core Movement Implementation
Section titled “Core Movement Implementation”Getting movement mechanics implemented early is extremely important for early level design and iteration. Movement systems allow you to truly feel out level pacing and exploration as you navigate through your world.
Movement Speed Functions
Section titled “Movement Speed Functions”Master Character Blueprint Setup
Section titled “Master Character Blueprint Setup”Create movement functions in the character master blueprint to be used by both players and enemies:
Walk Function
Section titled “Walk Function”- Function name:
F_Move_Speed_Walk
- Set Max Walk Speed to 200
- Provides slower, deliberate movement
Run Function
Section titled “Run Function”- Function name:
F_Move_Speed_Run
- Set Max Walk Speed to 500 (default run speed)
- Standard movement speed for most gameplay
Sprint Function
Section titled “Sprint Function”- Function name:
F_Move_Speed_Sprint
- Set Max Walk Speed to higher value (800-1000)
- Fast movement with limited duration
Sprint Implementation
Section titled “Sprint Implementation”Sprint System Components
Section titled “Sprint System Components”Sprint requires additional systems beyond simple speed changes:
Sprint State Management
Section titled “Sprint State Management”- Sprint Variable: Boolean to track sprint state (on/off)
- Sprint Duration: 3-second timer for sprint length
- Sprint Cooldown: 2-3 second delay before sprint can be used again
- Prevent Spam: Branch check to prevent ability spamming
Sprint Code Flow
Section titled “Sprint Code Flow”// Sprint activation checkif (sprint_is_off) {set_sprint_to_true;use_move_speed_sprint_function;start_3_second_timer;}
// Sprint end after timerafter_3_seconds {use_move_speed_run_function;set_sprint_to_false;start_2_second_cooldown;}
Animation System Updates
Section titled “Animation System Updates”Blend Space Modifications
Section titled “Blend Space Modifications”Update animation blend spaces to support sprint speeds:
- Horizontal and Vertical Axis: Check “Snap to Grid”
- Vertical Maximum: Change from 400 to 600 for sprint speeds
- Animation Nodes: Copy middle animations and paste above for sprint
- Rate Scale: Set sprint animations to 0.5 rate scale for faster animation playback
Required Blend Space Updates
Section titled “Required Blend Space Updates”Apply these changes to all movement blend spaces:
- Verify “Snap to Grid” is checked on both axes
- Increase vertical maximum axis to 600
- Copy and paste middle animations to top section
- Adjust rate scale for sprint animations
Stealth Blend Space Special Case
Section titled “Stealth Blend Space Special Case”- Run animations already set to rate scale 1.5
- Set stealth sprint animations to rate scale 2.0
- Provides appropriate speed feeling for stealth movement
Movement Testing
Section titled “Movement Testing”Basic Implementation Test
Section titled “Basic Implementation Test”Temporary keybind setup for testing:
- Left Control: Toggle between walk and run (use flip-flop node)
- C Key: Activate sprint
- Test all movement speeds to verify proper implementation
Visual Feedback
Section titled “Visual Feedback”Movement speed changes can be subtle. Consider adding:
- Camera effects to emphasize speed differences
- Particle effects for sprint activation
- UI indicators for movement state changes
Animation Integration
Section titled “Animation Integration”Speed-Based Animation Scaling
Section titled “Speed-Based Animation Scaling”- Standard Movement: Use default animation speeds
- Sprint Movement: Reduce rate scale to make animations feel faster
- Walk Movement: May require slower animation scaling depending on design goals
Blend Space Consistency
Section titled “Blend Space Consistency”Ensure all blend spaces follow the same pattern:
- Same axis ranges across all blend spaces
- Consistent rate scaling approaches
- Proper snap-to-grid settings
- Complete animation coverage for all speed ranges
The movement system provides the foundation for all character navigation and should feel responsive and appropriate for each game mode’s requirements.