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

The expressions are evaluated only once when the state is entered and the values are simply used to initialize the corresponding exposed variables of the state object. This behaviour is consistent with the usual behaviour of latent functions, which, incidentally, are used under the hood to implement the FSM. If I understand correctly, you seem to expect the expressions to be re-evaluated each frame, but that’s not the case. If you want to achieve that, I would suggest to use a local state instead.