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

Hi @miketalbott,

It should be fixed in 2.20.1 hotfix that has just been released. Otherwise, let me know! Thanks for reporting it!

Best

3 Likes

Hey Speckle team -

I just want to report that this issue happens in Revit as well when coming from SketchUp, even on the 20.1 hotfix. Everything looks good in SketchUp and in the online viewer, but gets borked when imported into Revit.

I believe it has something to do with components and / or groups, especially ones that have been moved or scaled after being made into components and groups. For example, a scaled component will pop into Revit at its original scale and not carry over that kind of transform information from SketchUp.

Thanks for the report, @lostinheadguy - I’m just looking at the associated development ticket - this was merged and released.

I’m sorry this isn’t working for you fully. Perhaps it was a separate issue with Revit.

Can you share a sample model URL so we can diagnose it?