Skip to content

Architecture

MotionCore is a universal character locomotion system designed to work with ANY ACharacter subclass in Unreal Engine 5, providing advanced first-person movement through modular components without inheritance requirements.

Architecture Diagrams

High-Level Overview

This diagram shows the core architecture of MotionCore and how components integrate with your character:

GAS Integration

This diagram shows how the Gameplay Ability System (GAS) integrates with Motion components:

Component Integration

This diagram details how Motion components integrate with your existing character:

Data Flow

This diagram shows how input flows through the system to create movement:

Networking & Multiplayer

This diagram shows the networking architecture for multiplayer games:

Functionality

Each layer in the architecture serves a specific purpose in the overall system:

Standard UE5 Framework Layer

This layer consists of standard Unreal Engine 5 classes that MotionCore integrates with:

  • GameMode: Your existing GameMode class - only needs to set PlayerStateClass to AMotionPlayerState
  • PlayerController: Your existing PlayerController - no modifications required
  • MotionPlayerState: The only required Motion class, provides networked ASC ownership for multiplayer persistence
  • AbilitySystemComponent: Standard UE5 GAS component, owned by MotionPlayerState for proper networking

Character Core Layer

The foundation layer that MotionCore enhances without modification:

  • ACharacter: ANY character class works - no inheritance from Motion classes required
  • CharacterMovementComponent: Standard UE5 movement component that Motion components modify
  • CapsuleComponent: Standard collision component used for crouch height adjustments
  • MotionCameraComponent: Advanced first-person camera with procedural effects and curve support
  • Animation Blueprint: Your existing animation system - Motion integrates via notifies and interfaces

Motion Component System

Modular components that add specific movement behaviors to any character:

  • MotionComponentBase: Base class providing common functionality like auto-discovery of required components
  • Movement Components: Walk, Sprint, Crouch, Jump - each modifies the standard CharacterMovementComponent
  • Support Components: Sound and Breathing - add polish through audio and visual feedback
  • Each component is optional and can be added independently based on project needs

Input & Control Layer

Handles player input and ability activation:

  • Enhanced Input System: Standard UE5 input system with provided Motion input actions
  • Motion Input Helpers: Static utility functions for input processing and ability binding
  • GAS Integration: Input triggers abilities through the standard AbilitySystemComponent

Data & Configuration Layer

Content-driven configuration and runtime data:

  • MotionAttributeSet: GAS attributes for stamina, movement speeds, and other gameplay values
  • Gameplay Effects: Define state changes, attribute modifications, and ability costs
  • Curves: UCurveFloat assets for smooth transitions, camera effects, and movement parameters
  • Sound Data: Surface-based footstep sounds with multi-variant support

Utilities & Validation Layer

Development tools and runtime helpers:

  • Compatibility Validator: Ensures Motion works with your existing character setup
  • Logging System: Comprehensive debug categories for troubleshooting
  • Function Libraries: Blueprint-exposed utilities for curves, components, and GAS operations

Key Design Principles

Universal Compatibility

  • Works with ANY ACharacter subclass without inheritance requirements
  • Integrates with standard UE5 components (CharacterMovementComponent, AbilitySystemComponent)
  • No conflicts with existing character implementations or marketplace assets

Modular Architecture

  • Each Motion component is independent and optional
  • Add only the components your project needs
  • Components auto-discover required actors and systems at runtime

Standard UE5 Integration

  • Uses established UE5 patterns and best practices
  • Leverages built-in systems (GAS, Enhanced Input, Replication)
  • Maintains compatibility with UE5 updates and features

Network-Ready Design

  • Server-authoritative movement using standard CharacterMovementComponent
  • PlayerState-owned ASC for proper ability persistence across respawns
  • Client prediction and validation following UE5 networking patterns

Developer-Friendly

  • Comprehensive Blueprint API for visual scripting
  • Clear separation of concerns between layers
  • Extensive logging and validation tools for debugging

Motion - Advanced First Person Character Controller