Summary
The Fab Blender plugin (v0.2.15) that the Epic Games Launcher attempts to install
automatically does not work on Blender 4.0 through 5.0. There are two categories of
issues: packaging errors and deprecated/removed Blender APIs.
Environment
- OS: Windows 10
- Blender version: 5.0
- Fab plugin version: 0.2.15
- Epic Games Launcher: Latest
Steps to Reproduce
- Open Epic Games Launcher
- Attempt to export/send a Fab asset to Blender 5.0
- The plugin auto-install fails silently
- Attempting to manually install the zip in Blender gives the error:
“ZIP packaged incorrectly; init.py should be in a directory, not at top-level”
Issue 1: ZIP Packaging Error
The addon zip has init.py at the root level instead of inside a subdirectory.
Blender requires addon zips to contain a folder with init.py inside it:
Wrong (current):
init.py
fabplugins/
Correct:
fab/
init.py
fab/fabplugins/
Issue 2: 10 Broken APIs (Blender 4.0+ Incompatibility)
Even after fixing the zip structure, the plugin crashes due to APIs that were
removed in Blender 4.0:
- ShaderNodeSeparateRGB → removed, replaced by ShaderNodeSeparateColor
- ShaderNodeCombineRGB → removed, replaced by ShaderNodeCombineColor
- ShaderNodeMixRGB → removed, replaced by ShaderNodeMix (with data_type=‘RGBA’)
- Named outputs “R”, “G”, “B” → renamed to “Red”, “Green”, “Blue”
- node_principled.distribution property → removed in Principled BSDF rewrite
- node_principled.subsurface_method property → removed (always random walk now)
- material.blend_method = ‘HASHED’ → removed in EEVEE-Next
- bpy.ops.import_scene.obj → removed, only bpy.ops.wm.obj_import remains
- thread.getName() → deprecated in Python 3.10, removed in Python 3.12+
- Folder name “blender_v0.2.15” contains dots → invalid Python module name
Suggested Fix
I have a working patched version (0.3.0) that maintains backward compatibility
with Blender 3.6 while supporting Blender 4.0 through 5.0. The approach uses:
- A version flag: IS_BLENDER_4 = bpy.app.version >= (4, 0, 0)
- Conditional node type constants for the renamed shader nodes
- try/except wrappers for removed properties
- Index-based socket access instead of named access where names changed
- Version-conditional OBJ import path
Ive share the patched files if helpful to the team.
Expected Behavior
The Fab plugin should install and work correctly on Blender 4.0 - 5.0, allowing
one-click asset imports from the Epic Games Launcher.