Look into “quaternation + bluepritns” there may be tutorials.
If not find formula how to calculate rotation, then try to recreate it in bluepritns.
Also (i am guessing) problem you describe may be “gimbal lock”
There is another way, its bit of hax, but no quaternations:
- place invisible component
- move this component on surface of sphere: move directions align to UpVector and RightVector of component. And one extra input to rotate that component
- after move get vector from center/camera/pawn to that component, normalize it and then multiply by some radius, and snap component to that new point in 3d space. This way that component always stays on sphere.
- then use find look at rotation for that new component location, or copy component orientation/rotation to camera.
However this is hax, easier (well more elegant is using quaternations)