EDIT:
I have discovered if the UI is on the “UI” layer it won’t display, not sure why - but setting it to default layer it will now show… this seems a bit odd…
So i got a UI with this setup:
UI (Canvas)¬
Panel¬
TextMesh
This is saved as a prefab. works fine using the prefab in editor window and game window, but if i open the prefab to edit on its own i can’t see any of the UI…
When i do edit it, it does update in the game so its still technically linked, but i just see nothing in the window.
I restarted unity and it continued to do it… any known quick fix for this problem ?
Is the UI layer set to invisible in the Layers dropdown in the upper right corner of the Unity main window?
Ah that’s what it was. Thank you 
To be honest if the root of the prefab is a UI rect transform (or all of the prefab’s GOs are UI rect transforms) it should ignore this layer filter as i can’t see a reason ever this would be useful when the entire prefab is UI elements.
Or perhaps unity should show a text warning next to the “auto save” mentioning some elements are hidden due to the layer visibility menu.
Also its a bit fiddly, as i want it invisible generally, but not in prefab viewer so i have to keep turning on and off all the time…i think prefab viewer could do with its own invisible layer flags when editing them.