How to Use a ViewPortFrame in a Frame while keeping the Frame in workspace

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    I want to create a display on a part using a surfaceGui.
  2. What is the issue? Include screenshots / videos if possible!
    I wanted a viewportframe in the surfacegui but i can’t because they don’t work anywhere else but StarterGui which is very fustrating.
  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I’ve looked it up but nobody has had my problem. I don’t know any solutions because the surfacegui can’t go in startergui because the stuff in it is server sided for a reason.

I looked at this too. I can’t find the solution.


yeah, I gave up and scrapped the 3D idea.

They do work on surface Guis! You just have to use it correctly… I see this mistake all the time.


Put the surface Gui inside StarterGui (confusing ikr… It will make sense later), and anything else such as Image labels etc. Use a local script when managing the Viewport frame (if you need connect remote events for server to client calls)

Then, to make it work. Change the Adornee Property on the Surface Gui to the part you want to display it on! Then boom, you have your Viewport frame on a part.

Even though you gave up the idea, hopefully this can help you in a future and can also help @xRainbowFusionx . Lmk if you have questions, but this worked for me

Cameras and stuff are all locally handled and viewport frames need a camera, but by putting it in workspace it’s server handled… So It needs to be in StarterGui and handled by the local client. So thats why this Adornee work around works instead of what you had.


Nevermind that. I figured it out. I’ll even help you out.

This will help you out.

You’ll also need this plugin. It is important.
plugin.rbxmx (138.8 KB)