Recently I ran into a pretty nasty case.
A .usdz model downloaded from Sketchfab (this detail is important).
In the first screenshot it’s opened in Apple’s built-in Viewer:
The same file is imported into Blender via official USD importer:
The character is flipped upside down, the spear is separated, and the pose is reset to a T-pose.
Why? Because of …Sketchfab.
Yes, the problem is not in Blender’s importer, and not in the model itself. The issue really comes from Sketchfab’s side.
When Sketchfab processes an uploaded model, it changes its internal structure — repacks the meshes and adds its own wrapper layers on top of everything.
You alwayse can check it yourself — inside every downloaded model from Scetchfub you will see a lot ow wrappers like:
So yes, the model downloaded from Sketchfab doesn’t have the same structure the artist originally created, and yes, that can easily cause bugs like the one on the screenshot.
I can understand Sketchfab’s logic here: when you process tens of thousands of models in all possible formats, bringing them to a unified structure sounds like a smart optimization step.
But this step gives benefits to the company, not to its users. It removes transparency and adds uncertainty.
And if your solution makes life easier for the team but worse for the users, then it’s a bad solution. No exceptions.
Imagine if Steam, for the sake of “storage optimization,” decided to automatically compress all game textures down to 640×480 and re-encode the audio tracks to mono — because, you know, it’s more efficient that way.
Or think about a shoe store that shrinks every pair of shoes to save space during delivery.
You order size 43, but what arrives is 39 — and their support just says,
“Sorry, that’s on you. We optimized it.”
Especially since it’s totally possible to handle user-uploaded models and render them correctly without forcing everything into a single unified structure.
That’s exactly how we do it at 3DWay, where I’m the Backend Lead and was responsible for solving this problem.
Yes, letting creators upload models in any structure and allowing others to download them in the exact same form can be painful.
And it is painful, believe me! Especially when it’s not a neat .usdz package but something like .fbx or .obj with separate textures.)
But still — it’s not rocket science.
Even if the platform keeps all the same elements and “just” reshuffles and repackages them, changing the original structure of a user-uploaded asset is still a very, very bad idea.
If I upload some content that’s meant to be shared with others, I naturally expect them to see the original, not some “processed” version of it.
Sure, you can say that Blender’s USD importer is dumb, and that Sketchfab doesn’t actually remove anything, it just reshuffles and repackages stuff.
But changes are changes. If I upload some content that’s meant to be shared with others,
I naturally expect them to see the original, not a “processed” version.
P.S. Why does Apple’s built-in Viewer handle it just fine?
I guess it’s because it understands the format on a much deeper level. Since USDZ is a technology originally developed by Pixar and Apple, the macOS viewer’s parser can correctly read even the most twisted USD file.
My Linkedin: https://www.linkedin.com/in/yahorch/
My Instagram: https://www.instagram.com/egorich42/
My Telegram: https://t.me/e_chuchvaga