Rotating an object half as much as another

I’m doing a similar thing where I try to scale the rotation of one actor based on the rotation of something else.

I ran into the exact issue you describe, and they way around this is to acquire the delta (difference) between the rotations (the rotation of the object in the LAST frame against the CURRENT frame). There is a Delta(Rotator) node you can use to acquire the delta. You can then scale this delta value and apply (add) that to the rotation of your scaled object. (E.g., the delta determines your main object has rotated by 5 degrees since the last frame, you scale this 5 degrees by 0.5 to make it 2.5 degress; you then add this 2.5 degrees onto the other object’s rotation).

However, I run into various issues with this method when attempting to scale on multiple axis (because the orientation of an object can be represented by more than one Euler representation), and I imagine it’s not possible in Blueprints (will need to make use of C++ quaternion and/or matrix math to do this effectively; I’ve attempted something with FQuats but don’t have anything that works currently).

I know it’s not much of an answer, but I hope it helps point you in the right direction. And if you do find a solution that works in UE4 then be sure to post it here because I would like to have a look!