Prefab mesh renders OK in one part of the game, all wrong in another

The prefab contains a sphere, collider and mesh renderer, default material. Pretty simple really.
It is instantiated in a UI popup and looks fine. Same prefab in the body of the game shows a random pattern, as shown.


Why? I’m all out of ideas.

It looks like Z-fighting… there must be some difference.

Look at each prefab in each location and make sure it has no overrides, or apply them all on the one you want the other to be like.

This is basic prefab-used-in-scene Unity workflow.

You’d think so, but I can’t see one. The prefab is instantiated in code, so no overrides. They gameobject trees look identical in the editor.
If it was Z-fighting there would be some other rendered object to fight, but there is none. I can switch off everything else in the editor so this sphere with the weird surface is isolated. No change.

I’m more inclined to think it’s a material problem, because the material that should be visible isn’t. But I’ve no idea what.

Yes, basic, done it many times before but never seen it do this.

Is this parented to another object after it is instantiated? Do one of them have bad scaling / rotation?

Try also pressing pause and deleting everything ELSE in the scene. Does the issue persist?

Does this scene have a funny camera with a really really really distant farclip? That aggravates z-fighting for sure…

No funny camera and deleting other stuff has no effect but yes, it is reparented.

Best idea I can come up with is it’s in a stack of objects (think chess piece on a tile on a square on a board) and the stack is the problem for the renderer(s). Which gives me something I can experiment with.