Skip to content

Releases: KhronosGroup/UnityGLTF

release/2.17.0

12 Jun 13:35
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

UnityGLTF 2.9.0-rc

23 Jan 07:52
Compare
Choose a tag to compare

Release Candidate

UnityGLTF has been maintained in a fork by prefrontal cortex since the end of 2019. In 2022, Needle joined as well, to accelerate development of a solid import/export platform for glTF in Unity.

Over the years, hundreds of fixes have been made, numerous features have been added, and the library has been brought up-to-speed on latest glTF developments, modern material extensions, and Unity versions. A modern plugin infrastructure allows extending import and export with ratified and non-ratified extensions and useful functionality. We're happy to bring these changes back to the main repository so everyone can benefit.

UnityGLTF has turned into an extremely versatile glTF exporter and importer, which excellent support for data roundtrips and glTF-first workflows in Unity.

Please open an issue if you find any problems with the release candidate.

You can install this package from the Needle Package Registry with this one-click installer:

  1. Download UnityGLTF Package Installer
  2. Drop the downloaded .unitypackage into Unity.

You can install this package in Unity as a git package, compatible with UPM (Unity Package Manager).

  1. Open Window > Package Manager
  2. Click +
  3. Select Add Package from git URL
  4. Paste
    https://github.com/KhronosGroup/UnityGLTF.git/#release/2.9.0-rc
    
  5. Click Add.

UnityGLTF v1.0.1

03 Apr 20:09
Compare
Choose a tag to compare
  • Upgraded to 2017.4
  • Included various fixes (will update)
  • Includes UPM package

First built unity package release of UnityGLTF

21 Sep 05:47
04b5cd7
Compare
Choose a tag to compare

Release of UnityGLTF with built binaries