[TEMPLATE] Fighting Game ^_^

Hmmm. If I understand correctly, you want to be able to cancel the hit to another one, such as dashing in the middle of Shoryuken before it gets player on air right?

If that’s the case, it’s not really Unreal’s fault, but how you implement your input system AND movement one.

Personally my movement system consists of “Set World Offset” and “Set Actor Offset” ones accompanied with timelines for moving them for special things, such as jumping. In this case if I am making a Ryu and wanting to cancel his Shoryuken into a dash, I would have a AND boolean with inputs tagged into “IsOnGround” and “DoingShoryuken”, which are both true until he flies upwards (which makes it TRUE for DoingShoryuken but FALSE IsOnGround, making it impossible to dash or cancel after he flies). So if the Ryu player tries Dashing by tabbing 2 times frontier, I would stop the Timeline that is updating ActorLocalOffset of Shoryuken before it’s Z direction starts (aka jump) and I would switch to Dash state in Anim Graph, only to trigger the Timeline for Dashing Actor Local Offset with 0.0 seconds blending. There we go, chu haz a dash in the middle of zhe shoryuken!

I didn’t play the new Street Fighter where many cancels their attacks to dashes, but I watched the videos, so I think thats what you mean, even if its not, I would still use this way for any type of cancellation anyway.

In my humble opinion, you should always use Actor Offseting in a fighting game. I don’t think Velocity is a term you should use or need, for your character goes left and right in instant speed, as it should.

Here is an example of how I move my characters;

I am not showing it all so it might be confusing (as I still am not use if this is the correct way), thought what you need to note is, I multiply every move I have with delta seconds as you see at bottom. And I always get good results. Maybe thats how you should move aswell!