Zooming/Magnifying a the part of the screen in-game

Hi All. I am a Blueprint game solo dev, developing a first-person adventure game in UE5. I wonder if there is a way to make an in-game magnification for a part of the 3D view port.

The following is what I want to do:

Before zooming

After zooming

It is for a long segment of gameplay with many scenes having this effect. It is not cinematic. I am supposed to be able to interact with objects in the second depiction with cursor. Also, I have tried 3 methods and they seem to be no-goes to me.

  • Camera movement or springarm would not work since I want to keep the perspective fixed. The game just wants a magnification without changing perspective.
  • a 2D screen capture would not work as the game will have cursor interactions with the magnified screen with the 3D objects in the magnified scene. (I suppose it is simply rendering a magnified part of a viewport and locating it to the center. It shouldn’t require massive change on the gameplay code on how to interactiwith the world, which I find that is the case if I do it through 2D dynamical material + Widget.)
  • FoV change would not work because the zooming part is off-centered, as well as the spherical-to-plane projection aberration would distort the view at the edge.

Anyone knows if there is a way just to magnify the screen, and allow cursor interaction (hover/click) on objects in the screen like it is normally rendered? I would appreciate any suggestion. :smiley: