Skip to content

Commit f958bf7

Browse files
committed
readme updates, changelog
1 parent 908a449 commit f958bf7

File tree

2 files changed

+53
-51
lines changed

2 files changed

+53
-51
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,16 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
1515
- fix: clamped `Sheen Roughness` to 0..1 range in PBRGraph shader
1616
- fix: `RoughRefractionFeature` now supports Unity 6 and new Render Graph API
1717
- fix: set volume and transmission materials to `AlphaMode.BLEND` on VisionOS to ensure proper rendering
18+
- fix: update render pipeline-related methods for Unity 6000.0+
1819
- change: mark package as compatible with Unity 2021.3+. Legacy support for 2020 and earlier will be removed in future updates.
1920
- change: renamed `GLTFComponent` setting `AppendStreamingAssets` to `LoadFromStreamingAssetsFolder`
2021
- add: MaterialX branches to `UnityGLTF/PBRGraph` shader with conditional compilation for VisionOS
2122
- add: `MaterialXColor` and `MaterialXFloat` shadersubgraphs for platform-specific material settings
2223
- add: new runtime texture compression option (`None`, `LowQuality`, `HighQuality`) to improve runtime memory usage
2324
- add: exposed import settings to keep CPU copy of mesh/textures to `GLTFComponent`
2425
- add: include UnityGLTF package version, Unity version and current render pipeline in `assets.extras` on export
26+
- add: better code snippets for the readme
27+
- add: export plugin hook for `ShouldNodeExport` (https://github.com/KhronosGroup/UnityGLTF/pull/767)
2528
- add: [`KHR_node_visibility`](https://github.com/KhronosGroup/glTF/pull/2410) 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.
2629
- add: schema and serialization support for [`KHR_node_hoverability`](https://github.com/KhronosGroup/glTF/pull/2426) and [`KHR_node_selectability`](https://github.com/KhronosGroup/glTF/pull/2422). Please note that these extensions are not yet ratified and implementation details may change.
2730

README.md

Lines changed: 50 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# UnityGLTF <!-- omit from toc -->
22

33
![Great coverage of glTF 2.0.](https://img.shields.io/badge/glTF%20Spec-2.0-brightgreen)
4-
![Unity 2021.3+ and URP recommended](https://img.shields.io/badge/Unity-2021.3%E2%80%932023.1%2B-brightgreen)
4+
![Unity 2021.3+ and URP recommended](https://img.shields.io/badge/Unity-2021.3%E2%80%936000.0%2B-brightgreen)
55

66
![URP supported](https://img.shields.io/badge/Render%20Pipeline-URP-brightgreen)
77
![BiRP supported with better support on 2021.3+](https://img.shields.io/badge/Render%20Pipeline-Built--in-brightgreen)
@@ -24,30 +24,35 @@ The library is designed to be easy to extend with additional extensions to the g
2424
- [UnityGLTF and glTFast](#unitygltf-and-gltfast)
2525
- [Supported Features and Extensions](#supported-features-and-extensions)
2626
- [Import and Export](#import-and-export)
27-
- [Export only](#export-only)
2827
- [Import only](#import-only)
28+
- [Export only](#export-only)
2929
- [glTF Materials](#gltf-materials)
3030
- [Material Conversions](#material-conversions)
31+
- [Material and Shader Export Compatibility](#material-and-shader-export-compatibility)
3132
- [Configure for Refractive Materials (Transmission and Volume)](#configure-for-refractive-materials-transmission-and-volume)
3233
- [Material Setup](#material-setup)
3334
- [URP](#urp)
3435
- [Built-In](#built-in)
3536
- [HDRP](#hdrp)
36-
- [Material and Shader Export Compatibility](#material-and-shader-export-compatibility)
3737
- [Exporting glTF Files](#exporting-gltf-files)
3838
- [Testing, debugging, compatibility](#testing-debugging-compatibility)
3939
- [Animation Export](#animation-export)
4040
- [Animator Controller](#animator-controller)
41-
- [GLTFRecorder](#gltfrecorder-api)
41+
- [GLTFRecorder API](#gltfrecorder-api)
4242
- [Timeline Recorder](#timeline-recorder)
43-
- [Legacy: Animation Component](#legacy-animation-component)
44-
- [KHR\_animation\_pointer](#khr_animation_pointer-support)
45-
- [Blendshape Export](#blend-shape-export)
43+
- [Legacy Animation Component](#legacy-animation-component)
44+
- [KHR\_animation\_pointer support](#khr_animation_pointer-support)
45+
- [Blend Shape Export](#blend-shape-export)
4646
- [Importing glTF files](#importing-gltf-files)
47+
- [Runtime Import](#runtime-import)
48+
- [Load via Gltf Component](#load-via-gltf-component)
49+
- [Load via code example:](#load-via-code-example)
50+
- [Ensure shaders are available in your build](#ensure-shaders-are-available-in-your-build)
4751
- [Editor Import](#editor-import)
4852
- [Default Importer Selection](#default-importer-selection)
4953
- [Animation Import](#animation-import)
5054
- [Extensibility](#extensibility)
55+
- [Example for custom plugin](#example-for-custom-plugin)
5156
- [Known Issues](#known-issues)
5257
- [Contributing](#contributing)
5358
- [Unity Package](#unity-package)
@@ -72,29 +77,24 @@ You can also install this package from git, compatible with UPM (Unity Package M
7277
5. Click <kbd>Add</kbd>.
7378

7479
> **Note**: If you want to target a specific version, append `#release/<some-tag>` or a specific commit to the URL above.
75-
> Example: `https://github.com/KhronosGroup/UnityGLTF.git#release/2.9.0-rc`.
80+
> Example: `https://github.com/KhronosGroup/UnityGLTF.git#release/2.14.1`.
7681
7782
## Unity Version and Render Pipeline Compatibility
7883

79-
Please use Long-Term Support versions of Unity (2021.3+, 2022.3+, 2023.3+).
84+
Please use Long-Term Support versions of Unity (2021.3+, 2022.3+, 6000.0+).
8085

8186
**Recommended:**
82-
- Unity 2021.3+, Unity 2022.3+, Unity 2023.3+
87+
- Unity 2021.3+, Unity 2022.3+, Unity 6+
8388
- Linear colorspace
8489
- Universal Render Pipeline (URP) and Built-In Render Pipeline (BiRP)
8590

86-
**Tested:**
87-
- Unity 2021.3+
88-
- Linear colorspace
89-
- Universal Render Pipeline (URP) and Built-In Render Pipeline (BiRP)
91+
**HDRP**:
92+
- Currently limited functionality.
9093

9194
**Legacy:**
9295
- When using Unity 2020.3, please use an older version of UnityGLTF, like 2.9.1-rc and before.
9396

94-
**HDRP**:
95-
- Currently limited functionality.
96-
97-
> **Note:** Issues on non-LTS Unity versions (not on 2021.3, 2022.3, 2023.3...) will most likely not be addressed. Please use LTS (Long-Term Support) versions where possible.
97+
> **Note:** Issues on non-LTS Unity versions (not on 2021.3, 2022.3, 6000.0...) will most likely not be addressed. Please use LTS (Long-Term Support) versions where possible.
9898
9999
## UnityGLTF and glTFast
100100

@@ -116,53 +116,52 @@ The lists below are non-conclusive and in no particular order. Note that there a
116116

117117
### Import and Export
118118

119-
- Animations
119+
- Animation and Animator with multiple clips
120120
- Skinned Mesh Renderers
121121
- Blend Shapes
122122
- Sparse accessors for Blend Shapes
123123
- Linear and Gamma colorspace support (Gamma won't be maintained anymore)
124124
- Vertex Colors
125125
- Cameras (perspective, orthographic)
126126
- URP and Built-In Render Pipeline [Learn More](#material-and-shader-export-compatibility)
127-
- KHR_lights_punctual (point, spot, and directional lights)
128-
- KHR_texture_transform (UV offset, scale, rotation)
129-
- KHR_materials_unlit
130-
- KHR_materials_transmission (glass-like materials)
131-
- KHR_materials_volume (refractive materials)
132-
- KHR_materials_ior (for transmission and volume)
133-
- KHR_materials_emissive_strength (emissive values greater than 1)
134-
- KHR_materials_iridescence (thin-film interference, like oil on water)
135-
- KHR_materials_clearcoat (secondary specular layer, like a coat of varnish)
136-
- KHR_materials_specular (partial support)
137-
- KHR_materials_dispersion (refractive index dispersion)
138-
- MSFT_lods (level of detail)
139-
- KHR_animation_pointer (arbitrary property animations)
140-
- KHR_node_visibility (GameObject active state)
141-
127+
- [KHR_lights_punctual](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_lights_punctual/README.md) (point, spot, and directional lights)
128+
- [KHR_texture_transform](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_transform/README.md) (UV offset, scale, rotation)
129+
- [KHR_materials_unlit](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_unlit/README.md) (unlit surfaces)
130+
- [KHR_materials_transmission](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_transmission/README.md) (glass-like materials)
131+
- [KHR_materials_volume](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_volume/README.md) (refractive materials)
132+
- [KHR_materials_ior](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_ior/README.md) (for transmission and volume)
133+
- [KHR_materials_emissive_strength](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_emissive_strength/README.md) (emissive values greater than 1)
134+
- [KHR_materials_iridescence](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_iridescence/README.md) (thin-film interference, like oil on water)
135+
- [KHR_materials_clearcoat](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_clearcoat/README.md) (secondary specular layer, like a coat of varnish)
136+
- [KHR_materials_sheen](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_sheen/README.md) (fabric surfaces)
137+
- [KHR_materials_specular](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_specular/README.md) (partial support)
138+
- [KHR_materials_dispersion](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_dispersion/README.md) (refractive index dispersion)
139+
- [KHR_animation_pointer](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_animation_pointer/README.md) (arbitrary property animations)
140+
- [KHR_node_visibility](https://github.com/KhronosGroup/glTF/blob/fbe806836526cdd8cd99ed3770b1c56df56c6863/extensions/2.0/Khronos/KHR_node_visibility/README.md) (GameObject active state) ![Non-Ratified Extension](https://img.shields.io/badge/⚠️%20Non--Ratified%20Extension-gray)
141+
- [MSFT_lod](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/MSFT_lod/README.md) (level of detail) ![Vendor-specific Extension](https://img.shields.io/badge/⚠️%20Vendor--specific%20Extension-gray)
142142
### Import only
143143

144-
- KHR_mesh_quantization (smaller buffers)
145-
- EXT_mesh_gpu_instancing (instance data)
146-
- KHR_draco_mesh_compression (requires [`com.unity.cloud.draco`](https://docs.unity3d.com/Packages/com.unity.cloud.draco@latest))
147-
- KHR_texture_basisu (requires [`com.unity.cloud.ktx`](https://docs.unity3d.com/Packages/com.unity.cloud.ktx@latest))
148-
- EXT_meshopt_compression (requires [`com.unity.meshopt.decompress`](https://docs.unity3d.com/Packages/com.unity.meshopt.decompress@latest))
144+
- [KHR_mesh_quantization](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_mesh_quantization/README.md) (smaller buffers / smaller filesize)
145+
- [KHR_draco_mesh_compression](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md) (requires [`com.unity.cloud.draco`](https://docs.unity3d.com/Packages/com.unity.cloud.draco@latest))
146+
- [KHR_texture_basisu](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_basisu/README.md) (requires [`com.unity.cloud.ktx`](https://docs.unity3d.com/Packages/com.unity.cloud.ktx@latest))
147+
- [EXT_mesh_gpu_instancing](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_mesh_gpu_instancing/README.md) (instance data) ![Vendor-specific Extension](https://img.shields.io/badge/⚠️%20Vendor--specific%20Extension-gray)
148+
- [EXT_meshopt_compression](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_meshopt_compression/README.md) (requires [`com.unity.meshopt.decompress`](https://docs.unity3d.com/Packages/com.unity.meshopt.decompress@latest)) ![Vendor-specific Extension](https://img.shields.io/badge/⚠️%20Vendor--specific%20Extension-gray)
149149

150150
### Export only
151151

152-
- KHR_materials_variants
152+
- [KHR_materials_variants](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_variants/README.md)
153153
- Timeline recorder track for exporting animations in the editor and at runtime
154154
- Lossless keyframe optimization on export
155155
- All 2D textures can be exported, RenderTextures included – they're baked at export.
156156
- Optional plugin: Bake TMPro 3D objects to meshes on export
157157
- Optional plugin: Bake Particle Systems to meshes on export
158158
- Optional plugin: Bake Canvas to meshes on export
159-
- Included plugin sample: KHR_audio
159+
- Included plugin sample: [KHR_audio_emitter](https://github.com/KhronosGroup/glTF/pull/2137) ![Non-Ratified Extension](https://img.shields.io/badge/⚠️%20Non--Ratified%20Extension-gray)
160160

161161
## glTF Materials
162162

163-
To leverage the extended material model of glTF in Unity, use the `UnityGLTF/PBRGraph` material.
164-
It allows the use of various glTF material extensions for import, export, and inside Unity.
165-
This includes features that URP is missing, such as transmission, volume, and per-texture UV control.
163+
The glTF shading model is physically based and supports many different types of surfaces. To use this extended material model of glTF in Unity, use the `UnityGLTF/PBRGraph` material.
164+
It allows the use of various glTF material extensions for import, export, and inside Unity. The shader includes a number of features that URP is missing, such as transmission and rough refraction, sheen and clearcoat, and per-texture UV control. For unlit materials, use `UnityGLTF/UnlitGraph`.
166165

167166
### Material Conversions
168167

@@ -174,13 +173,13 @@ When a shader doesn't have a converter yet, UnityGLTF will ask if you want to cr
174173
After the conversion script has been created, you can edit it to correctly map from the source shader's properties to PBRGraph properties.
175174
When you switch such a shader to PBRGraph the next time, your conversion script will run and automatically translate the materials in the specified way.
176175

177-
> **Note:** Currently, conversion scripts aren't used automatically on glTF export. Convert materials at edit time for best results.
176+
> **Note:** Currently, custom conversion scripts aren't used automatically on glTF export. For best results, convert materials in the Editor.
178177
179178
### Material and Shader Export Compatibility
180179

181-
If you want to design for glTF export, it's recommended to use Unity 2021.3+ with URP and the **UnityGLTF/PBRGraph** material. It comes with support for modern material extensions like refraction and iridescence, and allows for perfect roundtrips. Great for building glTF pipelines in and out of Unity.
180+
If you want to design for glTF export, it's recommended to use Unity 2021.3+ with URP and the **UnityGLTF/PBRGraph** material. It comes with support for modern material extensions like refraction and iridescence, and allows for perfect roundtrips. This material works great for building glTF pipelines in and out of Unity.
182181

183-
| Render Pipeline | Shader | Notes | Source |
182+
| Render Pipeline | Used Shader | Notes | Source |
184183
|----------------------------------------|--------------------------------------------------------------|----------------------------------------|--------------------|
185184
| URP on 2020.3+<br/>Built-In on 2021.3+ | **UnityGLTF/PBRGraph** <br/>☝️ *Use this if you're not sure* | Perfect roundtrip, Material Extensions | UnityGLTF |
186185
| | UnityGLTF/UnlitGraph | Perfect roundtrip | UnityGLTF |
@@ -287,7 +286,7 @@ Timeline recording uses the GLTFRecorder API under the hood.
287286

288287
### Legacy Animation Component
289288

290-
> **Note**: Animation Component export only works in the Editor. For runtime export, use the GLTFRecorder capabilities.
289+
> **Note**: Animation Component export only works in the Editor since Unity does not provide the required runtime access. For runtime export, use the `GLTFRecorder` capabilities.
291290
292291
Animation components and their legacy clips can also be exported.
293292

@@ -435,14 +434,14 @@ public class MyExportPluginContext: GLTFExportPluginContext
435434

436435
## Contributing
437436

438-
> **Note**: As of 20240129 the default branch of this repository has been renamed from `master` to `main`.
439-
440437
UnityGLTF is an open-source project. Well-tested PRs are welcome.
441438

442-
It is currently maintained by
439+
UnityGLTF is currently maintained by
443440
- [prefrontal cortex](https://prefrontalcortex.de), member of the Khronos Group and
444441
- [Needle](https://needle.tools), member of the Metaverse Standards Forum.
445442

443+
> **Note**: As of 20240129, the default branch of this repository has been renamed from `master` to `main`.
444+
446445
<details>
447446
<summary>More Details (legacy)</summary>
448447

0 commit comments

Comments
 (0)