Hello and thank you for your attention. Sorry for the somewhat long post, but I want to provide all my fidings.
I have a modular character creator which generates characters by combining several different parts. I’m synchronizing animations with Copy Pose From Mesh, with one part serving as the master part. The whole reason I decided to go with Copy Pose From Mesh is that it allows skeletons to be extended, and theoretically works with the physics engine. Unfortunately, when I activate physics simulation on *all *the parts, the children lag behind the master by what I assume to be one frame. There seems to be no fixing it other than disabling physics simulation.
I tried moving all the slave parts to a tick group that runs after the physics engine using SetTickGroup() and it doesn’t work. I tried forcing all the slave parts to tick after the master part with AddTickPrerequisiteComponent() and it also doesn’t have any effect. What does work is disabling physics.
After re-reading the documentation, it seems Copy Pose From Mesh does not work properly when physics simulation is enabled:
This suggests I should be able to enable physics on the master part at least, as long as the child parts are not simulating. Sure enough, with only the master simulating, everything seems synchronized *provided *I move all the children to a tick group that runs after the physics calculations. I assume this is because enabling physics forces components to tick only in the ETickingGroup::TG_DuringPhysics step, so if I enable physics on everything, everything gets thrown there and the order of execution is unknown, with children that run before the master copying the last frame’s data.
In conclusion, am I correct to assume there is no way to enable physics on all the parts at once if one needs things to remain in sync? If so, what is the recommended approach to applying physics to the children? The Rigid Body node?
Thanks for your time.