Hi,
well, it's likely ( if your set up is correct) that indeed it doesn't collide on that frame...
mybe in your case you need to split your fsm into two, one that listen always to collisions and dispatch a custom global event when it does detect the collision you expect and another fsm only implement that custom event and perform a task.
I never had any cases in my projects where I needed to check for a collision one frame only... I don't really see any use case, what happens generally is that I maintain a boolean variable that I raise to true and false manually based on the TRIGGER ENTER and TRIGGER EXIT, or with the trigger event custom action, that that feature is one fsm doing just that and nothing else, and other fsm simply check for that boolean flag when they need too. It's a lot cleaner I feel.
does that make sense?
bye,
Jean