Hey guys I’ve recently been looking at Godot since Unity has set itself on fire. I’m liking it so far but I’ve run into a small issue that disrupts my usual workflow. I like to store multiple meshes as separate objects in a single .blend file for meshes that are very related to each other like pieces of a build kit. I was able to split the meshes into separate scenes by opening the .blend scene, right clicking and allowing children to be editable, then exporting each branch to a new scene. This works as expected with one problem. The exported branches don’t update their mesh when I save changes to the blend file. Is there a fix for this?
If not I can always split the blend into multiple files. Its just less convenient. Perhaps exporting to colladae would work too? I didn’t try that yet but ideally I would like to keep using blend files only to avoid exporting every time I make a change.
When you export each section as a new scene, you’re saving it as it’s own individual object, no longer connected to the .blend file.
There is are two work arounds, both are a bit cumbersome
-
You can keep the .blend file saved in a scene, click the mesh node, copy the value, then paste the value onto the instantiated/local mesh node. This doesn’t update each file automatically, but it’s easy enough to keep everything stored locally and move things around as necessary.
-
Use the Linked library addon in Blender to be able to have a main blender file, but you’ll still need to save each individual object as a .blend and import it into Godot. The benefit of this is that you can edit the files rather quickly, without needing to manually open each file. It’s an Addon that needs to be enabled, then you need to go to file>Link>collections and add your objects from there. The only real benefit of this, again, is having one .blend file you focus on in blender.
I use a mix of both depending on what I’m doing but predominantly use method 2. This updates each object automatically in Godot
You can also write a tool script to automatically replace the mesh when it’s updated, I haven’t done this but it’s technically possible