A powerful combo system plugin for Unreal Engine 5, built on StateTree architecture and integrated with the Gameplay Ability System (GAS) and Enhanced Input.
- StateTree-Based Combo System: Leverages Unreal Engine's StateTree for flexible and efficient combo management
- ScizorComboComponent: Core component for managing combo states and logic
- Combo Window Management: Sophisticated state management system with four distinct phases:
- NoCombo
- BeforeComboWindow
- InsideComboWindow
- AfterComboWindow
- Animation Montage Integration: Seamless integration with Unreal's animation system for combo execution
- Enhanced Input Support: Full integration with Unreal Engine's Enhanced Input system for responsive combo inputs
- StateTree Nodes: Custom conditions and property functions for combo logic
- Combo window check conditions
- Combo input check conditions
- Property functions for combo state queries
- Custom Schema Support: Extensible schema system for custom combo configurations
- GAS Integration: Full compatibility with the Gameplay Ability System
Scizor requires the following Unreal Engine plugins to be enabled:
- Treecko (Required)
- StateTree (Required)
- GameplayStateTree (Required)
- GameplayAbilities (Required)
- EnhancedInput (Required)
- Clone or download this repository
- Copy the
Scizorfolder to your project'sPluginsdirectory - If the
Pluginsdirectory doesn't exist, create it in your project root - Open your Unreal Engine project
- When prompted, allow the engine to rebuild the plugin
- Enable the plugin in Edit → Plugins → Search for "Scizor"
- Restart the editor
-
Add the ScizorComboComponent to your character or actor:
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Combo") UScizorComboComponent* ComboComponent;
-
Configure the StateTree for your combo system using the Scizor schema
-
Send combo input events when the player performs an action:
ComboComponent->SendComboInputEvent(ComboInputTag, Payload); -
Query combo state to check the current combo window:
FScizorComboInfoSummary ComboInfo = ComboComponent->GetComboInfoSummary();
- Combo Windows: The system tracks animation phases and combo timing through window states
- Event-Driven: Combos are triggered through gameplay events sent to the StateTree
- Input Actions: Enhanced Input actions are used to identify specific combo inputs
This project is licensed under the Mozilla Public License Version 2.0 (MPL-2.0). See the LICENSE file for details.
Created by tarnishablec
This plugin is currently in beta. Contributions, issues, and feature requests are welcome!