BTW, I read about HFSM being reworked on. Is it still the thing? or just a smoke in a chimney? I’m familiar with HFSM but I haven’t seen a good implementation since Serious Engine days. I also saw Stack-Based FSM in Unreal Marketplace. I really haven’t used it to say it for sure, however, they seem to get the implementation right. To properly implement it, you have to use Stacks to represent the hierarchy.
Why do you want to use HFSM? It can help to simplify FSM quite a bit by sharing States. A common use-case, for example, is Damage. Whether you are in Idle, Attack, Patrol, they will all have to deal with Damage.
If you are using HFSM, you can put the Damage state at the bottom of the stack and push other states(Idle, Attack, Patrol) on top of it. This way you don’t have to duplicate damage handler to individual states. Basically, HFSM allows you to modularize the States by combining several States to create new States. Combining States different ways can give you very interesting behaviors. And this behavior cannot be emulated in BT. BT and HFSM is totally different animal.
Anyway, it’s not super critical but it’s a very sexy feature if you are looking for improving uFSM.
Cheers!