Smash Export — Blender to Unreal Engine 5 Asset Pipeline
Applies to SMASH EXPORT v2.21.1 · Blender 4.2 or later (verified on 5.1) · By SIPPO-STUDIO. The full user manual (English and Japanese, 20 pages each) is included with your purchase.
1. Requirements
| Blender | 4.2 or later (hard requirement). Verified on Blender 5.1 |
| Platform | Windows / macOS / Linux — anywhere Blender runs |
| Packaging | Blender extension (add-on) |
| UI language | English base; Japanese shown automatically when Blender is set to Japanese |
| Dependencies | Atlas baking uses Cycles internally. Baking PaintSystem layers requires the PaintSystem add-on (optional) |
| UE side (optional) | Unreal Engine 5 with the Python Editor Script Plugin enabled |
2. Installation
- In Blender: Edit > Preferences > Add-ons > Install and pick the SMASH EXPORT zip. (If you install it as an extension, use Get Extensions instead.)
- Tick SMASH EXPORT in the add-ons list.
- Press N in the 3D viewport — the panel is in the SMASH_E tab.
Updating: remove or disable the old copy first. Two versions loaded at once will cause problems.
3. Quick start — Blender to UE5 in four steps
- Select — set Workflow at the top of the panel to Assembly Export and select your asset in the viewport. The panel lists exactly what will be exported.
-
Press — click Export Assembly. Each asset gets its own folder containing
SM_.fbx, its textures,_assembly.smash,smash_assemble.py, and an auto-generated README with the import steps. - Drop — drag the whole folder into UE's Content Browser. Change only two import settings: Combine Meshes: off and Transform Vertex to Absolute: off (leave Uniform Scale at 1.0).
-
Assemble — in UE: Tools > Execute Python Script… and pick
smash_assemble.py.BP_is generated and placed at the level origin, fully assembled.
Imported this way, each part becomes its own static mesh and each part's origin — a door's hinge, say — becomes its pivot.
4. Workflow presets
Pick what you are trying to do; the related settings configure themselves and exactly one run button is shown. There is nothing to memorise.
| Preset | Purpose | Run button |
| Assembly Export | Take an asset to UE5 (the core feature) | Export Assembly |
| Atlas Merge | One collection → 1 mesh + 1 atlas texture | Export Atlas |
| Repaint Only | Re-bake only the PNG on identical UVs | Bake Texture Only |
| Substance (Real Scale) | Real-scale (meters) FBX for texturing apps | Export for Substance |
| Custom (no auto setup) | Everything manual | per-section buttons |
5. The panel, item by item
Always visible — Workflow; Output Folder (leave empty and a folder is created next to the .blend); Export Format (FBX Unity / Unreal / Generic, glTF · GLB, OBJ); Naming (UE5 / Unity / Generic / Custom).
Options — Center Origins (default on), Material Override (As Is / Viewport Color / White / No Material), Convert Viewport Colours, Apply Modifiers (your originals are untouched), Include Armatures, Embed Textures, and the glTF format / Preserve Sharp Edges options.
Textures — Export Textures (copies assigned images next to the FBX), Bake PaintSystem, Bake Res (512 / 1024 / 2048 / 4096).
Sections — Object Export (Export All Objects / Export Selected), Atlas Export, Multi-Collection (batch several collections to separate files), Open Export Folder.
Results are reported in Blender's header messages. When something looks off, read that message first.
6. The UE5 pipeline
6-1. What gets written
Locker_A/ SM_Locker_A.fbx one FBX with every part (pivots preserved) T_Locker_A_D.png resolved & copied textures T_Locker_A_N.png Locker_A_assembly.smash assembly data (JSON inside) smash_assemble.py assembly script to run in UE _README_IMPORT.txt import steps (auto-generated) smash_tools.py the SMASH menu (written at the export root) _README_SMASH_MENU.txt menu setup steps (auto-generated)
The custom .smash extension exists so UE ignores the file instead of popping a DataTable import dialog — dragging the whole folder in is safe.
6-2. Assembling — two ways
A. Run the bundled script (zero setup). Tools > Execute Python Script… → smash_assemble.py → BP_ is built and placed at the level origin. The MODE line at the top of the script changes the behaviour: "BOTH" (default — build the Blueprint and place one instance), "BP" (Blueprint asset only, nothing placed), "LEVEL" (place and attach the parts directly in the level, no Blueprint).
B. The resident SMASH menu (recommended). smash_tools.py, generated at your export root with your path baked in, puts a SMASH menu in UE's menu bar listing every exported asset: Assemble: , Assemble ALL, Fix Alpha: Selected / ALL (Masked), Refresh menu. Run it once via Execute Python Script to use it immediately. To make it permanent: Edit > Project Settings > Plugins > Python, add the export root to Additional Paths and smash_tools.py to Startup Scripts. The exact steps with your real paths already filled in are in _README_SMASH_MENU.txt.
After exporting a new asset, run Refresh menu (restarting UE also rescans automatically). If you move the export folder, edit EXPORT_ROOT at the top of smash_tools.py — or simply export again from Blender, which re-bakes the current path.
6-3. About units
Assembly Export is designed around a centimeter setup (Unit Scale = 0.01), matching UE's import behaviour. When the scene's Unit Scale is something else, the panel shows a red warning and running the export brings up a confirmation dialog. It never blocks you — you can press through and export anyway. Atlas export and plain FBX export do not show this warning.
6-4. Automatic alpha fix (Masked)
FBX carries no blend-mode information, so the materials UE auto-creates come out Opaque and transparency silently stops working. SMASH's UE-side tools check this during assembly: if the base-color texture has an alpha channel, the material's Blend Mode is switched to Masked and the alpha output is wired to Opacity Mask. Materials that are already Masked or Translucent are skipped, so the fix is safe to run repeatedly.
7. Atlas export
Collapses one collection into "one mesh + one atlas texture". The process is non-destructive — your scene is left untouched.
- Gather the parts to merge into a single collection.
- Set Workflow to Atlas Merge, or open the Atlas Export section.
- Point Collection at the target (sub-collections are included).
- Choose the atlas resolution with Res (512–8192, default 4096).
- Optionally press Check to review mesh issues and planned exclusions.
- Run Export Atlas.
Bake Texture Only re-bakes only the atlas PNG on exactly the same UV layout as the previous run — no FBX, no mesh, so the FBX already in your engine stays as-is and only the PNG is replaced. It requires one full Export Atlas first: that run records a Keep, a snapshot of the settings. Do not change the resolution or the shapes in between.
Keep Parts Separate (share 1 material) — meshes are not joined; all parts share one material and one atlas texture and export as a single FBX, so parts remain individually movable in UE5. Ideal for assets with moving pieces. Use Existing UVs skips UV recalculation for parts already laid out in a shared UV space. Keep recording and Bake Texture Only are not available in this mode.
Mesh health checks — Pre-Export Check (confirmation dialog when issues are found; on by default), the Check button (diagnoses the target collection and lists planned exclusions such as too-large or hidden objects), Auto Cleanup (merges duplicate vertices and removes degenerate faces on the export copy; your originals are untouched), and Triangulate on Export (eliminates N-gon and non-planar tangent warnings; recommended for UE).
Inherent limits of atlasing
Atlas export repacks UVs — that is the whole point. It follows that any look which depends on the accidental placement of UVs cannot survive it. This is a property of atlasing, not a bug: for atlas-bound assets, unwrap properly and paint colors deliberately, and the look survives intact.
One more limit: transparency is not preserved in atlases, because atlas baking is Emission-based (RGB only). Export transparent parts through the normal path instead.
8. Other export paths
Object export — Export All Objects writes every mesh in the scene to its own file; Export Selected does the same for the selection. With Export Textures on, assigned images are copied alongside. Missing textures never abort the export: the object continues with a NOMATERIAL stand-in and a summary of what was missing is shown at the end.
Multi-Collection export — batch-exports several collections, each to its own file. Add collections to the list with +; only ticked entries are exported. Add All Collections lists every collection in the scene at once.
Substance (real scale) — exports the selected assets as real-scale (meters) FBX for texturing software such as Substance Painter. Linked assets (collection instances) are expanded automatically and export as one FBX in their original relative layout; a single mesh is moved to the origin for export. Output: //_Substance.fbx. This preset runs through its own dedicated export path — nothing in Assembly Export or atlas export is affected.
9. Generated files & naming rules
| Preset | Prefixes | Suffixes |
| UE5 | mesh SM_ / material M_ / texture T_
|
_D _N _ORM _E
|
| Unity |
SM_ M_ T_
|
_BaseColor _Normal _MetallicSmoothness _Emission
|
| Generic | no prefix |
_D _N _ORM _E
|
| Custom | your own prefixes and suffixes, set on the panel | |
Characters unsafe for file names or engine conventions are converted automatically. If sanitising would leave a name empty — a name written entirely in Japanese, for instance — the asset falls back to a unique Object_ name, so several SM_.fbx files can never overwrite each other. Alphanumeric asset names are recommended so things stay recognisable on the engine side.
When UE splits an FBX into parts it names each static mesh _. The assembly scripts understand that pattern and match accordingly, so assembly works even after the rename. UE also auto-creates materials and textures from the texture references inside the FBX — SMASH rewrites those references to the T_ names at export time, so no duplicate textures appear on the UE side.
10. Safety guards
| Guard | Behaviour |
| Object Mode required | Export operations refuse to run outside Object Mode, protecting unsaved edits |
| Non-destructive export | Material swaps, temporary moves and copies are always restored after export |
| Unit-scale confirmation | Assembly Export warns and asks for confirmation when Unit Scale is not 0.01 — you can press through |
| Background-mode block | Atlas export fails loudly when no window is available, instead of silently writing a broken atlas as a "success" |
| Mesh health checks | Faces that would break UE imports are detected before export |
| Missing-texture continuation | Missing textures never abort the run; NOMATERIAL stands in and a summary is shown |
| Temp-data collection | Temporary meshes and images from atlasing are removed by reference, keeping the .blend from bloating |
11. Troubleshooting
| Symptom | Fix |
| No SMASH_E tab | Open the sidebar with N and confirm the add-on is enabled. Also check that no older copy is installed |
| "Save .blend file first!" | Exports need a saved .blend. Save first |
| Asked to switch to Object Mode | You are in Edit Mode or similar. Return to Object Mode and run again |
| Atlas export will not run | Not available in background (no-GUI) sessions. Run it from a normal Blender window |
| Bake Texture Only is greyed out | Run one full Export Atlas first to record a Keep |
| Asset is 1/100 scale in UE | Check that the scene's Unit Scale is 0.01 |
| Asset falls over / wrong orientation in UE | Check that Transform Vertex to Absolute is off at import |
| Parts merge into one mesh in UE | Check that Combine Meshes is off at import |
| Alpha does not work in UE (opaque) | Run SMASH > Fix Alpha; it also runs automatically at assembly |
| Assets missing from the SMASH menu | Run SMASH > Refresh menu. If still missing, check EXPORT_ROOT at the top of smash_tools.py |
| Assemble produces nothing | Import the FBX first. The Output Log warns about any static mesh it cannot find |
| UE import fails | Enable Pre-Export Check / Auto Cleanup / Triangulate on Export and re-export |
| Colors change after atlasing | A UV-coincidence look (see chapter 7). Re-unwrap and paint deliberately |
| Non-ASCII asset names get renamed | They fall back to Object_ automatically. Alphanumeric names are recommended |
12. Glossary
| Atlas | Multiple parts' textures packed into one image. In SMASH: the "1 collection → 1 mesh + 1 texture" export |
| Bake | Writing computed appearance into an image texture. SMASH bakes PaintSystem via Emission |
| Keep | The recorded atlas settings stored on a collection, used by Bake Texture Only to reproduce the exact layout |
| Pivot | The point an object rotates and moves around. SMASH carries each part's origin into UE as its pivot |
| .smash | The assembly-data file. JSON inside; the custom extension avoids UE's import dialogs |
| NOMATERIAL | The stand-in material assigned when textures are missing, so exports never abort |
| TVA | Transform Vertex to Absolute — a UE import setting. Off means UE reads the raw FBX vertex data |
Support
Questions and bug reports are welcome through this product page. Updates are free.
SMASH EXPORT — developed by SIPPO-STUDIO · sippo-studio.netlify.app
Discover more products like this
ue5 gamedev fbx pipeline Game asset Unreal Engine Export blueprint texture-baking Atlas