atteneder / DracoUnity

Draco 3D Data Compression Unity Package
Apache License 2.0
247 stars 40 forks source link

Build fails for WebGL on Unity 2022.2 (new Emscripten) #55

Closed dinkelstefan closed 9 months ago

dinkelstefan commented 1 year ago

After upgrading to unity 2022.2 my project build fails with the following error:

Library\Bee\artifacts\WebGL\build\debug_WebGL_wasm\build.js: undefined symbol: _ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_ (referenced by top-level compiled C/C++ code)

I'm thinking this is caused by the new Emscripten version

After searching files for the symbol name it seems to originate from the WebGL Plugin "libdracodec_unity.a" _ZNSt3__212basic_stringIcNS_11char_traitsIcEENS9allocatorIcEEEC1ERKS5

\Library\PackageCache\com.atteneder.draco@4.0.2\Runtime\Plugins\WebGL\libdracodec_unity.a (5 hits) Line 6456 Line 12534 Line 13293 Line 14564 Line 15409

Looking for advice on how to fix this. We want to use the new features of this unity version

Unity forum link: https://forum.unity.com/threads/builds-failing-after-upgrading-to-2022-2.1385088/

atteneder commented 1 year ago

Hi Stefan,

Thanks for reporting!

Indeed emscripten seems to have upgraded from 2.0.19 to 3.1.8-git. I'll try an updated build and if that fixes the problem, I'm going to have to make a new major release with updated binaries.

dinkelstefan commented 1 year ago

Thanks for the quick reply, Looking forward to the new release! Hit me up if you need someone to test it when it's done.

dinkelstefan commented 1 year ago

Hi Andreas, just checking if there is any progress on a release for Unity 2022.2?

JudahMantell commented 1 year ago

I just wanted to chime in here and say that I'm getting a similar error with the Draco plugin in my project. Any help on this would be greatly appreciated!

sambaas commented 1 year ago

got the same issue here on unity 2022.2.21 trying to build a project that uses the new Google Maps 3DTiles dataset (the glb content depends on draco) @atteneder Did you have any luck with the upgrade for emscripten?

atteneder commented 1 year ago

Hi folks,

TL;DR: I can give you an immediate workaround right now and we're working on a convenient long-term solution.

Problem

Native Draco libraries are compiled into WebAssembly via Emscripten. Different versions of Unity use different versions of Emscripten. Not all of them are compatible, so one has to compile the libs with the exact version Unity uses. The lack of Unity version settings on native libraries makes it impossible to provide one package that works across a large range of Unity versions.

What I did so far

In the past I just bumped the major release number, so we ended up with:

I could make 5.x support 2022 and 6.x the upcoming 2023.2, but that has downsides:

Solution

As said, unfortunately Unity does not offer a solution here. What we'll do is split the WebAssembly binaries into sub-packages. One for each Emscripten version. The main package will contain code, that automatically configures your project, so that you'll end up with a working built with one click.

This is in the making, but releasing a package properly involves some work and multiple parties. Your patience is appreciated.

