+1 vote

I've tried creating a reusable 'Label3D' scene for a project which follows the viewport -> control -> label and sprite3d system, with the viewport texture set to local to scene, for displaying controls in 3D. If I instantiate this scene in another scene, for example 'Unit', it appears correctly and I make 'make editable' the Label3D scene to alter the root Label node how I want and it works all fine.

As soon as I instantiate this nested Unit scene inside another scene though, like for an actual level, the Label3D appears blank. If I make it editable and 'reset' the texture field on the doubly nested Sprite3D then the edited Unit version of the label appears. However if I then edit the Label in that instantiated Unit made editable it does not affect the output render which continues to output the original Unit label. This is entirely breaking of the functionality I'm going for for obvious reasons. This can also be seen (but with a black MeshInstance instead of an invisible Sprite3D) in the GUI in 3D example project too, if you instantiate the guiin3d.tscn inside another scene you create.

The way to make Controls render in 3D is already a little roundabout and annoying, but the fact it seems to break like this is a deal breaker. Is there any way to fix this?

Godot version 3.4 stable mono
in Engine by (23 points)

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.