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:
- Experimental Motion Matching integration is available in this update. Check this and this video.
- 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)