In Godot, when you're playing around with subviewports you may end up with a situation like this:

A 3D subviewport isn't working!

The model is black, but its fine in the editor. Maybe you toggled the Transparent Background (Transparent BG) check box and it 'worked', but now you have a background you don't want. Boo.

Well the answer in the end was simple. TLDR you need a World Environment node.


So what's happening here?
Well if you're like me and following good Godot principles, you're working on a UI, and its fully separate from the game. Nice and modular, and most notably NOT in a scene that otherwise has a world environment. So no light, no nothing. The model is dark and unknowable.

But move that UI scene into your regular 3D environment (which has a world environment node), or give it its own world 3D to work with, and you're golden. Nice and simple, but since not everyone is working as modular as you or I, not everyone experiences the problem the same way.

Hopefully this can save someone the NUMEROUS house I spent trying to fix this.