FabStore / BlendFactoryPro

BlendFactoryPro - Revolutionary Blender ↔ Unreal Engine 4 Integration

BlendFactoryPro diagram
BlendFactoryPro — architecture & feature overview

Remove the "export → import → tweak → re-export" cycle forever.

BlendFactoryPro is a powerful UE4 plugin that enables seamless, bidirectional integration between Blender and Unreal Engine 4. Import .blend files directly into UE4 with automatic material translation, live sync, and intelligent reimport workflows.


Features

Phase 1 - Core Features (Implemented)

✅ 1. Direct .blend File Import

✅ 2. Intelligent Material Translation

✅ 3. Selective Reimport

✅ 4. Live Sync Mode

✅ 5. Headless Blender Integration

✅ 6. Blender Python Bridge


Installation

1. Plugin Installation

  1. Copy BlendFactorypro folder to: <YourProject>/Plugins/
  2. Restart Unreal Editor
  3. Enable plugin: Edit > Plugins > BlendFactoryPro

2. Blender Setup

Install Blender (tested with 3.3+, 4.0+):

The plugin auto-detects common paths. For custom installations:

  1. Go to Edit > Project Settings > Plugins > BlendFactoryPro
  2. Set Blender Executable Path

Usage

Basic Import

  1. Drag & Drop a .blend file into the Content Browser
  2. OR -
  3. Right-click in Content Browser → Import Asset → Select .blend file

The plugin will:

Live Sync Workflow

Enable Live Sync:

  1. Edit > Project Settings > Plugins > BlendFactoryPro
  2. Check Enable Live Sync
  3. (Optional) Check Auto Viewport Refresh

Workflow:

  1. Import a .blend file into UE4
  2. Edit the file in Blender
  3. Save in Blender (Ctrl+S)
  4. UE4 auto-reimports instantly

Perfect for:

Selective Reimport

Right-click on imported asset in Content Browser → Blend File Reimport → Choose:


Configuration

Project Settings

Edit > Project Settings > Plugins > BlendFactoryPro

SettingDescriptionDefault
Blender Executable PathPath to blender.exe / BlenderAuto-detected
Enable Live SyncAuto-reimport on file savefalse
Auto Viewport RefreshRefresh viewport after reimporttrue
Material PrefixPrefix for material names (e.g., "M_")M_
Material SuffixSuffix for material names(empty)
Import MaterialsImport materials by defaulttrue
Import AnimationsImport animations by defaulttrue
Use Headless BlenderRun Blender in backgroundtrue
Script TimeoutMax time for Blender scripts (seconds)60
Verbose LoggingEnable detailed logsfalse

How It Works

1. Import Pipeline

.blend file → Blender Python Bridge → JSON Data → UE4 Factory → Assets

Steps:

  1. User imports .blend file
  2. Plugin launches Blender in headless mode
  3. Executes Python script to extract data (vertices, materials, etc.)
  4. Python script outputs structured JSON
  5. Plugin parses JSON and builds UE4 assets
  6. Materials are translated from Principled BSDF to PBR
  7. Textures are imported and linked

2. Material Translation

Blender Principled BSDF → UE4 PBR Material

Blender PropertyUE4 ParameterNotes
Base ColorBaseColorDirect RGBA mapping
MetallicMetallic0.0 - 1.0 range
RoughnessRoughness0.0 - 1.0 range
EmissionEmissiveColorRGB values
Normal (Texture)NormalTextureAuto-detected by name

Texture Auto-Detection:

3. Live Sync Architecture

File Watcher Thread → Detects .blend Save → Triggers Reimport (Game Thread) → Viewport Refresh

Roadmap

Phase 2 - Power Features (Planned)

Phase 3 - Advanced (Planned)

Phase 4 - Polish (Planned)


Troubleshooting

Issue: "Blender executable not found"

Solution:

  1. Go to Project Settings > Plugins > BlendFactoryPro
  2. Set Blender Executable Path manually
  3. Verify path exists and points to blender.exe (Windows) or Blender (Mac/Linux)

Issue: Live Sync not working

Solution:

  1. Ensure Enable Live Sync is checked in settings
  2. Import asset at least once first
  3. Verify .blend file path hasn't changed
  4. Check logs for file watcher errors (Window > Developer Tools > Output Log)

Issue: Materials not importing

Solution:

  1. Ensure materials use Principled BSDF shader in Blender
  2. Check that Import Materials is enabled in settings
  3. Verify textures paths are accessible (absolute or relative to .blend file)
  4. Enable Verbose Logging for detailed material parsing info

Issue: Script timeout errors

Solution:

  1. Increase Script Timeout in settings (default: 60 seconds)
  2. Complex .blend files may need 120+ seconds
  3. Simplify Blender scene (remove unused objects/materials)

Requirements


Technical Details

Architecture

Modules:

Data Flow:

.blend file
    ↓
FBlenderPythonBridge::ExtractMeshData()
    ↓
Blender (headless) executes Python script
    ↓
JSON output (vertices, normals, UVs, faces)
    ↓
FBlendFileFactory::ImportStaticMesh()
    ↓
UStaticMesh created
    ↓
FBlenderMaterialTranslator::TranslateMaterials()
    ↓
UMaterialInstanceConstant created

Python Scripts

Mesh Extraction (GenerateMeshExtractionScript()):

Material Extraction (GenerateMaterialExtractionScript()):

Animation Extraction (GenerateAnimationExtractionScript()):


Performance


License

Copyright Epic Games, Inc. All Rights Reserved.


Credits

Created by: Alpha xp Support: https://support.alphaxp.me


Contributing

Feature requests and bug reports welcome:

  1. Check existing issues
  2. Provide .blend file sample if possible
  3. Include UE4 logs (Window > Developer Tools > Output Log)

Changelog

v1.0.0 (Current)


BlendFactoryPro - Because 3D artists deserve better workflows. 🚀