Are ViewportFrames the only way to project things onto a part?

Hi,

I am currently trying to design a teleport effect where you look into a mirror with a different environment, and then get teleported seamlessly so you are in the environment when you look away. However, I do not want to have to copy and paste entire parts of the map for mirrors every time as that becomes way too complicated, and from what I gather ViewportFrames also do not support proper lighting. Is there any alternative to using ViewportFrames? Putting things behind a glass part isn’t an option as I’d like to have more control over where I can put a mirror instead of locking myself behind a wall. The optimal solution would be to allow a second camera to be projected on to the part, which is what I would presume ViewportFrames are used for, however they seem to lack the most crucial feature of being able to view from the workspace : /

As far as I know, yes, ViewportFrames are the only way to achieve this.

My guess as for the reason for this is because rendering potentially multiple perspectives at once could cause some major performance issues. If you’ve experimented with ViewportFrames before, you know that lighting/shadows are not rendered and some materials are rendered at the lowest quality. This means that even with limited camera perspective, ViewportFrames still have the potential to cause performance issues, so you can only imagine the issues a secondary rendering system might create.

I’d be more than happy to allow the logic for disabling / enabling the ViewportFrames when I need them, but at the current moment there is absolutely zero way for me to do that at all, which is incredibly frustrating. I understand the performance impact but it’d be even worse on performance to have to copy things