Blender Godot 4 Pipeline Add-on
Configure colliders, multimesh, scripts and materials directly in Blender using this add-on.
Quote from a Godot developer:
Great Plugin! I was close to going crazy with the default gltf-importer... I especially love the nested collider support and automatic primitive collider generation!
Current Version: 2.5
Release Date: Dec. 22, 2024
This pipeline works in two parts:
- The actual Blender addon (this purchase)
- A matching Godot addon available from the Godot Asset Library. This contains SceneInit.gd and GLTFImporter.gd*
* these GDscript files are also packaged with this addon, in case the Godot Asset Library is down
Godot Version Status:
✅ 4.3.1-stable
✅ 4.2.2-stable
✅ 4.2.1-stable
✅ Godot Asset Library addon in sync
Join the Discord for support and collaboration!
Blender has an incredible number of tools for creating models and textures. Leverage the power of Blender to do almost everything you need to for your 3D scenes in the Godot game engine.
Installing in Blender 4.1 and older
Install the zip file, "godot_pipeline_vXYZ_blender41-.zip" file as an addon in Blender.
Installing in Blender 4.2 and newer
Install the python file, "godot_pipeline_vXYZ_blender42+.py" file as an addon in Blender.
3D Workflow: The Blender Side
- Model your 3D scene in Blender
- Using the Blender to Godot 4 Pipeline Addon, set up collisions, multimesh, custom shaders, materials, NavMeshes and more inside Blender
- Get PBR materials, animations and more into Godot by leveraging the GLTF standard
3D Workflow: The Godot Side
- Install the Godot AssetLib addon, so the path to the importer is static and getting updates is easy
- Set up the default Scene Import path in your project (Project Settings ➡️ Import Defaults ➡️ Scene ➡️ Import Script) to be the GLTFImporter.gd file
- Export the GLTF from blender or save the .blend file
- Drag the GLTF file into your Scene to finish the import process
Check out this sample Godot project on GitHub, including a .blend file.
Version Updates
- v2.5 You can now use the "Preserve Origin" option to create collision shapes without resetting the origin to the center of the object's bounding box. This has pretty huge workflow implications that should help you. I'll have a video up soon on this. One more QOL feature, there's proper addon feedback implemented for collision shapes and the path setter option - as you select different objects in your Blender scene, the properties update appropriately in the addon panel.
- v2.4 Now includes a "Individual Origins" option, which allows you to reset the translation of all objects in the scene to the origin. Additional, a "Individual Packed Resources" option, which allows you to export all objects in the scene as packed resources which get saved as individual scenes in Godot.
- v2.3 Added "Property String" feature, now you can set Godot code directly as a string in Blender (example: collision_layer=2). Added "Packed Scene" feature, so now an object or empty in Blender can act as a "representative" packed scene that gets auto-instantiated upon importing. The packed scene will have the same position, rotation, and scale as the Blender Object. "Auto Bump" feature, so that every time the "Export" button is pressed in the addon, Godot is guaranteed to re-import the file.
- v2.2 .blend file support, Blender material slot-to-Godot-path, "skip object" toggle, improvements to trimesh and simple collision structure, "disable texture exporting" option.
- v2.1 Quality of life update. Provided a "quick access" dropdown for setting paths. It remembers recent paths you've inputted for each path type. Bug fix for script parameter files not working with nav mesh.
- v2.0 Hot reload implemented. One click export from Blender auto-updates scene in Godot. Various bug fixes. Added support for multimesh, physics materials.
- v1.6 Support for navigation meshes.
- v1.5 Major refactor, see video below! Now supports Area3D, discarding mesh, and override the Godot object name.
- v1.4 Add object name suffixes to your exports to simplify exporting multiple objects, other bug fixes.
- v1.3 Multimesh setup, with occlusion culling and dynamic instancing optimizations.
- v1.2 Use a script parameter file to pre-load a node with script parameters.
- v1.0-1.1 Set efficient box, cylinder, trimesh or simple collisions (more collision shapes to come in future updates).
Known Limitations
- You should not use this pipeline for animated skeleton meshes. Godot does not support reparenting animated skeleton meshes (it breaks all the animation links). I have spent a lot of time tinkering with this, and see no good solution at this time.
- Certain parent/child relationships are not always preserved. For instance, if you have a several meshes with collision shapes, but need to be parented to one "body" object in Blender, then the meshes will not be preserved. The workaround is to Shift+D to duplicate all objects, convert them to raw collision shapes, then parent them to the body you want.
- Working with animations and physics bodies is a bit tricky - see this video for more details.
Video Tutorials
Submit Issues
Issues can be submitted to GitHub for the Blender or Godot addons.
A Blender addon which helps import your content into Godot!