Make .glb file node instance an editable inherited scene by default

Godot Version

4.4

Question

Most people are familiar with the dialog of “Please confirm…” when trying to open a node (as a scene) that is made from .glb file.


My question: Why .glb files are still not automatically considered as inherited scenes when initialized into node tree?

I think this dialog is such a pain after prolonged use of Godot and shouldn’t exist. Or am I suppose to make my own importing system? Even if that would be an answer, I think the overall Godot workflow would be better without this dialog.

Please make the .glb an inherited scene by default so I can go on with my life and make a game.


Also please make the .glb inherited scenes editable by default

To make Godot workflow better, I may propose to just letting me modify this inherited scene instead of bringing up even more dialogs and even more instructions with more time waste. An example of trying to toggle animation looping for the obvious preview of animation.


Please save the settings into the inherited scene and let me go on with my life and my game, as that’s what it should be. Something changed in the .glb file? Alright reimport it and apply the changes from my inherited scene. That’s it.

I really do not understand why these meaningless dialog-based workflows persisted for so many years and are left like this. We as users probably never needed these dialogs in Godot.

If the glb file was automatically “inherited” then what would it inherit? This sounds like a misunderstanding of what the system is, and why it uses inherited scene structure.

A glb file is a asset that Godot did not make, it represents a scene with model, texture, animation, and even lighting data. Godot is not built to change glb files just like it’s not built to change textures/images, but you can use these glb scenes in other scenes, or extend them without changing the original glb. The resources such as animation data from this imorted object are unique too, and should not be changed from their source glb file, though they can often be overriden via the advanced import menu, like animation looping, which produces more settings in the .import file that follows the glb.


If you want to avoid the first dialogue, right click your glb and select “New Inherited Scene”. If you want to avoid the second dialogue, for animation loops specifically, double click the .glb and assign the animation a “Linear” loop mode.

I’m not talking about the filesystem .glb file but the node tree representation when you move it into tree as a node. All I’m suggesting is nothing groundbreaking, but a simple streamlining and making a standard intuitive workflow possible.

I’m not talking about auto-initialization of the .glb files from filesystem to the Node Tree. I’m suggesting removing all these dialogs and allowing to edit the inherited scene before saving it into a file by the way of CTRL + S. Constant dialogs should not be in the way of game engine user while developing a game.


Update: Inherited Scenes can not even be mounted on a new added AnimationTree. Basically you have to rework Inherited Scenes on Godot, there is so much fixing to be done.

Better to not use Inherited Scenes at all, they are incomplete implementation. Functionality not updated and untouched for many years. The good great Godot engine moment.

Inherited scenes should behave as patched/modified versions of reimported glb files. What we have now is static scene that you can visit and sometimes add some new nodes, which is useless. Can’t even subnode inherited AnimationPlayer into a AnimationTree.

If this is how Inherited Scenes are in Godot and left unmaintained in the codebase, you may as well remove it from Godot Engine, all it does is confuses people. You can’t even use Inherited Scenes for modified preview of animations out of the box.


Update: 2025-04-09
I need a godot plugin that would allow to edit inherited scenes, meaning saving changes of the inherited scene, allowing to change everything in the scene, but the inherited nodes should get updated on reimport and saved changes reapplied to the inherited nodes of inherited scene.