GC FSM - Event-driven, hierarchical finite state machines in blueprint

I’m sorry for being dense, but I’m still struggling to make sense of your question. I asked you to explain what are you trying to achieve, rather than asking about the solution your are trying to apply, because I want to rule out the XY Problem, but you didn’t give me the information I expected. I’ll try to answer anyway. When the MainLogic FSM is in state SubTest and receives Damage events, these are “deferred”: this means they are recorded, as opposed to being handled or discarded. When the WasSet event is received, this is what is happening:

  1. State SubTest is exited. As part of the exit, the FSM_SubTest sub-FSM is forcibly terminated
  2. A transition is made to state TestDeferred_Main
  3. Upon entering TestDeferred_Main, all the recorded (“deferred”) events are re-triggered in the new state, which has the opportunity to handle/discard/defer them. In your case, they are handled

As the deferred events are re-triggered in step 3, this mean you can’t re-trigger those events in the Idle state of the FSM_SubTest sub-FSM, since that sub-FSM was terminated in step 1!

Please notice that, while you are in the SubTest state, any Damage event triggered with the flag “Trigger in sub-states” will be triggered in both MainLogic and FSM_SubTest. In that case, each of the two FSMs can handle or defer the event as necessary. If you want to defer those events so that they are deferred in the sub-FSM, you need to have a state **in the sub-FSM **that defers them.