This is definitely something interesting that I have never seen before. (Speaking on using frames to render graphics)
The issue you’re seeing most likely has to do with z-index. UI is layered on the 2d plane, the z-index is essentially which layer that UI element is on. So what seems to be happening is all these frames are layering on top of whatever it is you have there. You could potentially fix these issues by changing z-index values at run-time and see if you can maybe fix this?
Keep in mind Roblox was not originally designed to have graphics rendered using UI elements like this, so you’re going to run into a lot more issues and I would recommend getting a deeper understanding of UI elements, how they’re rendered, and how they work.
Yes, that’s what I was leading to but forgot this tidbit. The best way to solve this is to either not use frames to render graphics, or implement your own proximity prompt system