Mobile ADS Alignment Different from Desktop

Problem

Gun sight alignment works perfectly on desktop but appears offset on mobile when aiming down sights.

Code

-- Sight alignment calculation
local screenCenter = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
local sightScreen = camera:WorldToScreenPoint(frontSightPos)
local screenOffset = screenCenter - Vector2.new(sightScreen.X, sightScreen.Y)

local sightOffset = Vector3.new(
    screenOffset.X * offsetScale,
    -screenOffset.Y * offsetScale,
    0
)

Suspected Causes

  1. Camera.ViewportSize - Does this account for mobile UI elements?
  2. WorldToScreenPoint - Different behavior on mobile vs desktop?
  3. Touch controls - Reduce effective screen area?
  4. Mobile camera mode - First-person behaves differently?

Questions

  • Are there known mobile vs desktop camera differences?
  • Should I use platform-specific offset calculations?
  • How do you handle cross-platform viewmodel consistency?

Expected: Same sight alignment on both platforms
Actual: Gun positioned differently on mobile

Try to get absolutesize from a screengui with its screeninsets property set to none cause viewportsize accounts for phone screen shape

1 Like