# Reforge - Defold Scene Exporter (Blender Add-on)

**URL:** <https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254>\
**Category:** The Defoldmine\
**Created:** [January 20, 2026, 1:56pm UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254 "2026-01-20T13:56:27Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alexander\_Bulatov](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alexander_bulatov/32/27139_2.png) [@Alexander\_Bulatov](https://forum.defold.com/u/Alexander_Bulatov)\
**Post date:** [January 20, 2026, 1:56pm UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254/1 "2026-01-20T13:56:28Z")

</div>

![cover](https://forum-defold-uploads.b-cdn.net/original/3X/9/f/9faed12789ddebfb46af88ceb369ae1767532684.jpeg)

Reforge is a Blender add-on for exporting scenes into Defold projects.

It converts Blender mesh objects into Defold-ready assets:

- .glb meshes
- .model files with multi-material support
- .go prefabs (never overwritten)
- .collection scenes with grouped instances

Reforge supports optional convex collision export, texture copying into the Defold project, and safe cleanup of exporter-specific custom properties.

Designed for clean and repeatable Blender → Defold pipelines.

> **[GitHub - ufgo/reforge](https://github.com/ufgo/reforge)**
>
> Contribute to ufgo/reforge development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![Asatte](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/asatte/32/39093_2.png) [@Asatte](https://forum.defold.com/u/Asatte)\
**Post date:** [January 20, 2026, 2:04pm UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254/2 "2026-01-20T14:04:05Z")

</div>

Just what I needed! Thank you 🙂

I was working on a tutorial on model import when it is done and after getting familiar with the add-on a little, I will make a tutorial on this add-on too

---

<div class="post-metadata">

**Author:** ![Alexander\_Bulatov](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alexander_bulatov/32/27139_2.png) [@Alexander\_Bulatov](https://forum.defold.com/u/Alexander_Bulatov)\
**Post date:** [January 20, 2026, 6:32pm UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254/3 "2026-01-20T18:32:01Z")

</div>

added baking support

---

<div class="post-metadata">

**Author:** ![Pawel](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/pawel/32/24623_2.png) [@Pawel](https://forum.defold.com/u/Pawel)\
**Post date:** [January 20, 2026, 6:51pm UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254/4 "2026-01-20T18:51:57Z")

</div>

This might be very useful for a ton of developers! Thank you very much for creating it and sharing!

---

<div class="post-metadata">

**Author:** ![Alexander\_Bulatov](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alexander_bulatov/32/27139_2.png) [@Alexander\_Bulatov](https://forum.defold.com/u/Alexander_Bulatov)\
**Post date:** [January 25, 2026, 2:27pm UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254/5 "2026-01-25T14:27:57Z")

</div>

**Reforge is now officially available via Blender Extensions.**

 ![image](https://forum-defold-uploads.b-cdn.net/original/3X/0/3/0379b443dbf4815c03ba4d01d97b7e0ce6268a29.jpeg)

The add-on can be installed directly from Blender without manual downloads.

Just open **Edit → Preferences → Extensions** , search for **Reforge** , and install it with one click.

No more ZIP files — updates are handled automatically through Blender.

> **[Reforge](https://extensions.blender.org/add-ons/reforge/)**
>
> Reforge Blender scenes into Defold assets

---

<div class="post-metadata">

**Author:** ![Asatte](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/asatte/32/39093_2.png) [@Asatte](https://forum.defold.com/u/Asatte)\
**Post date:** [January 25, 2026, 8:04pm UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254/6 "2026-01-25T20:04:05Z")

</div>

It is working great! This has all the hierarchical model import features I have been waiting for. You’re great 🙂

---

<div class="post-metadata">

**Author:** ![Asatte](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/asatte/32/39093_2.png) [@Asatte](https://forum.defold.com/u/Asatte)\
**Post date:** [January 26, 2026, 4:35pm UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254/7 "2026-01-26T16:35:16Z")

</div>

One suggestion I can make is saving the solid colors as textures too when exporting them. Currently, when I export a scene, if a mesh has a solid color as texture, its texture is not exported.

Here is a script I use to export solid colors as 1 pixel texture image which may help:

```lua
import bpy
import os
import shutil

# Set your export directory here
export_dir = r"C:\YourExportDirectory" # Change this to your desired path
os.makedirs(export_dir, exist_ok=True)

def save_color_texture(color, name, export_dir):
    # Create a new image
    img = bpy.data.images.new(name=name+"_color", width=1, height=1)
    # Set pixel color
    img.pixels = [color[0], color[1], color[2], color[3]]
    filepath = os.path.join(export_dir, f"{name}_color.png")
    img.filepath_raw = filepath
    img.file_format = 'PNG'
    img.save()
    print(f"Saved flat color texture: {filepath}")
    bpy.data.images.remove(img)

# Iterate over selected objects
for obj in bpy.context.selected_objects:
    if obj.type == 'MESH':
        for mat_slot in obj.material_slots:
            mat = mat_slot.material
            if mat and mat.use_nodes:
                has_texture = False
                for node in mat.node_tree.nodes:
                    if node.type == 'TEX_IMAGE' and node.image:
                        has_texture = True
                        image = node.image
                        filepath = bpy.path.abspath(image.filepath)
                        if os.path.exists(filepath):
                            dest_path = os.path.join(export_dir, os.path.basename(filepath))
                            shutil.copy(filepath, dest_path)
                            print(f"Exported: {dest_path}")
                        else:
                            dest_path = os.path.join(export_dir, image.name + ".png")
                            image.save_render(dest_path)
                            print(f"Saved packed image: {dest_path}")
                if not has_texture:
                    for node in mat.node_tree.nodes:
                        if node.type == 'BSDF_PRINCIPLED':
                            base_color = node.inputs['Base Color'].default_value
                            save_color_texture(base_color, mat.name, export_dir)

print("Texture export complete.")

```

---

<div class="post-metadata">

**Author:** ![Asatte](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/asatte/32/39093_2.png) [@Asatte](https://forum.defold.com/u/Asatte)\
**Post date:** [January 27, 2026, 10:55am UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254/8 "2026-01-27T10:55:49Z")

</div>

Shared a tutorial on it 🙂[REFORGE tutorial](https://youtu.be/HVq4UCyJ1IA) with credits of course

---

<div class="post-metadata">

**Author:** ![Alexander\_Bulatov](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alexander_bulatov/32/27139_2.png) [@Alexander\_Bulatov](https://forum.defold.com/u/Alexander_Bulatov)\
**Post date:** [January 27, 2026, 2:06pm UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254/9 "2026-01-27T14:06:18Z")

</div>

You can use this option in Blender for bake textures:

 ![image](https://forum-defold-uploads.b-cdn.net/original/3X/c/b/cbec761087f8ea840f4e98ce569e4e59c7ff78db.png)

or here:

 ![image](https://forum-defold-uploads.b-cdn.net/original/3X/e/7/e72aec8c456a63595ffb2fe3f02b6cb0b252da01.png)

---

<div class="post-metadata">

**Author:** ![Alexander\_Bulatov](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alexander_bulatov/32/27139_2.png) [@Alexander\_Bulatov](https://forum.defold.com/u/Alexander_Bulatov)\
**Post date:** [January 27, 2026, 2:13pm UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254/10 "2026-01-27T14:13:12Z")

</div>

![image](https://forum-defold-uploads.b-cdn.net/original/3X/7/c/7cb47851bc7b31d45b36f6b46fc15cdf0848e04f.png)

---

<div class="post-metadata">

**Author:** ![Asatte](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/asatte/32/39093_2.png) [@Asatte](https://forum.defold.com/u/Asatte)\
**Post date:** [January 27, 2026, 4:06pm UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254/11 "2026-01-27T16:06:25Z")

</div>

Oh, it’s my bad then. Thank you for the answer. I’ll leave a link to this thread so people can see the intended way of using it 🙂

---

<div class="post-metadata">

**Author:** ![Alexander\_Bulatov](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alexander_bulatov/32/27139_2.png) [@Alexander\_Bulatov](https://forum.defold.com/u/Alexander_Bulatov)\
**Post date:** [October 10, 2026, 11:07am UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254/12 "2026-10-10T11:07:59Z")

</div>

![cover](https://forum-defold-uploads.b-cdn.net/original/3X/2/6/26d1622d7f13e776b425fa274b5cdaae405fd56c.jpeg)

Hi everyone! 👋

I’m excited to share a major update to **Reforge (v0.6.0)** — an open-source Blender add-on & extension designed to streamline exporting 3D scenes, prototypes, materials, and collisions directly into your Defold projects.

Since the initial release, the tool has evolved significantly to solve real-world 3D pipeline headaches in Defold. Here is a breakdown of what’s new in **v0.6.0** :

* * *

### 🌟 Key Highlights in v0.6.0

#### 1. 💡 Native Support for Defold Illumination & Multi-Sampler Models

If you use Astrochili’s popular [Defold Illumination](https://github.com/astrochili/defold-illumination) forward-shading library, you know the pain of configuring 5 texture samplers per model by hand (and remembering to plug `/illumination/textures/empty.png` into every unused slot so the shader doesn’t crash).

Reforge now automates this completely! When your material points to `/illumination/materials/model.material`:

- **`DIFFUSE_TEXTURE`** : automatically mapped from Principled BSDF Base Color (or baked albedo).
- **`DATA_TEXTURE`** : automatically points to `/illumination/textures/data.png`.
- **`LIGHT_TEXTURE`** : extracted from Emission socket (or `/empty.png`).
- **`SPECULAR_TEXTURE`** : extracted from Specular / Roughness (or `/empty.png`).
- **`NORMAL_TEXTURE`** : extracted from Normal (with automatic traversal through `Normal Map` nodes to locate the source image!).
- All unlinked slots are automatically safely filled with `/illumination/textures/empty.png`.

#### 2. 🎨 In-Engine Color Texture Baking (Cycles EMIT)

Blender’s standard glTF exporter cannot export procedural textures, color ramps, vertex colors, or layered paint graphs like **Ucupaint**.  
Reforge now includes an automated background baking pipeline:

- Bakes pure albedo via an unlit Cycles Emission pass (no lighting/shadow artifacts).
- Automatically isolates material slots to prevent Blender’s _“No active image found”_ errors.
- **Solid Color Fallback** : If a mesh doesn’t have UV unwrapping but uses a solid color, Reforge outputs a clean, lightweight 1×1 PNG instead of failing.
- Configurable per material (enable/disable, custom resolution 512–4096, and padding margin) directly in Blender’s Material tab.

#### 3. 🔄 Non-Destructive Scene Re-exports

Previously, re-exporting a `.collection` would wipe out your manual changes in Defold. Reforge now parses the existing collection and safely preserves:

- Instance **`component_properties`** (script properties, uniforms, tints set in the Defold Editor).
- Custom **`embedded_instances`** (lights, cameras, custom GOs, scripts added inside Defold).
- Referenced **`collection_instances`** (sub-collections).
- `scale_along_z` collection setting.

#### 4. 📁 Sub-Collections & Group Pivots (`defold_group` & `group_center`)

- Tag objects with `defold_group = "name"` to organize instances under named embedded groups in Defold (`root -> <group_name> -> instances`).
- Mark any object as `group_center = True` to act as the group’s pivot. The group in Defold receives the world transform of the center object, and all child instances are exported with local relative coordinates!

#### 5. 🎯 Duplicate Name Detection (`detect_duplicates`)

Duplicating objects in Blender creates names like `Rock.001`, `Rock.002`. With duplicate detection enabled, Reforge automatically maps them to the base prototype (`Rock`), exporting **a single `.glb` / `.model` / `.go`** while placing each instance with its unique transform in the `.collection`. This drastically cuts build size and disk space!

#### 6. 🛠 Transform Fixes & Blender 4.2+ Extensions

- **Origin Snap** : Prototype objects are temporarily snapped to world `(0, 0, 0)` during `.glb` export, eliminating double-transformation offsets in Defold instances.
- **Blender 4.2+ Ready** : Packaged as a native Blender Extension (`blender_manifest.toml`) with one-click installation and automatic updates via Blender’s extension repository.

---

<div class="post-metadata">

**Author:** ![Alexander\_Bulatov](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alexander_bulatov/32/27139_2.png) [@Alexander\_Bulatov](https://forum.defold.com/u/Alexander_Bulatov)\
**Post date:** [October 15, 2026, 12:19pm UTC](https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254/13 "2026-10-15T12:19:17Z")

</div>

[![](https://img.youtube.com/vi/ttCCyDJfrhc/maxresdefault.jpg "Как использовать Reforge? Из Blender в Defold") ](https://www.youtube.com/watch?v=ttCCyDJfrhc)
