Combo Graph
Philosophy and Core Principles
Philosophy and Core Principles
Brief description about the inspiration and core principles that drove the development of Combo Graph Plugin.
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.
- 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.