On its surface this would only be weird unexpected behavior since .PreSimulation and .Stepped are supposed to be equivalent. However, when a parallel thread is invoked in .Stepped, one can show (at least on my end) that the scheduler reliably schedules the parallel resumption point after .PreSimulation
On its own this is not really a problem since these are supposed to be equivalent. But combined with the odd IK solve behavior this makes it impossible to do IK related things in parallel, since by the time the parallel thread has commenced, the IK has already been solved for the frame.
Hello. IK controls resolve before PreSimulation by design, because they may be setting motor values that will be used to move parts during simulation. Closing this thread as this is by design.
The real issue is that the parallel resumption point is after PreSimulation even though the parallel thread is initiated inside of Stepped which makes this system impossible to work with in parallel since we only have access to the relevant information in Stepped, and cannot act on it before PreSimulation fires.
Understood, after digging more into this, we’ll evaluate if the stepping all the IKControls can be moved to after the PreSimulation event (or if we need to introduce a new event).
That being said, I consider this ticket a duplicate of