Seize the Means of Animation
Note
Following the acquisition of GitHub by Micro$lop, we have taken principled action and have begun primarily hosting code and content on Codeberg. Mirrors will still be maintained on GitHub and GitLab.
ALSXT is a modular, GAS-based Unreal Engine 5 plugin that extends ALS-Refactored into a cutting-edge Character System. ALSXT empowers developers with AAA animation and features like Character Customization, runtime Mesh Painting, Gameplay Camera System, Combat, Impact Reactions, and advanced Firearms mechanics with Procedural Aim and Recoil, all streamlined into a rapid, data-driven workflow, ensuring stability without sacrificing flexibility. A part of the Target Vector framework.
📚Wiki • 📘Documentation • 📑ALSXT Notion • 🐤Twitter • 🗨️Discord
- Generate truly unlimited, unique and immersive Characters with extensive States, deep Character Customization, Southpaw and support for blending multiple Locomotion and Overlay Layers.
- Create smooth third Person and True First Person Gameplay featuring Input Actions converted to Gameplay Abilities, governed by Attribute Sets and Gameplay Effects.
- Developer and Artist friendly, Data-oriented Locomotion framework with Real-world tested tech such as ALS-Refactored, GAS, Chooser Tables, Smart Objects and Modular Gamplay Features.
- Empower Individuals and small independent Studios with AAA Feature Parity or better.
- Promote and Advance the Free and Open Source Software Movement.
- Utilize the latest Technologies and Methodologies.
- Maintain a Modular, Configurable and Data-oriented Design.
- Adhere to, promote and facilitate adherance to Coding Standards and Style Guides.
- Encourage and Facilitate the use of Versioning Systems and CI/CD.
- Performance and Optimization by Design.
- Do Cool Procedural Stuff.
Warning
ALSXT is under heavy development, including a rewrite to utilze GAS, Modular features and new technologies. Many features may not be finished or production-ready. Use at your own risk.
- Alsxt Character Movement Component - Expanded Movement Featurees and GAS Integration
- Expanded Character States - Orthodox/Southpaw Stances, Locmotion Variants, Readiness, Weapon Ready Position, etc
- Expanded Footprints System - Independent foot states, Saturation, Material Transfer, Vertex Paint Support(Static Mesh only, In Progress)
- Locomotion Variants - Default, Feminine, Masculine
- Locomotion Layer Blending - Injuries, Overlay-defined Locomotion
- Overlay Layer Blending - Right, Left and Both Hands Layers
- Gameplay Camera System - Replaces ALS-Camera Component
- Gameplay Camera System Director
- Third and First Person Camera Rigs
- GAS Gameplay Abilities - With Cost Gameplay Effects
- Nearly all existing Input Actions
- Movement Ability that can modify Regen Magnitudes
- Extended State Input Actions: Combat Stance, Readiness, Weapon Ready Position, Canting, Leaning, Hold Breath, Focus, Freelook
- New Locomotion Actions: Slide, Flip
- Plus more
- GAS Gameplay Effects
- Staus Effects, such as Injuries, that modify Movement Speed Magnitudes and Locomotion animations
- Stamina Regen with Magnitude
- Hold Breath Regen with Magnitude
- GAS Gameplay Attribute Sets
- Stamina
- Breath
- Plus more
- Advanced Customizable and Paintable Master Materials for Characters and Objects
- ADS (Aim Down Sight)
- Attachments
- Optic Effects
- Procedural Aim
- Procedural Recoil
- Firearm Actions
- Trigger Finger Layer
- Smart Object based Generic Interaction System
- Contextual Animation
- Combat System with Targeting
- Impact Reactions System
- Physical Animation
- Character Customization
- Paintable Mesh Components
- Character Sounds
- Vaulting
- Idle Animation Component
- Advanced Landscape Auto-Material
- Procedural Radial/Pie Menu
- Workflow YAML files for Codeberg/Forgejo, GitHub, and GitLab
- Skeletal Mesh and Clothing set with Morph Targets/Shape Keys
- Stationary Modes (Sitting, Vehicles etc)
- Wallrunning and Walljumping
- Prone Stance
- Swimming Custom Movement Mode
- Ladder Climbing Custom Movement Mode
- Gestures
- Emotes
- Unreal Engine 5.7 or later built from github Source Code
- A working UE5 C++ Integrated Developement Environment(IDE)
- Tested: Jetbrains Rider, VS Code, Visual Studio (Windows)
- Untested: XCode (MacOS), Jetbrains Rider, VS Code, Visual Studio (Linux)
- clang -20 13.0.1
The following are built-in Engine plugins that are enabled in the Plugins window. Warning: some plugins may be Experimental or Beta software.
- Gameplay Abilities
- GameplayCameras
- GameplayTasks
- SmartObjectsModule
- GameplayBehaviorsModule
- GameplayBehaviorSmartObjectsModule
- AbilitySystemGameFeatureActions
- AIModule
- GameFeatures
- ModularGameplay
- ModularGameplayActors
- Chooser
- ContextualAnimation
- PhysicsControl
- DataRegistry
- TargetingSystem
The following plugins require cloning or downloading into your projects Plugins folder.
To enable vertex detection in packaged builds (required for line tracing, procedural mesh, or runtime vertex inspection), you must enable Allow CPU Access on each mesh. This setting ensures vertex data is not stripped during cooking, allowing CPU-based functions to read vertex buffers at runtime.
For each Static Mesh:
- Open the Static Mesh in the Content Browser.
- In the Details panel, check "Allow CPU Access". This can also be performed in bulk with the Bulk Edit via Property Matrix command.
- Rebuild/Repackage: Save the meshes and repackage the project for the changes to take effect in the build.
Systems performing Continous Intergration Workflows will have additional requirements depending on the CI solution used.
- Git
- OpenCppCoverage
- Domain Name or ngrok (For Self Hosted CI)
- Workflow Actions services and Runners configured for Forgejo/Codeberg, GitHub or GitLab
- Jenkins and Java 11 (For Jenkins)
Complete Installation Instructions
Quick Install
- Install and setup (if required) all dependencies
- Clone/download ALSXT into your projects Plugin folder
- Integrate Config\DefaultEngine.ini into your projects DefaultEngine.ini
- Note: Various
SurfaceTypesand a newCollisionChannelnamedTransferrableare required for the Footprints and Impact Effects to work. SurfaceTypes can be renamed and/or re-assigned in the respective effects Settings
- Note: Various
- (Re)Build Project with the
BuildPlugin.batScript or your IDE - Once compilation is successful you can now begin using ALSXT in your project
./BuildPlugin.bat- Build Plugin Batch Script./BuildPlugin.sh- Build Plugin Shell Script
Getting Started
Five(5) C++ Character classes and four(4) example Blueprint classes are provided, each with their respective feature-sets, defined by AlsxtCharacterSettings, GameplaySystemInitalizationDataAsset and any additional Actor Components Settings.
AlsxtCharacter # Abstract Base Character Class. No Input Actions. Not Blueprintable
├──AlsxtCharacterPlayer/ # Uses Player State. Ability System Component (ASC) is located on the Player State
├── AlsxtCharacterPlayerAdvanced/ # Uses Player State. Ability System Component (ASC) is located on the Player State
├──AlsxtCharacterNPC/ # No Input Actions. Ability System Component (ASC) is located on the Character Class
├── AlsxtCharacterNPCAdvanced/ # No Input Actions. Ability System Component (ASC) is located on the Character Class
Create a child C++ class or blueprint of any AlsxtCharacter subclass to create your own custom Character, or simply Copy and existing Blueprint class derived from any of these classes.
ALSXT is designed to be extremely configurable by with Data Assets. Most Settings are centralized in the ALSXTCharacter Settings Data Asset.
Default Character Abilities are defined by Gameplay System Initialization Data.
CI workflow YAML files are included for Forgejo/Codeberg, GitHub and GitLab.
ue-plugin-ci Build, Test, Code Coverage, Upload to Codecov, Update Changelog, Update Status. Activated with any push.
ue-plugin-ci-release Build, Cook, Package, Test, Code Coverage, Upload to Codecov, Update Changelog, Update Status. Activated the a v* tag in the commit.
changelog Generates and commits CHANGELOG.md. Activated the a v* tag in the commit.
The provided tests can be run in an Action Workflow or run manually with RunUAT. Learn more about Unreal Engine Automated Testing in the Run Automated Tests documentation.
AlsxtTest_BasicMovement
OpenCodeCoverage will perform Code Coverage analysis and publish and XML file as a Commit Artifact, and can optionally be uploaded to a configured Codecov account. You will need to first generate an Access Token from your Codecov account and add it your Forgejo/Codeberg, GitHub or GitLab Secrets as CODECOV_TOKEN.
- ALSXT-Assets-Cascaduer: Source Assets Cascaduer files
- ALSXT-Assets-Blender: Source Assets Blender files
- ALSXT-Assets-Photoshop: Source Assets Photoshop files
- ALSXT-Assets-Textures: Source Assets Texture files
- ALSXT-Assets-Audio: Source Assets Audio files
Contibutors and PRs are welcome! If you wish to contribute, please ensure you are synced with the latest ALSXT commit, message me and I'll set up permissions for you.
This project is dual-licensed. It is available for absoultely free under the MIT License for most Individuals and Organizations. If your organization, industry or application is listed in the Commercial License, please Contact Us.
Any git submodules are covered by their respective licenses. Content listed in the Attributions are covered by their respective licenses.
