FStateTreeRunParallelStateTreeTask and TStateTreePropertyRef

I have a State Tree that I am trying to use a parallel task node to run another state tree. This state tree I am attempting to run in parallel has a number of TStateTreePropertyRef parameters, but it seems that none of them resolve within the parallel state tree. This leads me to believe that bindings are not copied across into a parallel state tree.

Non TStateTreePropertyRef seem to carry over into the parallel state tree to the extent I’ve tested them(gameplay tag). It just seems to be the TStateTreePropertyRef that don’t.

If I debug into the code, it looks like it’s because ParentExecutionFrame == nullptr in GetMutablePtrToProperty. Parallel State Trees don’t seem to have a ParentExecutionFrame, because in the FCurrentlyProcessedFrameScope that is created for them, CurrentParentFrame

is null.

Do you have a fix for this?

Hi there,

Thanks for the information you have provided. I have been able to reproduce this issue both in UE 5.6 and 5.7. I don’t see this bug currently tracked, so I have made a new bug report. When it is reflected publicly you will be able to view it here

I don’t have a bulletproof workaround for you currently. Similar issues with StateTreePropertyRefs can be solved by storing the references externally such as in a subsystem. Where they can be accessed through a State Tree Task or a State Tree Property Function. However I understand that this would only be useful or even applicable in certain cases.

Also of note is in a [similar case [Content removed]

The above case notes a workaround, although I have not yet validated this myself.

Thanks,

Louis