In our game we need to transition to the next FSM state immediately (on the same frame) when current state finishes. In the current FSMState implementation, transition evaluations happen before OnUpdate therefore it won’t happen until the next frame. Would you consider adding an optional post-update transition evaluation to the update loop ?
While this has been asked once or twice in the past, the fact that a state change will at least take one frame to happen is really done by design. Won’t doing instant transitions on the same frame potentially result in an infinite loop, if a series of states (that take no time to complete; finish instantely) are connected together and form a loop (eg A -> B -> A)?