FPS Third person or First person template?

Ofcourse this will work but it not ideal and will have few issues, I have few projects with this system made just to find issues it will have.

The main issue is Optimization specially if your third person mesh is modular like in PUBG
1: If you have multiple iron scopes like 2x, 3x etc… and each have its own reticle transforms and you need to adjust the first person arm based on the reticle to target it on the center point of the camera to shoot the projectile correctly, and what we found is after doing this adjustment the first person mesh has not the same transforms as the third person mesh since the first person mesh is moved to set the reticle of the scope target the camera center point, Sight with reticle is attached to the weapon and weapon is attached to the first person arms.

2: When you switch to the first person mode the weapon mesh should be attached to the first person arms locally, congrats we introduced a bug where the server is aiming using the third person mesh and we localy aiming using our first person arms, so when we look up/right the third person mesh is not synced with your first person camera.

Better to derive two seperate classes first/third derived from the same base character. This way you have neat solid system and much more optimized since you don’t have multiple animclasses, meshes, cams in a single character class.
Games like PUBG also using seperate classes and it also give you an opportunity to select a game mode like just play in first person or third person before starting a match.

Another option is to make a camera on the weapon for aiming iron sight and switch to it, and drive the camera on already adjusted reticle sockets based on the supported iron sight attachments