Metadata lost on editable children when reimported from Blender

Godot Version

4.3

Question

Hey folks,

Here’s the issue. I instantiated a scene from blender directly and mark the children editable. Then added a material override and a metadata for a child. However, whenever the scene is re-imported after blender file got edited, the metadata got lost (but the material override is fine).

Is there any setting I missed? If it is by design, any advice how I can add a customized flag for an imported child? I think creating a new scene by inherited the blender file first may be a workaround but I’m a bit hesitant to have too many scene files with similiar names.

Thanks!

It’s by design.

Why are you using metadata for this? I’d recommend using an exported boolean.

class_name Glass extends MeshInstance3D

@export var ignore_outline: bool = true

Problem solved. On the Import tab, make the Root Node a Glass node and it won’t overwrite anything on the next import.

Where is the Root Node? There’re only Root Type/Root Name/Root Scale…

But I think your suggestion on script looks great. My case is that when loading scenes, I need to add a special shader material which adds an outline to all MeshInstance3D except something like glass. I had thought adding a script is an overkill as all I need is just a flag. But now I realize it’s not a bad idea, and it works in re-import! Thanks!

1 Like

On the regular import it’s the first field Root Type.

In the advanced import it’s the first field in the upper right-hand corner: Root Type.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.