This doesn’t work for my purposes because I am trying to get the rotation of a single axis (Y) and all point with that method have a equal value at the same mirror angle:

I need to get the exact angle, not the reference angle

I haven’t tried this myself, but the issue could be that ToEulerAnglesXYZ() calculates as if you applied in X Y Z order, so for one case you could get 0 X and 45 Y, while in another case you’d get 180 X and 45 Y. there’s another function called ToEulerAnglesYXZ() which calculates Y first.

The way rotation is applied to CFrames depends on the order of operation and because I needed the X rotation, I need to apply Y rotation first, otherwise it would return a reference angle.
So I needed to use