diff --git a/CHANGELOG.md b/CHANGELOG.md
index b49fe5db..6e273e9e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,20 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [6.2.0] - 2024-01-29
+
+### 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)][DracoForUnity], which is a fork of and replaces [*DracoUnity* (com.atteneder.draco)][DracoUnity].
+
+### 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.
+
## [6.1.0] - 2024-01-17
### Added
@@ -1062,6 +1076,7 @@ This release contains multiple breaking changes. Please read the [upgrade guide]
[Entities1.0]: https://docs.unity3d.com/Packages/com.unity.entities@1.0
[KtxUnity]: https://github.com/atteneder/KtxUnity
[DanDovi]: https://github.com/DanDovi
+[DracoForUnity]: https://docs.unity3d.com/Packages/com.unity.cloud.draco@latest
[DracoUnity]: https://github.com/atteneder/DracoUnity
[aurorahcx]: https://github.com/aurorahcx
[Battlehub0x]: https://github.com/Battlehub0x
diff --git a/Documentation~/ExportRuntime.md b/Documentation~/ExportRuntime.md
index f767f208..057b582e 100644
--- a/Documentation~/ExportRuntime.md
+++ b/Documentation~/ExportRuntime.md
@@ -122,7 +122,7 @@ public class TestExport : MonoBehaviour {
### Draco Compression
-*Unity glTFast* supports applying [Google Draco™ 3D Data compression][Draco] to meshes. This requires the [DracoUnity][DracoUnity] package to be installed.
+*Unity glTFast* supports applying [Google Draco™ 3D Data compression][Draco] to meshes. This requires the [Draco for Unity][DracoForUnity] package to be installed.
```csharp
// ExportSettings provides generic export settings
@@ -147,7 +147,7 @@ var exportSettings = new ExportSettings {
[asmdef]: https://docs.unity3d.com/Manual/ScriptCompilationAssemblyDefinitionFiles.html
[Draco]: https://google.github.io/draco/
-[DracoUnity]: https://github.com/atteneder/DracoUnity
+[DracoForUnity]: https://docs.unity3d.com/Packages/com.unity.cloud.draco@latest
[GoogleLLC]: https://about.google/
[khronos]: https://www.khronos.org
[unity]: https://unity.com
diff --git a/Documentation~/UpgradeGuides.md b/Documentation~/UpgradeGuides.md
index 27a18ce9..96b98c0e 100644
--- a/Documentation~/UpgradeGuides.md
+++ b/Documentation~/UpgradeGuides.md
@@ -31,7 +31,7 @@ Unity forks have been created for *KtxUnity* and *DracoUnity* as well. If you've
See their respective upgrade guides
- Upgrade to [*KTX for Unity*](https://docs.unity3d.com/Packages/com.unity.cloud.ktx@3.2/manual/upgrade-guide.html)
-- Upgrade to *Draco for Unity* (coming soon)
+- Upgrade to [*Draco for Unity*](https://docs.unity3d.com/Packages/com.unity.cloud.draco@5.0/manual/upgrade-guide.html)
### Keep using the original glTFast
diff --git a/Documentation~/features.md b/Documentation~/features.md
index b6e27e05..250d2e07 100644
--- a/Documentation~/features.md
+++ b/Documentation~/features.md
@@ -67,7 +67,7 @@ The glTF 2.0 specification is fully supported, with only a few minor remarks.
| Texture coordinates / UV sets | ✅ | `?`
| Three or more texture coordinates / UV sets | 2☑️ | `?`
| Vertex colors | ✅ | `?`
-| Draco™ mesh compression (via [DracoUnity]) | ✅ | ✅
+| Draco™ mesh compression (via [DracoForUnity]) | ✅ | ✅
| Implicit (no) indices | ✅ |
| Per primitive material | ✅ | ✅
| Joints (up to 4 per vertex) | ✅ |
@@ -268,7 +268,7 @@ Possibly incomplete list of things that are known to not work with Entities yet:
[AnimationMecanim]: https://github.com/atteneder/glTFast/issues/167
[AnimationPlayables]: https://github.com/atteneder/glTFast/issues/166
[ClearCoat]: https://github.com/atteneder/glTFast/issues/68
-[DracoUnity]: https://github.com/atteneder/DracoUnity
+[DracoForUnity]: https://docs.unity3d.com/Packages/com.unity.cloud.draco@latest
[DOTS]: https://unity.com/dots
[Entities]: https://docs.unity3d.com/Packages/com.unity.entities@latest
[EntitiesGraphics]: https://docs.unity3d.com/Packages/com.unity.entities.graphics@latest
diff --git a/Documentation~/installation.md b/Documentation~/installation.md
index b4f486fc..7a5528ec 100644
--- a/Documentation~/installation.md
+++ b/Documentation~/installation.md
@@ -15,7 +15,7 @@ To install the *Unity glTFast* package, follow these steps:
There are some related package that improve *Unity glTFast* by extending its feature set.
-- [Draco™ 3D Data Compression Unity Package][DracoUnity] (provides support for [KHR_draco_mesh_compression][ExtDraco])
+- [Draco™ for Unity][DracoForUnity] (provides support for [KHR_draco_mesh_compression][ExtDraco])
- [KTX™ for Unity][KtxUnity] (provides support for [KHR_texture_basisu][ExtBasisU])
- [*meshoptimizer decompression for Unity*][Meshopt] (provides support for [EXT_meshopt_compression][ExtMeshopt])
@@ -29,7 +29,7 @@ There are some related package that improve *Unity glTFast* by extending its fea
*Draco™* is a trademark of [*Google LLC*][GoogleLLC].
-[DracoUnity]: https://github.com/atteneder/DracoUnity
+[DracoForUnity]: https://docs.unity3d.com/Packages/com.unity.cloud.draco@latest
[ExtBasisU]: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_texture_basisu
[ExtDraco]: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_draco_mesh_compression
[ExtMeshopt]: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/EXT_meshopt_compression
diff --git a/Editor/Scripts/PackageSetupCheck.cs b/Editor/Scripts/PackageSetupCheck.cs
new file mode 100644
index 00000000..775fa47a
--- /dev/null
+++ b/Editor/Scripts/PackageSetupCheck.cs
@@ -0,0 +1,158 @@
+// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors
+// SPDX-License-Identifier: Apache-2.0
+
+#if UNITY_2021_2_OR_NEWER
+#define HYPERLINK
+#define COMBINED
+#endif
+
+using System;
+using System.Collections.Generic;
+using UnityEditor;
+using UnityEditor.PackageManager;
+using UnityEditor.PackageManager.Requests;
+using UnityEngine;
+
+namespace GLTFast.Editor
+{
+ [InitializeOnLoad]
+ static class PackageSetupCheck
+ {
+ static ListRequest s_ListRequest;
+
+ static PackageReplacement[] s_Packages = new PackageReplacement[]
+ {
+ new PackageReplacement()
+ {
+ name = "Draco for Unity",
+ identifier = "com.unity.cloud.draco",
+ legacyName = "Draco 3D Data Compression",
+ legacyIdentifier = "com.atteneder.draco",
+ feature = "KHR_draco_mesh_compression",
+ featureUri = "https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md",
+ upgradeDocsUri = "https://docs.unity3d.com/Packages/com.unity.cloud.draco@5.0/manual/upgrade-guide.html#transition-to-draco-for-unity"
+ },
+ new PackageReplacement()
+ {
+ name = "KTX for Unity",
+ identifier = "com.unity.cloud.ktx",
+ legacyName = "KTX/Basis Universal Texture",
+ legacyIdentifier = "com.atteneder.ktx",
+ feature = "KHR_texture_basisu",
+ featureUri = "https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_basisu/README.md",
+ upgradeDocsUri = "https://docs.unity3d.com/Packages/com.unity.cloud.ktx@3.2/manual/upgrade-guide.html#transition-to-ktx-for-unity"
+ }
+ };
+
+ static PackageSetupCheck()
+ {
+ EditorApplication.update += WaitForPackageList;
+ s_ListRequest = Client.List(true);
+#if HYPERLINK
+ EditorGUI.hyperLinkClicked += HyperLinkClicked;
+#endif
+ }
+
+ static void WaitForPackageList()
+ {
+ if (s_ListRequest != null && s_ListRequest.IsCompleted)
+ {
+ if (s_ListRequest.Error == null)
+ {
+ foreach (var package in s_Packages)
+ {
+ CheckForLegacyPackage(s_ListRequest.Result, package);
+ }
+ }
+
+ s_ListRequest = null;
+ EditorApplication.update -= WaitForPackageList;
+ }
+ }
+
+ static void CheckForLegacyPackage(
+ PackageCollection packages,
+ PackageReplacement pkg
+ )
+ {
+ var legacyFound = false;
+
+ foreach (var packageInfo in packages)
+ {
+ if (packageInfo.name == pkg.legacyIdentifier)
+ {
+ legacyFound = true;
+ }
+ }
+ if (legacyFound)
+ {
+ pkg.LogUpgradeMessage();
+ }
+ }
+
+#if HYPERLINK
+ static void HyperLinkClicked(EditorWindow window, HyperLinkClickedEventArgs args)
+ {
+ if(args.hyperLinkData.TryGetValue("command", out var command) && command=="replace")
+ {
+ if (args.hyperLinkData.TryGetValue("arg", out var pkg))
+ {
+ foreach (var package in s_Packages)
+ {
+ if (package.legacyIdentifier == pkg)
+ {
+ ReplacePackage(package);
+ }
+ }
+ }
+ }
+ }
+#endif
+
+#if COMBINED
+ static void ReplacePackage(PackageReplacement package)
+ {
+ if (EditorUtility.DisplayDialog(
+ "Package Upgrade",
+ $"Replace deprecated {package.legacyName} ({package.legacyIdentifier}) by {package.name} ({package.identifier})?",
+ "Replace",
+ "Cancel"
+ )
+ )
+ {
+ Client.AddAndRemove(
+ new[] { package.identifier },
+ new[] { package.legacyIdentifier }
+ );
+ }
+ }
+#endif
+ }
+
+ struct PackageReplacement
+ {
+ public string name;
+ public string identifier;
+ public string legacyName;
+ public string legacyIdentifier;
+ public string feature;
+ public string featureUri;
+ public string upgradeDocsUri;
+
+ public void LogUpgradeMessage()
+ {
+ var message = $"Deprecated package {legacyName} ({legacyIdentifier}) detected!\n" +
+ $"glTFast now requires {name} ({identifier}) instead to provide support for " +
+ $"{feature}.\n";
+#if HYPERLINK
+ message +=
+ $"You can automatically replace the " +
+ $"deprecated package or do it manually following the documentation.";
+#else
+ message += "To upgrade the package, follow the documentation at " +
+ $"{upgradeDocsUri}";
+#endif
+ Debug.LogWarning(message);
+ }
+ }
+}
diff --git a/Editor/Scripts/PackageSetupCheck.cs.meta b/Editor/Scripts/PackageSetupCheck.cs.meta
new file mode 100644
index 00000000..5c96ba7a
--- /dev/null
+++ b/Editor/Scripts/PackageSetupCheck.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 433625e5684fd4f83b3ee45f614c2d7d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs
index dea1f81c..b1bedbfc 100644
--- a/Runtime/Scripts/Export/Constants.cs
+++ b/Runtime/Scripts/Export/Constants.cs
@@ -7,7 +7,7 @@ namespace GLTFast.Export
{
static class Constants
{
- public const string version = "6.1.0";
+ public const string version = "6.2.0";
internal const string mimeTypePNG = "image/png";
internal const string mimeTypeJPG = "image/jpeg";
diff --git a/Runtime/Scripts/Export/DracoExportSettings.cs b/Runtime/Scripts/Export/DracoExportSettings.cs
index 7cc2e1dd..1d5c5b76 100644
--- a/Runtime/Scripts/Export/DracoExportSettings.cs
+++ b/Runtime/Scripts/Export/DracoExportSettings.cs
@@ -1,6 +1,10 @@
// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors
// SPDX-License-Identifier: Apache-2.0
+#if DRACO_UNITY
+using Draco.Encode;
+#endif
+
namespace GLTFast.Export
{
///
@@ -28,5 +32,19 @@ public class DracoExportSettings
/// Color quantization.
public int colorQuantization = 8;
+
+#if DRACO_UNITY
+ public static implicit operator QuantizationSettings(DracoExportSettings s) => new QuantizationSettings(
+ s.positionQuantization,
+ s.normalQuantization,
+ s.texCoordQuantization,
+ s.colorQuantization
+ );
+
+ public static implicit operator SpeedSettings(DracoExportSettings s) => new SpeedSettings(
+ s.encodingSpeed,
+ s.decodingSpeed
+ );
+#endif
}
}
diff --git a/Runtime/Scripts/Export/GltfWriter.cs b/Runtime/Scripts/Export/GltfWriter.cs
index 77c741e7..32944ad1 100644
--- a/Runtime/Scripts/Export/GltfWriter.cs
+++ b/Runtime/Scripts/Export/GltfWriter.cs
@@ -14,7 +14,7 @@
using System.Threading.Tasks;
#if DRACO_UNITY
-using Draco.Encoder;
+using Draco.Encode;
#endif
using GLTFast.Schema;
using Unity.Collections;
@@ -926,7 +926,7 @@ async Task BakeMeshes() {
m_Logger.Warning(LogCode.UncompressedFallbackNotSupported);
}
#else
- m_Logger?.Error(LogCode.PackageMissing, "DracoUnity", ExtensionName.DracoMeshCompression);
+ m_Logger?.Error(LogCode.PackageMissing, "Draco For Unity", ExtensionName.DracoMeshCompression);
return false;
#endif
}
@@ -1296,12 +1296,8 @@ async Task BakeMeshDraco(int meshId, UnityEngine.Mesh.MeshData meshData)
var results = await DracoEncoder.EncodeMesh(
unityMesh,
meshData,
- m_Settings.DracoSettings.encodingSpeed,
- m_Settings.DracoSettings.decodingSpeed,
- m_Settings.DracoSettings.positionQuantization,
- m_Settings.DracoSettings.normalQuantization,
- m_Settings.DracoSettings.texCoordQuantization,
- m_Settings.DracoSettings.colorQuantization
+ (QuantizationSettings) m_Settings.DracoSettings,
+ (SpeedSettings) m_Settings.DracoSettings
);
if (results == null) return;
diff --git a/Runtime/Scripts/Export/glTFast.Export.asmdef b/Runtime/Scripts/Export/glTFast.Export.asmdef
index f779a6c7..71eb66bd 100644
--- a/Runtime/Scripts/Export/glTFast.Export.asmdef
+++ b/Runtime/Scripts/Export/glTFast.Export.asmdef
@@ -7,7 +7,7 @@
"Unity.Burst",
"Unity.RenderPipelines.Universal.Runtime",
"Unity.RenderPipelines.HighDefinition.Runtime",
- "DracoEncoder"
+ "Draco.Encode"
],
"includePlatforms": [],
"excludePlatforms": [],
@@ -33,7 +33,7 @@
"define": "UNITY_IMAGECONVERSION"
},
{
- "name": "com.atteneder.draco",
+ "name": "com.unity.cloud.draco",
"expression": "5.0.0-pre.1",
"define": "DRACO_UNITY"
}
diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs
index 85117473..89f785dc 100644
--- a/Runtime/Scripts/GltfImport.cs
+++ b/Runtime/Scripts/GltfImport.cs
@@ -44,7 +44,6 @@
using UnityEngine.Experimental.Rendering;
using UnityEngine.Profiling;
using UnityEngine;
-
using Debug = UnityEngine.Debug;
[assembly: InternalsVisibleTo("glTFast.Editor")]
@@ -832,7 +831,7 @@ public Texture2D GetTexture(int index = 0)
public bool IsTextureYFlipped(int index = 0)
{
#if KTX
- return m_NonFlippedYTextureIndices == null || !m_NonFlippedYTextureIndices.Contains(index);
+ return (m_NonFlippedYTextureIndices == null || !m_NonFlippedYTextureIndices.Contains(index)) && GetSourceTexture(index).IsKtx;
#else
return false;
#endif
@@ -1154,7 +1153,7 @@ bool CheckExtensionSupport(IEnumerable extensions, bool required = true)
#if !DRACO_UNITY
if (ext == ExtensionName.DracoMeshCompression)
{
- m_Logger?.Error(LogCode.PackageMissing, "DracoUnity", ext);
+ m_Logger?.Error(LogCode.PackageMissing, "Draco for Unity", ext);
}
#endif
@@ -3473,7 +3472,7 @@ void PreparePrimitiveDraco( RootBase gltf, MeshPrimitiveBase primitive, ref Prim
var bufferView = gltf.BufferViews[dracoExt.bufferView];
var buffer = GetBufferViewSlice(bufferView);
- c.StartDecode(buffer, dracoExt.attributes.WEIGHTS_0, dracoExt.attributes.JOINTS_0);
+ c.StartDecode(buffer, dracoExt.attributes);
}
#endif
diff --git a/Runtime/Scripts/Material/BuiltInShaderGraphMaterialGenerator.cs b/Runtime/Scripts/Material/BuiltInShaderGraphMaterialGenerator.cs
index 81f8b7cc..feb1e43d 100644
--- a/Runtime/Scripts/Material/BuiltInShaderGraphMaterialGenerator.cs
+++ b/Runtime/Scripts/Material/BuiltInShaderGraphMaterialGenerator.cs
@@ -3,8 +3,10 @@
#if UNITY_SHADER_GRAPH_12_OR_NEWER && GLTFAST_BUILTIN_SHADER_GRAPH
+using GLTFast.Schema;
using UnityEngine;
using UnityEngine.Rendering;
+using Material = UnityEngine.Material;
namespace GLTFast.Materials {
public class BuiltInShaderGraphMaterialGenerator : ShaderGraphMaterialGenerator {
@@ -17,12 +19,12 @@ public class BuiltInShaderGraphMaterialGenerator : ShaderGraphMaterialGenerator
static readonly int k_SurfacePropId = Shader.PropertyToID("_BUILTIN_Surface");
static readonly int k_ZWritePropId = Shader.PropertyToID("_BUILTIN_ZWrite");
- protected override void SetDoubleSided(Schema.Material gltfMaterial, Material material) {
+ protected override void SetDoubleSided(MaterialBase gltfMaterial, Material material) {
base.SetDoubleSided(gltfMaterial,material);
material.SetFloat(k_CullModePropId, (int)CullMode.Off);
}
- protected override void SetShaderModeBlend(Schema.Material gltfMaterial, Material material) {
+ protected override void SetShaderModeBlend(MaterialBase gltfMaterial, Material material) {
material.EnableKeyword(AlphaTestOnKeyword);
material.EnableKeyword(k_SurfaceTypeTransparent);
material.renderQueue = (int)RenderQueue.Transparent;
diff --git a/Runtime/Scripts/PrimitiveDracoCreateContext.cs b/Runtime/Scripts/PrimitiveDracoCreateContext.cs
index 35d20209..98850826 100644
--- a/Runtime/Scripts/PrimitiveDracoCreateContext.cs
+++ b/Runtime/Scripts/PrimitiveDracoCreateContext.cs
@@ -4,17 +4,19 @@
#if DRACO_UNITY
using System;
+using System.Collections.Generic;
using System.Threading.Tasks;
using UnityEngine;
using Unity.Collections;
using Draco;
+using GLTFast.Schema;
using UnityEngine.Rendering;
+using Mesh = UnityEngine.Mesh;
namespace GLTFast {
class PrimitiveDracoCreateContext : PrimitiveCreateContextBase {
- DracoMeshLoader m_Draco;
Task m_DracoTask;
Bounds? m_Bounds;
@@ -39,16 +41,23 @@ public PrimitiveDracoCreateContext(
m_Bounds = bounds;
}
- public void StartDecode(NativeSlice data, int weightsAttributeId, int jointsAttributeId) {
- m_Draco = new DracoMeshLoader();
- m_DracoTask = m_Draco.ConvertDracoMeshToUnity(
- data,
- m_NeedsNormals,
- m_NeedsTangents,
- weightsAttributeId,
- jointsAttributeId,
- morphTargetsContext!=null
- );
+ public void StartDecode(NativeSlice data, Attributes dracoAttributes)
+ {
+ var flags = DecodeSettings.ConvertSpace;
+ if (m_NeedsTangents)
+ {
+ flags |= DecodeSettings.RequireNormalsAndTangents;
+ } else
+ if (m_NeedsNormals)
+ {
+ flags |= DecodeSettings.RequireNormals;
+ }
+ if (morphTargetsContext != null)
+ {
+ flags |= DecodeSettings.ForceUnityVertexLayout;
+ }
+
+ m_DracoTask = DracoDecoder.DecodeMesh(data, flags, GenerateAttributeIdMap(dracoAttributes));
}
public override async Task CreatePrimitive() {
@@ -102,6 +111,40 @@ public void StartDecode(NativeSlice data, int weightsAttributeId, int join
mesh
);
}
+
+ static Dictionary GenerateAttributeIdMap(Attributes attributes)
+ {
+ var result = new Dictionary();
+ if (attributes.POSITION >= 0)
+ result[VertexAttribute.Position] = attributes.POSITION;
+ if (attributes.NORMAL >= 0)
+ result[VertexAttribute.Normal] = attributes.NORMAL;
+ if (attributes.TANGENT >= 0)
+ result[VertexAttribute.Normal] = attributes.TANGENT;
+ if (attributes.COLOR_0 >= 0)
+ result[VertexAttribute.Color] = attributes.COLOR_0;
+ if (attributes.TEXCOORD_0 >= 0)
+ result[VertexAttribute.TexCoord0] = attributes.TEXCOORD_0;
+ if (attributes.TEXCOORD_1 >= 0)
+ result[VertexAttribute.TexCoord1] = attributes.TEXCOORD_1;
+ if (attributes.TEXCOORD_2 >= 0)
+ result[VertexAttribute.TexCoord2] = attributes.TEXCOORD_2;
+ if (attributes.TEXCOORD_3 >= 0)
+ result[VertexAttribute.TexCoord3] = attributes.TEXCOORD_3;
+ if (attributes.TEXCOORD_4 >= 0)
+ result[VertexAttribute.TexCoord4] = attributes.TEXCOORD_4;
+ if (attributes.TEXCOORD_5 >= 0)
+ result[VertexAttribute.TexCoord5] = attributes.TEXCOORD_5;
+ if (attributes.TEXCOORD_6 >= 0)
+ result[VertexAttribute.TexCoord6] = attributes.TEXCOORD_6;
+ if (attributes.TEXCOORD_7 >= 0)
+ result[VertexAttribute.TexCoord7] = attributes.TEXCOORD_7;
+ if (attributes.WEIGHTS_0 >= 0)
+ result[VertexAttribute.BlendWeight] = attributes.WEIGHTS_0;
+ if (attributes.JOINTS_0 >= 0)
+ result[VertexAttribute.BlendIndices] = attributes.JOINTS_0;
+ return result;
+ }
}
}
#endif // DRACO_UNITY
diff --git a/Runtime/Scripts/glTFast.asmdef b/Runtime/Scripts/glTFast.asmdef
index 0d28d877..5df39654 100644
--- a/Runtime/Scripts/glTFast.asmdef
+++ b/Runtime/Scripts/glTFast.asmdef
@@ -21,8 +21,8 @@
"defineConstraints": [],
"versionDefines": [
{
- "name": "com.atteneder.draco",
- "expression": "3.1.0",
+ "name": "com.unity.cloud.draco",
+ "expression": "5.0.0-pre.1",
"define": "DRACO_UNITY"
},
{
@@ -102,4 +102,4 @@
}
],
"noEngineReferences": false
-}
+}
\ No newline at end of file
diff --git a/Samples/Documentation/Manual/CustomGltfImport.cs b/Samples/Documentation/Manual/CustomGltfImport.cs
index ea617af1..5ce6da08 100644
--- a/Samples/Documentation/Manual/CustomGltfImport.cs
+++ b/Samples/Documentation/Manual/CustomGltfImport.cs
@@ -1,7 +1,7 @@
+#if NEWTONSOFT_JSON
namespace Samples.Documentation.Manual
{
-
- #region CustomGltfImport
+#region CustomGltfImport
using GLTFast;
using GLTFast.Addons;
using System;
@@ -96,6 +96,7 @@ void OnNodeCreated(uint nodeIndex, GameObject gameObject)
}
}
}
- #endregion
+#endregion
}
+#endif
diff --git a/Samples/Documentation/Unity.Cloud.Gltfast.Documentation.asmdef b/Samples/Documentation/Unity.Cloud.Gltfast.Documentation.asmdef
index 1b779752..378bf6cb 100644
--- a/Samples/Documentation/Unity.Cloud.Gltfast.Documentation.asmdef
+++ b/Samples/Documentation/Unity.Cloud.Gltfast.Documentation.asmdef
@@ -12,6 +12,12 @@
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
- "versionDefines": [],
+ "versionDefines": [
+ {
+ "name": "com.unity.nuget.newtonsoft-json",
+ "expression": "3",
+ "define": "NEWTONSOFT_JSON"
+ }
+ ],
"noEngineReferences": false
}
\ No newline at end of file
diff --git a/package.json b/package.json
index 05e7af12..a576358e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "com.atteneder.gltfast",
- "version": "6.1.0",
+ "version": "6.2.0",
"displayName": "glTFast",
"description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor",
"unity": "2020.3",