Rendering an endless world using a second camera

I want to create an endless runner where the player loops around the scene once he reaches the end. I think the best solution, to give the Illusion of it being infinite once you get close to the end, is to render the world twice, once for the normal player camera and then for the other camera which will be offset by the length of the level. And then I teleport the player back to the start of the level once he reaches the end to have a seamless transition.

I have tried doing this using a copy of the world and pasting it at the end. This works completely fine, but I feel like that creates a lot of overhead as I have to change the copy of the level every time I make changes to the original and it wastes a lot of memory and processing power for a part of the world that is just a visual copy of the main level.

I’ve been searching for an answer on the forums and on the Internet. I’ve also been reading through the source code of unreal engine but I’m having a hard time finding a solution for this. In theory the solution is quite easy: every time you render the scene, render it once with the normal camera location and then render it again offsetting the camera location. (I’m using the forward rendering pipeline)

Does anyone have a solution for this? or maybe a different approach to the problem? Thanks in advance.