com.unity.cloud.gltfast 6.15.0

com.unity.cloud.gltfast

Source docs
Notes: processedReleased November 24, 2025

Browse versions

PreviousNext

Features

  • Loading KTX textures from data URIs.
  • (Test) OpenGltfScene: Shortcut Control+X clears the previously loaded glTF. Useful for testing resource deallocation.
  • (Test) Assets variants of *SubMesh* and *Rainbow Cuboid* for testing import of compressed/uncompressed multi-primitive meshes.
  • (Test) glTFs with different kinds of image formats and sources.
  • (Test) *No Normal* test asset.

📈 Improvements

  • *glTFast* will return a success value of `true` even if an image fails to load (which has not been consistent across the API before). This makes it easier to display assets despite of non-critical loading errors. Users who need stricter behavior can resort to monitoring for error logs (see the runtime import manual about logging or the `logger` parameter of [GltfImport constructor](xref:GLTFast.GltfImportBase.#ctor\(GLTFast.Loading.IDownloadProvider,GLTFast.IDeferAgent,GLTFast.Materials.IMaterialGenerator,GLTFast.Logging.ICodeLogger\))).
  • Primitives of a Draco compressed mesh will be decoded into in a single Unity mesh with multiple sub-meshes instead of multiple Unity meshes (thanks Kibsgaard for initiating this in #33).
  • [Draco for Unity] minimum required version was raised to 5.4.0.
  • (Performance) Texture data is not copied into managed memory before loading via [Texture2D.LoadImage](xref:UnityEngine.ImageConversion.LoadImage\(UnityEngine.Texture2D,System.Byte[],System.Boolean\)) (applies for Unity 6.0 or newer).
  • (Performance) Avoid copy of entire data URI string by using `ReadOnlySpan` instead sub-stringing.
  • (Performance) Base64-encoded data URIs are now decoded into [NativeArray\](xref:Unity.Collections.NativeArray`1) instead of `byte[]`, reducing GC allocations.
  • [KTX for Unity] minimum required version was raised to 3.6.0.
  • Up-to-date versions of soft-dependencies [KTX for Unity] or [Draco for Unity] are enforced by raising a compiler error if an outdated version of either of those is installed.

🔧 Bug Fixes

  • Corrected test cases for `GltfTestModels` importer tests.
  • Properly dispose GPU instancing buffers after Editor imports.
  • Multi-primitive, skinned meshes import properly to Unity meshes with multiple sub-meshes.
  • For Draco compressed meshes, it's now ensured that morph targets are retrieved to completion and resources are disposed properly.
  • Sampler settings conflicts result in a proper warning message if they cannot be resolved by instantiating the Texture2D (can occur on design-time imports).
  • Implicitly add normals to the vertex attribute layout if tangents are required (fixes #41).
  • Properly release native resources bound by morph targets jobs in context of decoding Draco compressed meshes.
  • Avoid pointless copying of glb-embedded textures if ImageConversion module is disabled anyways.
  • Avoid download of textures if ImageConversion module is disabled anyways.
  • Gracefully fail when buffer data URI has incorrect media-type field or undersized content length.
  • Just like PNG or Jpeg, KTX textures are now loaded readable as well if it's required by the import settings, the platform or for applying multiple sampler settings.
  • Properly abort if loading of a data URI encoded image failed.
  • Don't crash when a buffer failed to load when loading from `string`, `byte` arrays or `Stream`.
  • Return value of [GltfImport](xref:GLTFast.GltfImportBase) loading methods ([Load](xref:GLTFast.GltfImportBase.Load*), [LoadFile](xref:GLTFast.GltfImportBase.LoadFile*), [LoadGltfBinary](xref:GLTFast.GltfImportBase.LoadGltfBinary*), [LoadGltfBinary](xref:GLTFast.GltfImportBase.LoadGltfJson*) and [LoadStream](xref:GLTFast.GltfImportBase.LoadStream*)) has been made consistent.
  • (Documentation) various broken links fixed.

API Changes

  • Broken consistency check between image data URI mediatype against image's mimeType.