Generic Movement System

YuewuDev - Code Plugins - Aug 26, 2024

Powerful and advanced movement control and locomotion(animation)system designed for enhanced flexibility, seamless integration, user-friendly experience, and effortless expandability.

  • Supported Platforms
  • Supported Engine Versions
    5.4
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

The Generic Movement System (GMS) is a comprehensive movement control and animation system composed of two main parts: the Movement Control System and the Animation System.


Movement Control System: The movement control logic for characters is encapsulated in a component, providing flexible movement/rotation control functionality. You can use it without modifying your character's parent or current movement components.


Animation(locomotion) System: Built using Animation Blueprint Template (ABPT) and Animation Layer Interface (ALI) technologies, this system provides a framework for animating characters. Most animation assets are configured using data-driven methods (DataAsset), eliminating the need for complex animation blueprint settings. Advanced users can still follow this framework and expand their complex animation systems.


Trailer: Youtube 中文

PlayableDemo: GoogleDrive 百度网盘

Documentation: English 中文

Support: Discord QQ群:64842100

Videos: Demo walkthrough

Video Tutorials: Youtube 哔哩哔哩


GMS is not a monolithic and chaotic system; it leverages built-in UE functionality to create a flexible, modular, user-friendly, and extensible movement system. It serves as a framework that can accelerate your project's progress and provide valuable knowledge of best practices.


Before purchasing, I strongly recommend carefully reading the system's documentation to understand what it offers and how it can benefit you. GMS is not for absolutely beginner, you need to have a basic understanding of GameplayTags and blueprint to use it.


----------------------------------------------------------------------------------

Development Roadmap

Integration:

  1. Experimental Motion Matching integration is available in this update. Check this and this video.
  2. GMS contains full animation integration for space.bar.anim(Great Sword coming in next update) If you own these anim packs, you can import them and it's already setup with movement definition.

----------------------------------------------------------------------------------


Please note:

This is a code plugin. Only the code is distributed through the marketplace.

After purchase, you need to be verified to access the provided content assets.

You can easily migrate core assets to different project.(Migration Docs Migration Video)


请注意:这是一个代码插件,只有代码通过市场发布。购买后,您需要经过验证才能获取提供的内容资产。



Features:
  • Easy Integration: Integrating with just one component and one animation blueprint. Non-intrusive integration eliminates the need to modify your existing character parent class or movement component.
  • User-Friendly: All movement control and animation settings are centralized and configured using data assets. Dynamic swapping of "movement control logic and animation assets" can be done during runtime through simple api calls.
  • Extensibility: GMS uses the Animation Layer Interface, allowing you to customize animation layers and layer layer settings by using Blueprint/C++, with seamless runtime replacement.
  • High Adaptability: GMS uses Animation Blueprint Templates, making it compatible with any skeleton, including quadrupeds. It has a flexible data configuration structure, allowing direct use of animation packs from the marketplace, and even creating animations non-existent in anim pack via overlaying system. Each new character animation pack is just a new data asset.
  • Flexible Control: GMS offers a rich set of movement/rotation control systems, allowing different speeds/accelerations/decelerations and orientation modes (velocity-based, input-based, view-based or TurningCircle) for different movement states and rotation modes.
  • Simple API: Based on your game logic, you can switch between movement definitions, movement sets, movement states, rotation modes, and overlay modes to control/animate your characters. The combinations can be diverse and tailored to your specific needs.
  • Multiplayer Support: All features of this system support network synchronization and will continuously be optimized and improved in this regard. (Yes, challenges and difficulties never stop.)
  • Stacked (Layered) Animation Overlay System: This system allows you to play different animations simultaneously on multiple body parts. You can selectively play animations based on the activation state of animation nodes and perform GameplayTags queries specific to the Actor. It enables you to create dynamic and varied animation effects. In GMS, it is just one implementation of the OverlayLayer.
  • Pose-based Animation Overlay System: Similar to the ALS Layering system but more independent, intuitive, and user-friendly. In GMS, it is just one implementation of the OverlayLayer.
  • Robust Framework Design: For the same functionality, I have put a lot of thought, experimentation, and iterations into the design. I believe GMS now has a solid framework design that can easily support my future development plans.
  • High-performance Code and Balanced Blueprint/C++: GMS leverages C++ and animation multithreading to minimize CPU consumption. You don't need to know C++ to use this system. For developers, it supports extension through both Blueprint and C++.
  • Full utilization of UE5's Distance Matching, Orientation Warping, and Stride Warping systems for smooth movement effects.
  • VFX/SFX: Play different VFX/SFX dynamically on different physical material surfaces based on context (GameplayTags). Automated footstep VFX/SFX setup without including a bunch of hard asset references in animation sequences.
  • GAS Friendly: GMS prefers GameplayTags over enums and works well with projects using GAS. I have a combat system based on GAS that works perfectly with GMS. (GAS can provide GameplayTags to GMS.)


Orbital Market Link

(Orbital Market is a fast search engine for the Unreal marketplace)

Technical Details

Core Modules:
  • GenericMovementSystem (Runtime): Contains the main code of the system.
  • GenericEffectsSystem (Runtime): Contains code for dynamic SFX/VFX play, such as footstep effects.
  • GenericMovementEditor (Editor): Contains code for custom animation graph nodes and animation modifiers.


Number of Blueprints: 100+ (including core assets, extra content, and demo)

Number of C++ Classes: 38

Network Replicated: Yes

Supported Development Platforms: Windows

Supported Target Build Platforms: Win64, Android, Linux

Important/Additional Notes: more about my product here.