Lost quite a lot of time due to having forgotten my matrix maths from A-Level!
The Burst code uses pure matrix multiplication as opposed to Unity’s helpful helper methods! The problem was that the object ceased tracking its target when I switched over the local to world conversion to Burst. Turns out I’d forgotten about that 4'th component in the float4 for the float4x4 multiplication! Have to have it set to 1 to account for translation! Thanks for @bgolus yet again!
On the way I decided to restructure my code from 1 big file into a partial class with 3 much-easier to understand parts: 1. Common code 2. Non-Burst (which works) 3. Burst which doesn't seem to account for the target moving as yet.
Yes OK I’m a hopeless perfectionist! Sigh. Maybe some time today I’ll start making a game!
Also some fascinating observations on float4 vs. float3 performance meant I switched things over to float4 where I could.
No pic for all this -- it would just be an unmoving frozen heart :blue_heart: