Sketchup to Unreal appears to be broken

Hi Speckle Team,

I’m trying to use a workflow that takes a SketchUp model and loads it in Unreal. Unfortunately, something seems broken with the Unreal Connector…

It appears to have two bugs:

  1. Block Instances are not loading the instance transform so every group or block is loaded at 0,0,0.
  2. Materials also seem to be not loaded if they are applied at the instance level.

I have tried in Sketchup 2023 and 2024 and I’ve also trying in Unreal 5.3 and 5.4.

I’m using the SketchUp Connector 2.20.0 and the Unreal Connector 2.19.0

Here’s an image of what the 3D warehouse model used in Speckle’s Unreal Tutorial on YouTube looks like:

And here’s what the same model looks like in the viewer:

Thanks in advance for any help.

Hi @miketalbott

I can reproduce the problem you’ve described Sketchup → Unreal,
I’ll need some time to investigate, thanks for your patients.

2 Likes

thanks, @Jedd, for taking a look. I’m not a C++ guy but I took a quick look at the code and here’s one possible cause:

In /Source/SpeckleUnreal/Private/Objects/Utils/SpeckleObjectUtils.cpp the TryParseTransform function tries to parse the transform array with the attribute name: “matrix”. However, when I inspect the SketchUp model in the speckle viewer, I can see that the transform array is under the attribute “value” instead of “matrix”. Interestingly, models sent from Rhino do use the “matrix” name for transforms. not sure which one is right or how to handle both.

That said, I doubt that will address the material issue. I’ll keep looking at the code to see if I can spot where that issue is.

Thanks again.

1 Like

Ahha! Yes, I think we’ve both independently found this to be the cause :raised_hands:

It looks like we updated valuematrix at some point in our SDKs, but Sketchup appears to still send using the value property.

In our C# and Python SDK, we even have a bit of code to handle this value to matrix change gracefully (hence other connectors being unaffected). However, neither our Unreal or Sketchup connectors use either SDK, I guess we forgot to update Sketchup to use matrix, and forgot to handle gracefully in Unreal :sweat_smile:.

I’ll need to discuss with @oguzhankoral (our Sketchup expert) whether we prioritize a fix on the Sketchup side or the unreal side.

3 Likes