Combo Graph
Introduction
Combo Graph is an Unreal plugin based on GAS (Gameplay Ability System) that lets you focus on Combo / Combat design with a Custom Graph and Editor to deliver a fast, flexible and enjoyable developer experience.
Note Since Combo Graph can be used with or without GAS, depending on whether you're already using the Ability System, relevant part of the documentation are suffixed in the sidebar with either
(with GAS)
or(w/o GAS)
. Non GAS users should refer to the(w/o GAS)
pages when applicable.
What is it about ??
Essentially a custom editor / graph for a Gameplay Ability with state machine like capabilities to define combo strings and link montages / sequences together.
The main idea behind this plugin is to try to cut down iteration times as much as possible when designing and prototyping a new combat system / combos.
Main Features
- Highly customized Blueprint Editor with State Machine graph and Persona viewport / preview (Persona = Animation related goodies used in Anim BP and Anim Assets)
- Can use sequence or montages. If using a sequence, the montages are dynamically created before going through the play montage task.
- Can define transition with Enhanced input actions, and have them displayed with keyboard or gamepad icons in the graph.
- Has an "auto setup" mechanism for animation states so that you don't have to edit each and every montages with the ANS you need (combo window and collision traces for instance), but still have the possibility to define Notifies in anim assets. The auto setup only takes place if the anim asset doesn't have the corresponding ANS.
- Can define Gameplay Effect cost and effect containers to apply (for instance for damage) for each node.
- Non GAS users can fallback to Unreal's Damage System for effect containers.
- Montages / Sequences / Icons and VFX / SFX assets all using soft object references and handled in cpp (so that the abilities or characters using them doesn't explode in size)
- Replicated and Multiplayer ready
Core principles / Inspirations
- Main inspiration and driving force for this plugin is based on Hellblade's "Combat Editor" I've first seen in their devlogs - https://youtu.be/fFKjWciYbBM?t=198 / https://youtu.be/5aAgBAO9Lwc?t=115
- Logic Driver, especially the combo state machine example (also the live debugging when you see active states when playing in PIE) - https://youtu.be/blNza5q7sp4
- Started with Generic Graph) as a base learning material. Development of the plugin wouldn't have been possible without this fantastic resource.