Surface Gui projecting camera

I have been looking into this topic quite a lot and can’t seem to find the answer so I’m not sure if it’s possible.

I am trying to have a screen that has a surface GUI project live footage from another point on the map using a part that acts like a camera.

I don’t think viewport frames can do this as it has to be live.

Could someone please help, it would mean a lot.

You can change the Camera CFrame

requires a localscript

local CurrentCamera = workspace.CurrentCamera
local ts = game:GetService("TweenService")

function centralize(new,tweentime)
local tinfo = TweenInfo.New(tweentime)
local props = {CFrame = new.CFrame}
CurrentCamera.CameraType = Enum.CameraType.Scripteable
ts:Create(CurrentCamera,tinfo,props):Play()
end

function resetcamera()
CurrentCamera.CameraType = Enum.CameraType.Custom
end

And this can be displayed on a Surface Gui?

yes but you need a localscript involved

Unfortunately, the only real way to do this is with ViewportFrames.

Yeah but then it can’t be live, or if you do. You would have to duplicate like the whole workspace.

I already read what it said lol and what I wanted was to project on a surface, not on a screengui

what you can do is that the surfacegui is in the startergui and set it to decorate an object

Im still confused on what to do with the local script you sent.

I read it wrong and I thought you wanted a system to spectate
but the code still works, you just need to change the code a bit