How to create an object highlight effect without it always appearing on top?

I’d like to achieve an object highlight effect as shown here, by following what’s been described in this thread.

It’s basically a Neon material object that’s in Workspace, with a ViewportFrame counterpart located in ScreenGui, which is continuously aligned with the current camera.

The problem I’m facing is that the highlighted object is always on top (because ScreenGui renders objects on your screen instead of in the 3D space), which is problematic in my case when objects get in the way.

This is what I’d like to achieve:

This is what happens instead:

I haven’t found any other way of achieving a similar effect while making it look like it’s actually in 3D space. If I try to cover just the part with anything that’s in Workspace, the glow/higlight coming from the Neon part just disappears, which is why using a ScreenGui is the only solution to this that I’m aware of.

I’m clueless as to what else I could try…

1 Like

Set this to false:

Should be under the SurfaceGui element.

It’s using a ScreenGui, not a SurfaceGui.
A SurfaceGui would kill off the Neon material glow.

I haven’t played around with this, but you might be able to achieve that effect by using this CFrame glitch:


It just inverts normals, which doesn’t particularly solve anything for me (that I can see, at least).

oh yee of little creativity

It looks like you have to invert it through a LocalScript.
I might make a module for this later.


Yes, but I don’t just want to create an outline for an object, I want to use the Neon material glow specifically.

If you really want the neon glow, you could achieve the effect by having it offset based on the player’s camera.

How so? Could you elaborate on that?
I’m not quite sure of what you mean.

If this hasnt been solved yet, the part is turned to neon and then a viewport frame is placed ontop of it giving it the outer glow but the center is normal.

I’m having the exact same issue and desperately wish there was a solution to this…