Camera.CFrame is inaccurate on mobile device

I am simply setting the CFrame of the local player’s camera to the CFrame of a part in the workspace, here is the code I use to do so:

local cam = workspace.CurrentCamera
cam.CameraType = Enum.CameraType.Scriptable
cam.CFrame = battlescene.CameraPoint.CFrame
cam.FieldOfView = 40

print(cam.CFrame, battlescene.CameraPoint.CFrame)

“battlescene” is a model, containing the child instance “CameraPoint”
The printed CFrames are equal whether on mobile or PC, so the actualy CFrame value of the camera seems to be set correctly, it just renders differently.

The result on PC is as so:

However, on mobile it looks like this:

So, on PC the CFrame is correct, but on Mobile the CFrame seems to be offset which makes it go outside of the battle scene. And to be clear, the CFrames that are printed appear to be correct, meaning that the property is set correctly it just (for some reason) looks different on mobile.

Any help with this would greatly be appreciated as I am completely confused. Thanks in advance!

get a bigger monitor for ur phone (no problem)

This is tested on an iPhone 11, which has a fairly average/large display for modern smartphones. If mobile players will view the game like this, that is still a problem.

Perhaps you need to use Camera:GetRenderCFrame() or some code related to the example here Camera | Roblox Creator Documentation

Try setting the camera CFrame constantly using :
RunService:BindToRenderStep("Camera", Enum.RenderPriority.Camera.Value, function(). See if that changes anything as it could give more info on the problem. This is normally what I use and it looks to work.