Workaround for Unity 2022 and newer

  1. Download a copy of the most recent DracoUnity 4.1.0 and unzip it.
  2. Download the Draco binaries 1.1.0 I've built via GitHub Actions and unzip it.
  3. Copy the library files in WebGL/2022/*.a over into the package subfolder Runtime/Plugins/WebGL
  4. Open your project with Unity 2022 or newer and install DracoUnity from the local copy you just altered
  5. Try to make a WebGL build

Again, sorry for the delay and thanks for your patience.

PTC-sradlwimmer commented 1 year ago

Hi Andreas!

Thanks for you interim solution! As far as compilation goes your solution does work: I can now build in Unity 2022.3 LTS (even with -s LLD_REPORT_UNDEFINED defined)

But when I try to load a Draco compressed GTLF model I get these runtime errors:

Unregistering memory that was not allocated using this allocator.

Draco.d__9:MoveNext()
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.Tasks.AwaitTaskContinuation:InvokeAction(Object)
System.Runtime.CompilerServices.MoveNextRunner:Run()
System.Threading.Tasks.AwaitTaskContinuation:InvokeAction(Object)
System.Threading.Tasks.AwaitTaskContinuation:RunCallback(ContextCallback, Object, Task&)
System.Threading.Tasks.AwaitTaskContinuation:InvokeAction(Object)
System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation:Run(Task, Boolean)
System.Threading.Tasks.Task:FinishContinuations()
System.Threading.Tasks.Task:FinishContinuations()
System.Threading.Tasks.Task:FinishContinuations()
System.Threading.Tasks.Task:FinishContinuations()
System.Threading.Tasks.Task`1:TrySetResult(VoidTaskResult)
System.Threading.Tasks.Task`1:TrySetResult(VoidTaskResult)
Draco.d__10:MoveNext()
System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetResult()
System.Runtime.CompilerServices.MoveNextRunner:InvokeMoveNext(Object)
System.Runtime.CompilerServices.MoveNextRunner:InvokeMoveNext(Object)
System.Runtime.CompilerServices.MoveNextRunner:Run()
System.Runtime.CompilerServices.YieldAwaiter:RunAction(Object)
UnityEngine.WorkRequest:Invoke()
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.IntPtr:op_Explicit(IntPtr)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
Draco.DracoNative:DisposeDracoMesh()
Draco.d__9:MoveNext()
System.IntPtr:op_Explicit(IntPtr)
System.Runtime.CompilerServices.MoveNextRunner:InvokeMoveNext(Object)
System.IntPtr:op_Explicit(IntPtr)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Runtime.CompilerServices.MoveNextRunner:Run()
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation:Run(Task, Boolean)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.Threading.Interlocked:Exchange(Object&, Object)
System.IntPtr:op_Explicit(IntPtr)
System.Threading.Tasks.Task:FinishContinuations()
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.Threading.Tasks.Task:get_IsCompleted()
System.Threading.Reader:IsDefaultFTContext(Boolean)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.Runtime.CompilerServices.YieldAwaiter:RunAction(Object)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.IntPtr:op_Explicit(IntPtr)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.Runtime.CompilerServices.MoveNextRunner:Run()
System.Runtime.CompilerServices.YieldAwaiter:RunAction(Object)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
UnityEngine.WorkRequest:Invoke()
System.Array:Copy(Array, Int32, Array, Int32, Int32)
System.IntPtr:op_Explicit(IntPtr)
UnityEngine.MeshData:GetVertexDataPtr(IntPtr, Int32)
UnityEngine.UnitySynchronizationContext:ExecuteTasks()
Unity.Jobs.ExecuteJobFunction:Invoke(GetDracoDataInterleavedJob&, IntPtr, IntPtr, JobRanges&, Int32)
Microsoft.MixedReality.Toolkit.Physics.RayStep:GetPointByDistance(RayStep[], Single)
Microsoft.MixedReality.Toolkit.Input.GazeProvider:Update()
Draco.DracoNative:GetAttributeData(DracoMesh*, DracoAttribute*, DracoData**, Boolean, Int32)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
Microsoft.MixedReality.Toolkit.Input.FocusProvider:ReconcilePointers()
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.IntPtr:op_Explicit(IntPtr)
Microsoft.MixedReality.Toolkit.Input.FocusProvider:UpdatePointers()
MRTK.PlayModeMouseDeviceManager:Update()
System.IntPtr:op_Explicit(IntPtr)
System.IntPtr:op_Explicit(IntPtr)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.Collections.Generic.Enumerator:MoveNext()
UnityEngine.InputSystem.LowLevel.<>c__DisplayClass7_0:b__0(NativeInputUpdateType, NativeInputEventBuffer*)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
Cysharp.Threading.Tasks.Internal.ContinuationQueue:Run()
UnityEngine.LowLevel.UpdateFunction:Invoke()
Unity.Jobs.ExecuteJobFunction:Invoke(GetDracoDataInterleavedJob&, IntPtr, IntPtr, JobRanges&, Int32)
UnityEngine.InputSystem.LowLevel.<>c__DisplayClass13_0:b__0(NativeInputUpdateType)
UnityEngineInternal.Input.NativeInputSystem:ShouldRunUpdate(NativeInputUpdateType, Boolean&)
Draco.GetDracoDataInterleavedJob:Execute()
Unity.Jobs.JobStruct`1:Execute(GetDracoDataInterleavedJob&, IntPtr, IntPtr, JobRanges&, Int32)
Unity.Jobs.ExecuteJobFunction:Invoke(GetDracoDataInterleavedJob&, IntPtr, IntPtr, JobRanges&, Int32)
Unity.Jobs.ExecuteJobFunction:Invoke(DecodeVerticesJob&, IntPtr, IntPtr, JobRanges&, Int32)
Microsoft.MixedReality.Toolkit.Input.GazeProvider:LateUpdate()
System.Threading.Tasks.Task:FinishStageThree()
System.Threading.Tasks.Task`1:TrySetResult(VoidTaskResult)
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetResult(VoidTaskResult)
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetResult(Task`1)
System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetResult()
GLTFast.d__12:MoveNext()
System.Runtime.CompilerServices.MoveNextRunner:InvokeMoveNext(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Runtime.CompilerServices.MoveNextRunner:Run()
System.Runtime.CompilerServices.YieldAwaiter:RunAction(Object)
UnityEngine.WorkRequest:Invoke()
System.Threading.Tasks.Task:FinishStageThree()
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.IntPtr:op_Explicit(IntPtr)
System.Runtime.CompilerServices.MoveNextRunner:InvokeMoveNext(Object)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.Runtime.CompilerServices.RuntimeHelpers:PrepareConstrainedRegions()
System.Threading.Thread:get_CurrentThread()
Unity.Collections.LowLevel.Unsafe.NativeArrayUnsafeUtility:ConvertExistingDataToNativeArray(Void*, Int32, Allocator)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.Runtime.CompilerServices.MoveNextRunner:Run()
System.Runtime.CompilerServices.YieldAwaiter:RunAction(Object)
UnityEngine.WorkRequest:Invoke()
System.IntPtr:op_Explicit(IntPtr)
System.Collections.Generic.List`1:RemoveAt(Int32)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
UnityEngine.WorkRequest:Invoke()
System.Threading.Reader:HasSameLocalValues(ExecutionContext)
System.Runtime.CompilerServices.MoveNextRunner:Run()
System.IntPtr:op_Explicit(IntPtr)
UnityEngine.WorkRequest:Invoke()
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.Collections.Generic.List`1:RemoveAt(Int32)
System.Collections.Generic.List`1:get_Item(Int32)
Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemCpy(Void*, Void*, Int64)
System.IntPtr:op_Explicit(IntPtr)
System.Threading.ExecutionContext:FastCapture()
System.Runtime.CompilerServ

memory access out of bounds

Unity.worker.js:65 RuntimeError: memory access out of bounds
    at std::__2::__bit_reference >, true>::operator=(bool) (Unity.wasm:0x7336f8)
    at draco::TraverserBase >::MarkFaceVisited(draco::IndexType) (Unity.wasm:0x75c879)
    at draco::DepthFirstTraverser >::TraverseFromCorner(draco::IndexType) (Unity.wasm:0x75c497)
    at draco::MeshTraversalSequencer > >::ProcessCorner(draco::IndexType) (Unity.wasm:0x75c319)
    at draco::MeshTraversalSequencer > >::GenerateSequenceInternal() (Unity.wasm:0x75c2e3)
    at draco::PointsSequencer::GenerateSequence(std::__2::vector, std::__2::allocator > >*) (Unity.wasm:0x73d324)
    at draco::SequentialAttributeDecodersController::DecodeAttributes(draco::DecoderBuffer*) (Unity.wasm:0x73d27c)
    at draco::PointCloudDecoder::DecodeAllAttributes() (Unity.wasm:0x727911)
    at draco::PointCloudDecoder::DecodePointAttributesStep2() (Unity.wasm:0x72779d)
    at draco::PointCloudDecoder::DecodeStep2() (Unity.wasm:0x727503)

Did you encounter these when testing?

Thanks in advance, Stefan

sambaas commented 1 year ago

Great! Good to hear you are working on it, and the temporary fix works for us; we can now build (using 2022.2.21), and the glb's load up nicely.

@PTC-sradlwimmer Did you try increasing the Initial Memory Size in 'Player / Publishing Settings'? If it is a large GLTF you are loading it might be due to the heap memory that is unable to expand (on time). We use gltFast and also removed a lot of properties from the shadergraphs used by our dataset models. All the different options in the gltf shaders causes a lot of shader variants to be compiled, and they take up a lot of memory in the webgl build.

PTC-sradlwimmer commented 1 year ago

@sambaas Great hint! Totally forgot that PlayerSettings.WebGL.memorySize is deprecated and won't do anything - when I set PlayerSettings.WebGL.initialMemorySize I got different error messages:

Pthread: null function or function signature mismatch

Unity.loader.js:85 Pthread 0x0344ca20 sent an error! http://localhost:8000/Unity/Build/Unity.worker.js:197: Uncaught RuntimeError: null function or function signature mismatch

Uncaught RuntimeError: null function or function signature mismatch
    at draco::PointCloudDecoder::DecodeStep2() (Unity.wasm:0x727504)
    at draco::MeshDecoder::DecodeStep2() (Unity.wasm:0x74f94b)
    at draco::Decoder::DecodeBufferToGeometryStep2() (Unity.wasm:0x760a32)
    at draco::Decoder::DecodeMeshFromBufferStep2() (Unity.wasm:0x760bca)
    at DecodeDracoMeshStep2 (Unity.wasm:0x7616b0)
    at dynCall_iiii (Unity.wasm:0x4c4b6e0)
    at Unity.framework.js:1687:20
    at invoke_iiii (Unity.framework.js:17231:10)
    at DecodeVerticesJob_Execute_mC31D57A8D84BCF7D7596C1D43CD97469530812D4 (Unity.wasm:0x78e1ee)
    at RuntimeInvoker_TrueVoid_t4861ACF8F4594C3437BB48B6E56783494B843915(void (*)(), MethodInfo const*, void*, void**, void*) (Unity.wasm:0x3e0cc08)

The fact that this mentions Pthread lead me to setting PlayerSettings.WebGL.threadsSupport = false. If I do so I can load Draco Meshes.

@atteneder Could you make sure to verify your final solution with PlayerSettings.WebGL.threadsSupport = true?

atteneder commented 1 year ago

@PTC-sradlwimmer I've tried and an isolated test (altered DracoUnityDemo with a point cloud sample) and it worked:

image

Can you certify that you used the exact DracoUnity 4.1.0 release with the 1.1.0 binaries? If yes, then maybe your build process strips away too many functions during linking.

edit: Successfully tried non-development builds as well.

PTC-sradlwimmer commented 1 year ago

@atteneder Can confirm your solution works.

The issues I encountered were not caused by DracoUnity, but just manifested there. I was finally able to pin down a threading issue that we reported to Unity.

der-hugo commented 1 year ago

Thanks for the workaround! 🎉

Regarding the semantic versioning I would claim:

This would be quite normal though and though I understand the potential concerns, it is not necessary that Draco's major version bumps synchronous with Unity - in contrary it would limit you in the way you stated above which is not the intend of versioning

omidhedayati commented 1 year ago

@atteneder Thanks for the workaround,it works on webgl builds now but after using this solution i face this error on editor,it was ok before workaround. version: 2022.3.4f1 Screenshot 2023-09-09 143456

yoneyamaharuto commented 1 year ago

@atteneder Thanks for the workaround,it works on webgl builds now but after using this solution i face this error on editor,it was ok before workaround. version: 2022.3.4f1 Screenshot 2023-09-09 143456

After installing git's Draco in the package manager, copy the Runtime/Plugins/x86_64 folder, delete the x86_64 folder of Draco in the local copy, and replace it Sorry, maybe my english is strange.

RyuuyaS commented 1 year ago

Hello @atteneder, can you update me about this bug?

atteneder commented 1 year ago

@der-hugo I thought about this as well, but we've opted for another solution that puts WebGL binaries in a sub-package.

@omidhedayati Most of the times this is related to incorrect use of GIT LFS and thus incorrect binaries. Check if the binary files are actually correct (in size and content).

@RyuuyaS Technically this is done, but formal and legal issues need to be resolved before we release the fixed version. I'm not promises, but I expect it to take 1-2 months.

RyuuyaS commented 11 months ago

Hi @atteneder, will the 5.0.0 version be released by the end of 2023, or it will be delayed to 2024

Yunseongpyo commented 11 months ago

Hi folks,

TL;DR: I can give you an immediate workaround right now and we're working on a convenient long-term solution.

Problem

Native Draco libraries are compiled into WebAssembly via Emscripten. Different versions of Unity use different versions of Emscripten. Not all of them are compatible, so one has to compile the libs with the exact version Unity uses. The lack of Unity version settings on native libraries makes it impossible to provide one package that works across a large range of Unity versions.

What I did so far

In the past I just bumped the major release number, so we ended up with:

  • DracoUnity 3.x, which works for Unity (2019-) 2020
  • DracoUnity 4.x, which works for Unity 2021

I could make 5.x support 2022 and 6.x the upcoming 2023.2, but that has downsides:

  • Supporting 4 releases in parallel is much more work
  • Breaks the concept of semantic versioning. Imagine there's a new API breaking feature. How do you bump versions now?

Solution

As said, unfortunately Unity does not offer a solution here. What we'll do is split the WebAssembly binaries into sub-packages. One for each Emscripten version. The main package will contain code, that automatically configures your project, so that you'll end up with a working built with one click.

This is in the making, but releasing a package properly involves some work and multiple parties. Your patience is appreciated.

Workaround for Unity 2022 and newer

  1. Download a copy of the most recent DracoUnity 4.1.0 and unzip it.
  2. Download the Draco binaries 1.1.0 I've built via GitHub Actions and unzip it.
  3. Copy the library files in WebGL/2022/*.a over into the package subfolder Runtime/Plugins/WebGL
  4. Open your project with Unity 2022 or newer and install DracoUnity from the local copy you just altered
  5. Try to make a WebGL build

Again, sorry for the delay and thanks for your patience.

Hello~ I am trying to download Draco binaries 1.1.0 due to a webgl build error in unity 2022.3.14 version, but not found is displayed. Can you please share it one more time?

RyuuyaS commented 11 months ago

https://github.com/atteneder/draco/releases/ You can install the latest version which is 2.0.0

jaivigls commented 11 months ago

Hi @RyuuyaS my project was building with 1.1.0 binaries but is not working with 2.0.0 any solutions? I do have the backup files with version 1.1.0 not sure how to extract binaries from there

shpitsmedia commented 11 months ago

Hi, We're getting the following errors while trying to build for WebGL using Unity 2022.3.14f undefined symbol: _ZN5draco7Encoder15SetSpeedOptionsEii undefined symbol: _ZN5draco7Encoder17SetEncodingMethodEi undefined symbol: _ZN5draco7Encoder18EncodeMeshToBufferERKNS_4MeshEPNS_13EncoderBufferE undefined symbol: _ZN5draco7Encoder24EncodePointCloudToBufferERKNS_10PointCloudEPNS_13EncoderBufferE undefined symbol: _ZN5draco7Encoder24SetAttributeQuantizationENS_17GeometryAttribute4TypeEi undefined symbol: _ZN5draco7EncoderC1Ev

We've tried with both draco 1.10 and 2.0.0

Can you please point us to the right procedure to build using Unity 2022?

Thanks.

NullSoldier commented 11 months ago

Just adding another voice here, but https://rolltable.app is completely dependent on draco encoded models streamed from a backend so we're stuck on making this custom build of Draco by over-writing the draco binaries before we can. upgrade to 2022.

This is an unfortunate issue considering Unity WebGL destructor function is completely broken so you cannot even really use 2021 in the web for anything production level.

I know the refactor you need to do is tough, but I'll look forward to that release.

atteneder commented 11 months ago

@NullSoldier

Rolltable looks really nice, congrats!

DracoUnity 5 was scheduled for release this year but unfortunately got postponed to early 2024. Besides the usual hurdles involved when releasing an official package, static analysis revealed some more weak spots that led to the delay.

Sorry for the long wait, but I want to make sure this release is done right.

hth

jaivigls commented 10 months ago

Hi guys, this is the version I am using. it has the version 1 binaries and I tested webgl build with unity version 2022.3.7f1. Hope this helps, feel free to reach out regarding anything https://drive.google.com/file/d/1Ugc7zFde8oi8Qsh3NE67aeISOV2XVdeG/view?usp=sharing

shpitsmedia commented 10 months ago

Hi @jaivigls, thanks for the help.

We're getting the same errors while trying to build webgl with your version, for Ex: undefined symbol: _ZN5draco7Encoder15SetSpeedOptionsEi undefined symbol: _ZN5draco7Encoder17SetEncodingMethodEi undefined symbol: _ZN5draco7Encoder18EncodeMeshToBufferERKNS_4MeshEPNS_13EncoderBufferE

We're using Unity 2022.3.14f1

Do you have a clue what is going on? Thanks.

jaivigls commented 10 months ago

@shpitsmedia Hi

Sorry but I am unaware of these errors. i am using GLTFast latest from git and the draco i uploaded above, it built without any errors.

atteneder commented 9 months ago

This is now supported by Draco for Unity, the successor of this repository/package.