What is the best approach to make a ADS?

What is the best approach to make a ADS? Single player camera or changing view to camera attached to weapon.
I tried using both the options. Using a single camera doesn’t work when weapon changes position due to aim offsets.
Using separate camera on weapon makes it too stable relative to the weapon.

YMMV, but how we do it:

  • all characters have a default camera created in constructor, with default FOV settings
  • while player holds ADS button, constrict FOV of the currently possessed character’s camera over time, until hitting the max zoom of the currently held weapon (or whatever limits zoom)
  • when player releases ADS button un-constrict FOV over time until back to camera default
  • optional: we use a Lerp with Ease In / Out for the actual ADS, looks more natural

How your ADS input funnels to the player controller and character will be project specific.

How can i place the weapon exactly at the center with this way? or it’s just the animations needs to be perfect also, when i apply aim offsets the camera position is longer oriented correctly