How to Create PUBG style Sniper Zoom Function

Hi
I’m trying to create a sniper scope with zoom function just like PUBG but i’m having trouble when i try to zoom-in as it also zooms on the scope mesh itself which is not correct.
here is a video of how pubg scope works:

as you can see in the video when the camera zooms out, the location of the scope on screen stays the same size. at first one might think there are 2 cameras but it’s not and thats because the outside part of the scope is also affected by camera FOV.
so any ideas how this can be done?
Thanks !

I’d imagine one camera renders the environment and one camera renders the weapons. Weapons are then overlayed onto the screen, and you can freely change the environment and weapon camera FOV.

To be honest I just assumed it was done this way in unreal as well, since in Unity this is a fairly basic thing to do.

Thank you for your sharing video on how to use and shoot sniper in PUBG.