Imported Sockets inconsistency

We wanted to try the socket import to Unreal. Especially since we want to use them also in Motion Builder therefore we wouldn’t want to have them only added in the Unreal uasset which might have issues exporting into something digestible for Motion Builder (or to put it simply, we would want to use pipeline: Blender -> Unreal / MoBu instead of Blender -> Unreal -> MoBu -> Unreal, I think that is reasonable enough).

Now our problem stands here: We create basic geometry in Blender and add there sockets (In the pictures below I exaggerated socket’s axis so you can see how they are “rotated”).

[Image Removed]

We export FBX and import it to Unreal. For some reason the socket’s get rotated by 90° around the Y axis.

[Image Removed]

Note that the geometry is not rotated by 90 degrees, only the sockets.

I checked if this is also issue in MotionBuilder so I could do some pre-process of the data in Blender, but no:

[Image Removed]

They might not be completely the same orientation since Motion Builder has completely different coord system and MoBu has some pre-rotations and post-rotations which I do not understand fully since it is not my job to work with MoBu. But it seems it is okay and relatively correctly oriented.

Is this a bug in code or issue with the data being fed to Unreal?

Thanks for any and all answers.

PS: I decided to try and resurrect this completely dead community post before writing here.

Steps to Reproduce
Define socket in Blender as an Empty object with socket_xxx name.

Export FBX.

Import it to unreal.

Observe.

Hi,

I created a bug report for this issue that can be tracked here if/when it’s approved for public visibility: https://issues.unrealengine.com/issue/UE-320638. There is no ETA as priorities for bugs and features can shift at any time.

In the meantime there are two workarounds:

1.) Blender adjusting the rotation affected to 90 and setting the scale to be .01 - according to this discussion https://forums.unrealengine.com/t/unreals-socket-import-for-fbx-files-is-broken-workaround/2303521

2.) In Unreal, in the static mesh editor go to Socket Manager, click on the socket and reset relative orientation and scale

Regards

Hi, maybe the bug report won’t be necessary, it seems we were able to fix this issue, the export from blender had a small bug in the parameters, but the MotionBuilder part was what confused me the most. (Sorry that I did not post it sooner, but we fixed it yesterday and I forgot to write here).

Now they seem to be oriented properly everywhere, we are still facing some issues but it is mostly with the conventions and workflow.

If anything pops up about this issue again I will post here.

Would you be able to share the export settings / what parameters that fixed it for you?

On my end exporting from Blender 4.5.2 with the default settings / editing Transform Forward and Up still left the socket a oriented 90 degrees and scaled to 100. (I used an Empty Plain / Empty Arrow renamed to Socket_xxx)

Thank you for the update!

We were using forward=X, up=Z because everywhere I would see that the X is forward vector in Unreal (allegedly it is the forward vector, but in animation system the forward vector is Y and apparently this caused the problem, or at least for me it is the main culprit).

But changing it to Y it fixed the socket orientations.