As a Roblox developer, it is currently impossible to store Camera instances for use when dynamically instantiating ViewportFrame contents.
Currently, Cameras are not replicated to clients, even if stored in ReplicatedStorage. However, they do exist on the server.
My use case is storing display models and their thumbnail cameras for quickly creating 3D icons in my character selection UI. I want to be able to simply copy the camera in Workspace once I’ve positioned it, but I can’t do this because the Camera instance I associate with the display model is not replicated. Instead, I need to store a Camera CFrame which is significantly more annoying to get when working, requiring I use the command bar to get/set a CFrame value, and manually create the Camera instance myself rather than simply using one that already exists.
Cameras should replicate to clients when stored in storage services.
Otherwise, maybe a separate Camera class should be created for ViewportFrames that does replicate.
If Roblox is able to address this issue I wouldn’t have to use annoying workarounds.