com.unity.cloud.gltfast 6.15.0
com.unity.cloud.gltfast
Source docsNotes: processedReleased November 24, 2025
✨ 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.
