Some questions on combos and input buffers

patrick_l

New member
Hi,

Does the combo system support branching attack chains? Something where you could start an attack chain of say "Light Attack -> Light Attack" and then chain into various attack/combo finishers depending on the button/s pressed?

Is there any kind of input buffer built into the combo system? If not would it be difficult to integrate my own into the existing system? I currently have a buffer that uses Unity's new new Input System and allows pattern matching so I would like to use this with the combo system if needed/possible.

Are there any videos specific to the combo system so I can get a better idea on how it works?

Thanks
 
For branching attack chains, you could just have a separate ability for each combo, with a different combo sequence for each ability. If you end up with a large number of possible input variations then you'd end up with a lot of abilities, so you'd need to think about how to setup your own ability/ability starter for that case. The Combo Timeout ability starter in the demo is mostly meant to be an example of how to create a custom Ability Starter, so it's not really designed for extended combo systems and whatnot.

The Combo Timeout ability starter uses a basic timeout system where you have X seconds after pressing the first input to press the next one, which could be considered an input buffer. But beyond that there isn't any input buffer/pattern-matching that takes place ahead of time. As you said you've already got something like this setup with Unity's input system, it shouldn't be too hard to hook this up with a custom Ability Starter.

There is a brief page in the docs about the Ability Starter class, but please let me know if you need more support with it:
 
Ok so I can see how I could achieve what I need using the available systems however it is a bit change compared how I have them set up now. I currently use a state machine to determine valid transitions and this is managed via a custom graph editor which makes runtime visualization easy. I would prefer to continue use this and if possible integrate into the TP controller. I'm just not sure how it would work along side the ability system.

Do you think a custom state system would be feasible to combine with the current attack/Use system? Is the source code available on purchase?

For my input buffer (which is used both for timing windows and multi key sequences) I think that should be a little more straight forward since there is already an Input System integration so I could use that as a reference.
 
Yep, all the source code is included (minus a couple of shared dlls related to the Ultimate Inventory asset).

There isn't a 1:1 mapping from a state system like the one you're describing and the built-in abilities. But you shouldn't need to create entirely new systems, either: I can imagine a custom ability starter similar to Combo Timeout which, instead of having a pre-determined input sequence, dynamically responds to input sequences from the player based on references to your combo branches, then based on the outcome, fires a different Item Action (using a different Action ID for each unique combo).
 
So is there not a way to make a combo system that uses timed button presses to continue in the combo? For example the punch, punch, kick, but if the third button isn't hit in time for the kick it wouldn't kick but just reset back to a punch?
 
So is there not a way to make a combo system that uses timed button presses to continue in the combo? For example the punch, punch, kick, but if the third button isn't hit in time for the kick it wouldn't kick but just reset back to a punch?
That is what is available by default. I am looking for something a little different in that I want branching combos with a priority system, cancel windows, multi button presses etc
 
So is there not a way to make a combo system that uses timed button presses to continue in the combo? For example the punch, punch, kick, but if the third button isn't hit in time for the kick it wouldn't kick but just reset back to a punch?
The demo combo ability starter simply requires the next input to be within X seconds since the previous one, but it sounds like @patrick_l is trying to go for a more sophisticated system than that.
 
Top