B3dm files with texture data issue

Was testing streaming in b3dm files that I converted with textures inside. While the models were rendered correctly, the textures did not show up. Testing on a web viewer however showed the textures. Can I check if this is a known issue?


Is there any input on this? I have learned that this issue affects the js version as well. In my understanding, textures do not display as well in the latest versions. Before that, they were showing and this has been tested by my team member.

It’s hard to make guesses here (and I’m not deeply involved in Cesium For Unity, so couldn’t even consider testing it until now). When you say that is also affects the “js version”, I assume that this means that the textures have been displayed in an older version of CesiumJS, but are not shown in the latest version of CesiumJS - is that correct?

In any case - for Unity and JS - it would be helpful if you could provide further details about the B3DM files. The best case would be if you could share one example B3DM where the textures are not displayed, so that people can try it out and investigate it further.

Hi @darvil,

Marco is right – we can troubleshoot if you have an example you can share. It’ll be helpful if you post more information, such as

  • the version of Cesium for Unity you’re using
  • the expected visual output vs. the actual one
  • anything notable about the model, e.g. if it has KTX2 compression

Hi Marco13 and Janine,

@Marco13 Yes, that is correct.

Thanks, I will see if I can pass you guys the dataset in a private message.


Here is the information I have:

  • Using Cesium plugin version 0.3.1
  • Expected visual output is the building models rendered in the Unity scene with textures.
  • Actual output is the buildings models rendered without textures
  • Nothing notable that I know of

Depending on the size of the whole data set and possible issues with confidentiality: Even a single B3DM could help to get an idea what might be wrong there.

Can you try using Cesium for Unity v1.0.0? We had a bug where existing KTX2 mipmaps wouldn’t be loaded properly, causing textures to go missing. My hope is that this is related and already fixed :slight_smile:

After looking at the data set, it turned out that the B3DM files contain glTF data that uses the KHR_technique_webgl extension. The KHR_technique_webgl extension is ‘Archived’, and should usually not be used for new assets. Some tools may still have limited support for this extension. But it was never supported by Cesium For Unity (or Cesium For Unreal). And support for this extension in CesiumJS has been reduced, as mentioned in the change log for version 1.97.

In some cases, it may be possible to update a data set, to no longer use this extension, but the details for the update process depend on the exact data set. (Therefore, details for updating this particular data set will be discussed via internal messages)

1 Like

Hi @Marco13 @janine ,

Thanks guys for the replies and helping me find out what the issue was. @Marco13 would appreciate any advice and insights on how to update the data set to no longer use the extension via internal messages like you mentioned.

For completeness: The current process for upgrading a tileset to remove the KHR_techniques_webgl extension was posted as an answer in a similar thread, at Cesium for Unity - Textured buildings question - #12 by Marco13