I'm planning on making a portal tool, that a player can spawn, and its visible to all players, including the client who spawned it, and after a certain amount of time, lets say.. 5 seconds or so, the portal vanishes for everyone, but if the client that has spawned it, or anyone else enters the portal, they'll vanish with the portal, but for the client, they can still see it from the inside if that makes sense, feel free to ask any questions if this isn't clear enough, any advice appreciated, thank you in advance.
If you change the part using a local script on the client that's not supposed to see it's side it we be removed for that client only, basicly abusing the FE system.
there are several ways of hiding/unhiding parts and models for a single client (player) for example, parenting objects or creating them inside a players current camera will make it visible to only them, this can be achieved through a local script only, if you want your portal to become invisible to the players inside, you will probably have to move the portal from workspace to inside the players camera, then after a delay or when player exits you can move it back to the workspace, all of this happening inside the client and only visible to one single player. another way is through viewport frames, they would allow all objects placed inside to be shown on top, like xRay, they will always render on top of everything in the world because its in the players gui, simply create a viewportframe inside a gui, and place all your models inside it, choose the viewports current camera to be the players current camera and you're done.
removing already existing objects to be invisible to a single client is just as easy, you simply delete them (or move them to somewhere outside of workspace, for later use) from workspace through a local script, it will become invisible and uninteractable to the single player only. hope this explains it