I was trying to update to UE 5.8 form 5.7 and now my State trees are broken, which makes UE 5.8 unusable to me.
Since there are no other changes in my whole project, so I can accurately pinpoint it this issue to the Update.
I’m working with a lot of Linked Asset Subtrees and states with tasks that search for some information and finish immediately. The actual Action happens in child states.
However after the update, transitions between child states fail and the rewind debugger says Could not trigger completion transition, jump back to root state.
The transitions are there so I think I stumbled upon the bug linked below. The issue tracker said that this is fixed before 5.8.1 was released, so I tried it again when it got out and when 5.8.2 was released.
Sadly I’m still having this issue and the Issue tracker does not state a target fix (although if I’m not mistaken one day it stated 6.0 but this is no longer the case, which seems odd to me).
Is there a way I can find out if and when this will be merged in a release?
I’m happy to provide further information if required and would be grateful for any help
since you have already ruled out the fixed tracker issue and it reproduces across 5.8.1/5.8.2, the remaining practical distinction is the task-on-parent + linked-subtree combination itself. “Could not trigger completion transition, jump back to root state” means the parent’s task never reported Succeeded/Failed — the child states’ completions are not bubbling up because the parent is still “busy” running its own task. workarounds that keep your architecture:
make the parent task end immediately and use the parent’s transitions as the only completion path: the task you describe as “searches for information and finishes immediately” should return Succeeded right away (if it is a TSyncTask style, it completes in the same tick). if instead it is an async/ticking task that never completes on its own, the parent state has no completion transition to fire, and child state completion has nowhere to go — that matches your symptom exactly.
move the parent’s logic out of a task and into a Global Evaluator (or into the child tasks that need it). the 5.8 pattern for “parent computes something, children act on it” is evaluators + property binding, not a parent task. parent states whose only job is grouping/selection work much better without a resident task.
if the parent genuinely must gate children with a running task, put the completion transition ON THE PARENT with “Succeeded/Failed” from that task and let selection rules pick children — but then child states should use regular transitions (event/condition based) instead of completion transitions. completion transitions only make sense on the state that owns the completing work. mixing “parent owns a task” with “children own completion transitions” is precisely the degenerate case those 5.8 changes touched.
as a diagnostic while you restructure: strip the parent task to an empty immediate-success task. if transitions suddenly work, the async parent task is confirmed as the trigger and option 2 is your fix; if it still fails, file it with the rewind debugger screenshot because that would be new.
I would not wait on the tracker — option 2 is also just cleaner StateTree design: data flows down from evaluators, states own their work, completions belong where the work happens.