Hey, thanks a lot ! Actually, this is all made in C++, but I can tell you some tips :
- In my character logic, I use multiple actor components to handle differents things (ex: one component that handles attacks, one for the defense, one for the movements etc...)
- For the attacks, it's pretty straight forward, depending on the input pressed, if conditions are met, the player will perform light or heavy attack (and increment the combo counter) + you may need to use raycast in front of player to detect if the enemy is nearby so that the player orients and goes to him
- For the defense, the dodge works the same as the attack event, if the player presses dodge input, based on the stick input direction, X dodge will be performed.
- For the guard, what I do is that when the player holds the guard input, he stays in guard, and when he enters in this state, there is a short delay where the parry is available (ex: if the player enters guard and the enemy hits him in the next 0.x seconds, it will perform a parry