Releases: atteneder/glTFast
Releases · atteneder/glTFast
glTFast 6.7.0
Added
- (Import) Support for materials variants extension.
- Serialization support for material extensions IOR, Sheen and Specular.
- (Import) Ability to load a glTF from a generic
Stream
(GltfImport.LoadStream
; thanks @sandr01d for #10).
Changed
- (Import) Prefabs imported from glTF assets (at design-time) don't have the glTF logo icon assigned to them anymore. This makes it more consistent with other file types (like FBX; fixes #557).
Deprecated
MetaMaterialExport
. Always useMaterialExport.GetDefaultMaterialExport
to get the correct material export.
Fixed
- (Export) glTFast shader based materials and textures are exported correctly when using the default render pipeline.
- Added missing entries to the API documentation.
- (Export) Base colors are now in correct, linear color space.
- Alpha mode blend now works as expected in HDRP 11 and newer as well (fixes #699).
- (Export) Fixed mesh min/max when using Draco compression.
glTFast 6.6.0
Added
- Serialization/de-serialization (only) support for the KHR_materials_variants extension.
Fixed
- Compatible with Entities 1.2.0.
- Black materials when using low standard shader quality with the built-in render pipeline (thanks @Kushulain for #595).
- (UI) Quantity of report items is not shown in importer inspector anymore. Report items cannot be removed anymore (thanks @krisrok for #630).
glTFast 6.5.0
Added
- (Export) Support for exporting glTFast shader based materials. This reduces data loss on import-export round trips considerably.
- (Export) Support for setting a custom scene origin via transform matrix.
- Dependency on Unity Collections package.
- Added Apple Privacy Manifest documentation.
- Export sample code.
- XML documentation comments.
float4x4.Decompose
overload that outputs rotation as typequaternion
.
Changed
- Faster buffer conversion jobs due to batching via
IJobParallelForBatch
. - (Export) Material exporter implementation is chosen based on used shader by default.
- (Export) Vertex attributes are discarded if they are not used/referenced.
- (Export) Root level nodes' positions are based on their GameObject's world positions (and not their local position anymore).
Fixed
- (Export) Discrepancy in color due to export of unused vertex colors.
- Incorrect copyright text in some SPDX headers.
Deprecated
float4x4.Decompose
overload that outputs rotation as typefloat4
(quaternion values).
Removed
- Soft dependency on deprecated Unity Jobs package.
- Legacy code for Unity versions older than the minimum required 2020 LTS.
glTFast 6.4.0
Added
- Tests for all
GltfImport.Load
overloads. - Tests for all import Burst jobs.
ICodeLogger.Log
for dynamic LogType usage.
Changed
- Emission sub graph uses shader define
SHADEROPTIONS_PRE_EXPOSITION
for HDRP usage detection (replacing a custom function node that checked forUNITY_HEADER_HD_INCLUDED
). - BaseColor sub graph uses built-in shader define
UNITY_COLORSPACE_GAMMA
for project color space detection (replacing a custom function node).
Fixed
- Shader sub graphs BaseColor and Emission are now compatible with PolySpatial visionOS.
- On Apple visionOS, textures are always created readable, so that PolySpatial visionOS is able to convert them.
- Draco compressed tangents import tangents correctly now.
- Removed invalid attempt to calculate normals or tangents on point or line meshes.
- Consistent log message when a glTF extension cannot be supported due to a missing Unity package depenency (e.g. KTX for Unity).
- All missing extensions are logged (not just the first one).
- There's now a single message per missing package.
- Depending on whether that extension is required the message's type is warning or error.
- Added explicit message when meshoptimizer decompression for Unity is missing.
glTFast 6.3.0
Added
- Runtime import tests.
- Runtime export tests.
- (Export) Added development-time checks for valid JSON string literals.
- Added Apple Privacy Manifest file to
/Plugins
directory.
Changed
- Refactored test scripts folder layout.
- (Export) Normal maps are exported in PNG format by default.
- (Export) HDRP area lights are still exported as spot-lights, but their intensity is taken from
Light.intensity
(still incorrect, but more consistent). - Switched from asset-path-based to GUID-based shader loading (in the Editor 2021 and newer) in order to allow for a flexible folder layout without risking breaks/regressions should the layout change in the future.
- Avoid expensive UnityEngine.Object null check when accessing cached default shaders.
Fixed
- Exception when required glTF shader is not included.
- Compiler errors when safe mode (
GLTFAST_SAFE
scripting define) is enabled. - Compiler error with High Definition Render Pipeline version 17 (2023.3)
- Removed usage of obsolete APIs in High Definition Render Pipeline version 17 (2023.3)
- (Export) Area light's range value is exported accurately (as shown in the inspector).
- Various occasions of
NullReferenceException
when no logger is used/provided. - Proper error handling when trying to load unsupported sparse texture coordinates.
- Ensure that special chars in string values don't lead to invalid JSON.
- Using invariant culture
ToLower
/ToUpper
variants on all non-language-specific data. - Added missing
GetHashCode
implementation (removes compiler warning). - Compiler errors and warnings on newer HDRP versions (16.x/17.x)
- URP clearcoat shader loading at runtime.
- HDRP stack-lit shader loading at runtime.
glTFast 6.2.0
Added
- Deprecated soft-dependency packages are detected and a warning with upgrade instructions is shown in the console.
Changed
- Support for Draco 3D Data Compression is now provided by Draco for Unity (com.unity.cloud.draco), which is a fork of and replaces DracoUnity (com.atteneder.draco).
Fixed
- Compiler error when Newtonsoft JSON package was not installed.
- All Draco vertex attributes are assigned by identifier instead of type. As a result, tangents are now decoded properly instead of recalculated.
- Compilation error when scripting define
GLTFAST_BUILTIN_SHADER_GRAPH
is set. GltfImport.IsTextureYFlipped
returns correct result for non-KTX textures.
glTFast 6.1.0
Added
- (Documentation) Explanation and user case for the add-on API
GltfImport.IsTextureYFlipped
to support non-default texture orientations
Changed
- Documentation improvements
- Auto-formatted all markdown, USS, UXML and shader code
- CI maintenance
Fixed
- Updated references to KTX for Unity
glTFast 6.0.1
Fixed
- Compilation error when Animation module is disabled and Newtonsoft JSON package installed.
glTFast 6.0.0
Added
- Custom Add-On API (
GLTFast.Addons
namespace) - Support for alternative JSON parsing via Newtonsoft JSON
Accessor.ElementByteSize
: Byte size of one element of that accessorAccessor.ByteSize
: Overall byte sizeIGltfReadable.GetAccessor
: Generic byte-array view into an accessorGameObjectInstantiator
events that allow further instantiation customizationsNodeCreated
MeshAdded
EndSceneCompleted
- Value array JSON parsing tests
- String/enum conversions tests
- (Import) Clearcoat material support in HDRP and URP (via KHR_materials_clearcoat extension)
- (Export) Clearcoat material export support for HDRP Lit shader
Changed
- Bumped minimum Unity version to 2020.3.48f1
- Renamed
GltfAnimation
toAnimation
for consistent naming. - Bumped Burst dependency version to 1.8.4
- Bumped Mathematics dependency version to 1.3.1
Fixed
- Added Obsolete attribute to public schema class fields that are for serialization only and should not get modified directly.
- More robust parsing of (invalid) enum values
glTFast 5.2.0
Added
- Runtime tests
- (Export) Setting for deterministic export (limits concurrency to ensure consistent output)
- (DOTS) Support for Entities 1.0
Changed
- Optimized
Accessor.GetAccessorAttributeType
- Optimized
GltfEntityAsset.ClearScenes
via Burst - Bump minimum unity version from 2019.4.7f1 to 2019.4.40f1
Fixed
- Compiler errors and warnings on Unity 2023.2 (and newer) due to using obsolete types.