Skip to content

Releases: KhronosGroup/UnityGLTF

release/2.18.8

05 Feb 17:17

Choose a tag to compare

[2.18.8] - 2026-02-05

  • add: deduplication statistic (Importer)
  • add: meshOpt 0.2 support
  • add: validation for node translation, rotation and scale on import: in case of invalid values (NaN, infinte), using zeros as fallback.
  • changed: mesh deduplication speedup with Jobs
  • fix: reduced memory footprint on importing

[2.18.7] - 2026-01-12

  • add: Interactivity: add slerp nodes
  • change: Interactivity: replaced custom solution for child and parent methods to object model pointers
  • fix: obsolete warning for 'GameObject.GetScene' in U6.3+
  • fix: ShaderPassStripping to use GetOrCreate GltfSettings (in case setting asset not exists yet)
  • fix: Interactivity: changed matrix serialization to coloumn major order
  • fix: material/texture extraction with leading spaces in name

[2.18.6] - 2025-11-25

  • add: Interactivity VS export: added support for AnimationClip.length
  • fix: Interactivity VS export: added missing space conversion to RaycastResult.worldPosition
  • fix: WebRequestDataLoader changed URI handling for local files

release/2.18.5

20 Nov 11:09

Choose a tag to compare

release/2.18.4

19 Nov 13:33

Choose a tag to compare

release/2.17.0

12 Jun 13:35

Choose a tag to compare

What's Changed

  • Marked BaseColor and BaseTexture as main properties to get rid of the error while using regular Material.color property. by @XtroTheArctic in #864
  • Made Importer create Material with Auto Queue Control. The user can override it if he wants. by @XtroTheArctic in #866
  • Added the bone names which Unity's FBX importer can detect to the dictionary. by @XtroTheArctic in #862
  • Improve KHR_interactivity support by @pfcDorn
  • Improve Sprite mesh exporter by @hybridherbst

Full Changelog:

[2.17.0] - 2025-06-12

  • add: Quaternion nodes for KHR_interactivity visual scripting export
  • add: Importing PNG files without alpha channel in the Editor now sets them as RGB instead of RGBA, leading to better compression and less memory usage (#858)
  • add: Add more bone names to Humanoid import for better compatibility with Unity's FBX importer (#862)
  • change: Implemented specification changes for KHR_interactivity from May 2025
  • change: Enabled applyRootMotion for humanoid animator to make it consistent with FBX importer (#868)
  • fix: Sprite Mesh export threw an exception in non-Simple sprite draw mode. Use Unity 2023.2+ for other sprite modes than "Simple".
  • fix: Audio plugin did not correctly check for existance of built-in Unity modules
  • fix: Runtime errors with serialization of editor-only components in some newer Unity versions
  • fix: Improved performance for extracting all materials from an editor-imported glTF file (#855)
  • fix: Marked baseColor and baseColorTexture as main color and main map so they work with Unity's Material.color and Material.mainTexture properties (#864)
  • fix: Use correct Auto queue value for imported materials (#866)

[2.16.1] - 2025-05-20

  • add: Visual Scripting variables work across multiple scenes now
  • add: partial KHR_materials_anisotropy roundtrip support. There is no visual support for it yet, but data is imported and exported correctly from PBRGraph.
  • add: experimental KHR_audio_emitter support. Please note that this extension is not yet ratified and implementation details may change. The plugin is disabled by default, enable it in UnityGLTFSettings.
  • add: Sprite mesh export support through "Bake to Mesh" plugin.
  • add: KHR_interactivity plugin now has a button to install the com.unity.visualscripting package
  • add: visual badges for non-ratified and experimental extension plugins
  • change: the Export API for KHR_interactivity is still undergoing heavy changes while the extension is being finalized.
  • change: removed the KHR_audio sample since it's now shipping with this package
  • fix: generated shader converter code doesn't use obsolete API anymore
  • fix: various fixes to visual scripting export support through KHR_interactivity
  • fix: fixed incorrect namespace that led to compilation errors in some specific cases
  • fix: wrong asset import check for textures, which led to non-compressed textures at runtime (Fixes #846)

release/2.16.0-pre.3

15 Apr 14:44

Choose a tag to compare

What's Changed

  • Add transform modes for single-object and batch export by @hybridherbst in #831
  • Basic HDRP export support by @krisrok in #826
  • Fix mesh deduplication for meshes with different materials by @hybridherbst in #842
  • Improve KHR_interactivity support and Export API by @pfcDorn

New Contributors

Full Changelog:

[2.16.0-pre.3] - 2025-04-15

  • fix: workaround for URP error in Unity 6+ with new Render Graph API (uncatchable and incorrect exception during on-demand rendering)
  • fix: issue when deduplicating shared meshes with different materials (#836)
  • change: numerous KHR_interactivity API changes to make runtime usage and extensibility easier
  • change: remove KHR_audio sample from package samples. If you're interested in KHR_audio_emitter support, please follow the progress of adding it as properly supported extension here: #835.

[2.16.0-pre.2] - 2025-04-03

  • fix: regression when batch exporting material-only files
  • fix nullreference when loading a materials-only file with GLTFSceneImporter or GLTFComponent
  • fix GLTFComponent failing when the loaded file is a web URL but "Load from streaming assets" is on (the default). If the URI starts with http:// or https://, we now automatically load from the web.
  • fix: GPU instancing can't be enabled on Shader Graph-based materials when the built-in render pipeline is active. Unity does not support GPU instancing with Shader Graph.

[2.16.0-pre.1] - 2025-04-03

  • add: Interactivity Export API now has AddLog method that takes log settings into account, so app-specific logging can be used
  • add: Transform Modes for batch exporting from the UnityGLTF menu (Auto, Local, World, Reset), with options covering various use cases
  • add: editor setting for export type (GLB vs. glTF) from the UnityGLTF menu
  • add: improvements to HDRP material export support (#826)
  • change: API cleanup for Interactivity node export
  • change: removed legacy GLTFSettings.requireExtensions option that wasn't really used

release/2.16.0-pre

02 Apr 14:19

Choose a tag to compare

What's Changed

  • Fix: material blendmode setup by @pfcDorn in #825
  • Improve export menu with multi-object export, multi-scene export, more control by @hybridherbst in #828
  • Add KHR_interactivity by @hybridherbst @pfcDorn in #824

Full Changelog:

[2.16.0-pre] - 2025-04-02

  • add: Editor export support for KHR_interactivity, KHR_node_hoverability and KHR_node_selectability.Support for these extensions is based on the draft specification as of Mar 10 2024. Please note that these extensions are not yet ratified and implementation details may change.
  • add: convert Unity Visual Scripting Units to KHR_interactivity nodes on export, including virtual properties from the glTF Object Model.
  • add: visual hints for which nodes can be exported from Visual Scripting to KHR_interactivity
  • add: KHR_interactivity export plugin.
  • add: batch export mode is now an option when exporting via the UnityGLTF menu items. This allows exporting many scene objects, prefabs, or scenes as individual or merged files.
  • fix: Remove duplicate GLTFLoadException type
  • fix: added AlphaToMask and BlendModePreserveSpecular float values to material setup and material mappers. This works around a Unity issue where some runtime-created materials have incorrect keywords until refresh of their keywords.
  • fix: Removed synchronous wait in GLB json loading causing spikes
  • change: GLTFComponent: changed loadOnStart from private to public
  • fix: added TextMeshPro.ForceMeshUpdate to TMP exporter plugin to ensure exports of scenes immediately after loading have correct mesh data for 3D text
  • fix: selecting multiple scenes and exporting via the menu now exports each selected scene as individual file. Previously, it would export the first selected scene only.
  • fix: exporting meshes with zero materials was throwing an exception, now correctly does not export the mesh

release/2.15.0

10 Mar 11:03

Choose a tag to compare

Pull Requests

  • Added detailed Informations Generator Json Field by @pfcDorn in #811
  • SubMesh Attributes by @pfcDorn in #812
  • Interactivity preparations by @pfcDorn in #822
  • Fixed: removed internal Unity Method TextureImporter.GetFixedPlatformName from Unity 6000 by @pfcDorn in #821
  • Various changes and improvements by @hybridherbst
  • Export plugin hook for ShouldNodeExport by @andybak in #767

Full Changelog: release/2.14.1...release/2.15.0

[2.15.0] - 2025-03-06

  • fix: assets with absolute URLs or paths containing URL encoded information now load correctly
  • fix: improve shader dependencies in editor importer to work around some edge cases at first library import
  • fix: check all sub-meshes of used attributes instead of only the first one when creating attribute arrays
  • fix: ensure progress callback is triggered before onLoadComplete in scene loader
  • fix: prevent null reference exception when plugin is not loaded/defined
  • fix: work around API change in Unity 6000.0.38f1 that caused compilation error
  • fix: clamped Sheen Roughness to 0..1 range in PBRGraph shader
  • fix: RoughRefractionFeature now supports Unity 6 and new Render Graph API
  • fix: set volume and transmission materials to AlphaMode.BLEND on VisionOS to ensure proper rendering
  • fix: update render pipeline-related methods for Unity 6000.0+
  • change: mark package as compatible with Unity 2021.3+. Legacy support for 2020 and earlier will be removed in future updates.
  • change: renamed GLTFComponent setting AppendStreamingAssets to LoadFromStreamingAssetsFolder
  • add: MaterialX branches to UnityGLTF/PBRGraph shader with conditional compilation for VisionOS
  • add: MaterialXColor and MaterialXFloat shadersubgraphs for platform-specific material settings
  • add: new runtime texture compression option (None, LowQuality, HighQuality) to improve runtime memory usage
  • add: exposed import settings to keep CPU copy of mesh/textures to GLTFComponent
  • add: include UnityGLTF package version, Unity version and current render pipeline in assets.extras on export
  • add: better code snippets for the readme
  • add: export plugin hook for ShouldNodeExport (#767)
  • add: KHR_node_visibility import and export support, currently disabled by default. Enable in UnityGLTFSettings. This is a preparative step for KHR_interactivity, which will be added in a later release. Please note that this extension is not yet ratified and implementation details may change.
  • add: schema and serialization support for KHR_node_hoverability and KHR_node_selectability. Please note that these extensions are not yet ratified and implementation details may change.

release/2.14.1

10 Mar 11:02

Choose a tag to compare

Pull Requests

  • Add bugreport issue template by @marwie in #779
  • Added missing AnimationCacheData to RefCountedCacheData Script by @pfcDorn in #769
  • Made ShaderOverride public on GLTFComponent by @pfcDorn in #770
  • added gltf Asset informations to Importer Inspector by @pfcDorn in #774
  • KHR_materials_sheen support by @pfcDorn in #780
  • Load from stream enhancement by @pfcDorn in #781
  • Fix #782 - Canvas export on webGl build by @pfcDorn in #785
  • Enhancement: premade shader variant collections for runtime imports by @pfcDorn in #783
  • Feature: Shader Pass Stripping by @pfcDorn in #784
  • Fixes: Canvas and TMP Export, GltfPlugin enabled serialization by @pfcDorn in #786

New Contributors

Full Changelog: release/2.13.0...release/2.14.1

[2.14.1] - 2024-10-28

  • fix: compiler error with ParticleSystemBakeMeshOptions before 2022.3.11f1 since that's where the API was introduced
  • fix: prevent incorrect warning when meshes don't have UV1/UV2 attributes
  • fix: don't call export multiple times from context menu for multi-selections
  • fix: remove unused property from GLTFComponent

[2.14.0] - 2024-10-06

  • fix: potential NullReferenceExceptions when importing material-only, mesh-only or texture-only glTF files
  • fix: check for missing primitives on mesh import instead of throwing
  • fix: GLTFSceneImporter reference counting properly tracks Animation data now
  • fix: incorrect callback subscription in glTF Material editing
  • fix: CanvasExport plugin was not working correctly in WebGL builds
  • fix: rare case of incorrect texture export with invalid texture content hash (thanks @Vaso64)
  • fix: ensure materials created with Create > UnityGLTF > Material use UnityGLTF as importer instead of glTFast
  • fix: Canvas export plugin was not correctly updating the canvas mesh in builds
  • fix: Particle Bake export plugin was not working correctly in 2022.3
  • fix: Import/Export plugin enabled/disabled state was not correctly serialized in some cases
  • fix: TMPro export plugin uses UnityGLTF shaders for export now instead of adding another dependency
  • fix: GLTFSceneImporter can be called without external data loader, but will warn that external data will not be loaded. Previously, a data loader had to be added even when it was not needed.
  • change: log warning when exporting UV0 and UV1 with more than 2 components, as glTF only supports 2-component UVs
  • change: simplify sampler usage in PBRGraph where possible to prevent warnings in later Unity versions
  • change: simplify PBRGraph variants to reduce shader variant count. This removes a separate option to use vertex color.
  • change: material-only files are now imported as MaterialLibrary assets with Material sub-assets, even when only a single material is present
  • add: log more meaningful exception messages on import
  • add: sheen support for PBRGraph
  • add: PBRGraph UI properly shows sheen and dispersion properties
  • add: allow flipping humanoid root bone on import to support more avatar types (like Meta Avatars)
  • add: new "Info" tab in GLTFImporter for asset information (generator, copyright, etc.) about the imported file
  • add: ShaderOverride is now public on GLTFComponent
  • add: new GLTFSceneImporter constructor overload for easier loading of files from streams
  • add: meshes and textures can now be deduplicated on import, since many exporters don't properly instance them
  • add: UV2 is exported as 2-, 3-, or 4-component texture coordinate. 3- and 4-component texture coordinates are not in the core glTF spec, but widely supported by implementations.
  • add: complete PBRGraph and UnlitGraph Shader Variant Collections for easier runtime import and export of glTF files
  • add: options for shader pass stripping in builds to reduce variant count and compilation times
  • add: ability to export a set of materials as material-only glTF or glb file
  • add: option to add new materials to glTF Material Libraries (material-only files)

UnityGLTF 2.13.0

23 Aug 12:48

Choose a tag to compare

What's Changed

  • Fixed texture offset with flipped textures like ktx by @pfcDorn in #711
  • Fixed wrong exported blendshape normals and tangents when using sparse accessors by @pfcDorn in #712
  • Add initial support for MaterialX conversion through PolySpatial by @hybridherbst in #725
  • Camera import support by @pfcDorn in #706
  • Fixed #726 - Tangent issues with Draco compression by @pfcDorn in #727
  • Fixed shared SkinnedMesh on export by @pfcDorn in #729
  • Unity 2023.3 fixes by @pfcDorn in #730
  • Avoid unnecessary texture duplication on import - fixed #713 by @pfcDorn in #731
  • Animation pointer import support by @pfcDorn in #724
  • Feature: Material Dispersion [Requires the Animation Pointer Import Branch] by @pfcDorn in #728
  • Fix/avoid strip roots when animated by @pfcDorn in #734
  • Removed error logs for Texture and Node count on import by @pfcDorn in #738
  • fix 737 - Wrong image file names on export by @pfcDorn in #739
  • fixes #740 - Added missing ExtTransform support for some textures in AnimationPointer by @pfcDorn in #753
  • Flipped CameraOpqaueTexture fix on WebGl/OpenGl/... by @pfcDorn in #755
  • More texture import options and missing ktx mipmap parameter by @pfcDorn in #756
  • Bonemapping fix for already correct bone names on import by @pfcDorn in #758

Full Changelog: release/2.10.0-rc...release/2.13.0

UnityGLTF 2.10.0-rc

04 Mar 22:38

Choose a tag to compare

This release fixes a number of stale issues in the repository, improves performance for scenes with many nodes, and contains various correctness improvements for topology, quantization, mesh accessors, exception handling. Thanks a lot to @pfcDorn for pushing many areas forward!

Notable new features:

  • Support for EXT_mesh_gpu_instancing on import – instances are turned into individual GameObjects with GPU Instancing enabled for their materials.
  • There is now a blend shape frame weight import option that helps with retargeting FBX and glTF blend shape animations, for example for facial animation data.
  • The remaining topology modes allowed in glTF, LineLoop, TriangleStrip and TriangleFan, are now converted to topologies supported by Unity on import. Previously these modes were not supported.

Changelog:

  • fix: GLTFRecorder issue where resulting animation would have linear interpolation for cases where a jump was expected
  • fix: GLTFSettings toolbar active index correctly stored in session now
  • fix: don't export empty buffers with length 0
  • fix: check for valid Humanoid avatar before export (#681)
  • fix: work around SRP issue with invalid camera data in render passes affecting rough refractions
  • fix: issue when morph targets have varying normals and tangents data (#682)
  • fix: prevent exception in earlier 2022.x versions with isDataSRGB not being available
  • fix: missing normalization checks for quantized accessor data (#693)
  • fix: make sure topology are triangles for calculating normals/tangents (#133)
  • fix: KTX2 textures were not checking for linear for "Fix All" importer button
  • fix: MAOS maps (combined metallic/ambient occlusion/roughness) were not exported correctly
  • fix: wrong accessor UBYTE > BYTE and BYTE > SBYTE conversion when reading data in some
  • fix: restore multithreading support and improve performance
  • feat: import plugin for EXT_mesh_gpu_instancing extension
  • feat: added blend shape frame weight import option for easier animation retargeting
  • feat: show failing filenames more clearly when exceptions occur during import
  • feat: add option to hide scene obj during loading in GLTFComponent
  • feat: add import support for glTF LineLoop, TriangleStrip, TriangleFan topologies
  • feat: performance improvements in name resolution for importing files with many nodes
  • feat: performance improvements by using NativeArray and Mathematics types