Releases: kyleyoungblom/BlenderTools
Release list
send2ue v2.6.7 - Combined Mesh Collision Fix
What's Fixed
This release fixes three bugs in send2ue/core/io/fbx_b4.py that cause incorrect transforms when exporting combined child meshes with collision primitives to Unreal Engine.
Bug 1: Dead-code 'Ellipsis' type check
The EMPTY branch checked ob_obj.type == 'Ellipsis' which never matches any Blender object type ('Ellipsis' is Python's name for the ... literal). EMPTY objects used as the root of combined mesh exports were never handled, so their location was never zeroed for use_object_origin.
Fix: Changed to ob_obj.type == 'EMPTY' and zero the location when use_object_origin is enabled.
Bug 2: Visual mesh transforms overridden incorrectly
For combined mesh exports, the original code replaced loc with (world_pos - empty_pos) * SCALE_FACTOR, discarding the correct fbx_object_tx local transforms (which already handle axis conversion, parent correction, and bake_space_transform).
Fix: Keep fbx_object_tx values as-is for non-collision meshes. With the EMPTY zeroed, children position correctly using their existing local transforms.
Bug 3: Collision primitives (UBX/UCP/USP/UCX) get wrong transforms
- Scale/Extents 100x too small — Unreal doesn't apply
UnitScaleFactorto collision extents - Rotation in wrong coordinate space —
bake_space_transformwraps rotation incorrectly for unbaked collision vertices - Position breaks hierarchy composition — World-delta approach ignores FBX parent-child hierarchy
Fix: Compute collision local transforms via matrix decomposition against the parent mesh's FBX world matrix, and pre-scale extents by SCALE_FACTOR.
Installation
Download the zip below and install in Blender via Edit > Preferences > Add-ons > Install from Disk.
Upstream PR
These fixes have been submitted to poly-hammer/BlenderTools as PR #188.