Thread Safe Update Animation in C++

Hi everyone, this topic does not seem to be covered and I have seen one or two threads pop up still with some uncertainties, so I thought of getting some clarification here.

In lyra, we get an introduction to multi threaded animations. The values that need to be accessed in “BlueprintThreadSafeUpdateAnimation” are cached using the property access system.

There is some documentation on this at " Animation Optimization in Unreal Engine | Unreal Engine 5.0 Documentation" on how to achieve this in c++ but it seems incomplete or inaccurate.

If my understanding is correct, is the equivalent of using property accessors, to store the data in a custom inherited “FAnimInstanceProxy”? My best guess is to store these values in an overriden “InitializeObjects” and compute values in an overridden “PreUpdate” In FAnimInstanceProxy. How do we know what variables should be stored in proxies and what variables can be directly accessed in “nativethreadsafeupdateanimation”.

If someone can clarify the proper workflow to achieve this in c++ it would be greatly appreciated. Thank you!

5 Likes

did you find any resources on that?