unity-game-enginealembic-format

"Failed to load alembic" Unity3D after build


Facing difficulties with alembic after building for x86_x64 windows. Alembic files aren't being loaded or read and I am getting this error in the log file

I am using unity 2019.4.16f1 and tried with both Alembic packages 1.0.7(verified with my unity version they say) and 2.1.2

Anyone can help me with this?

failed to load alembic at C:/Unity Projects/TD_Project/Builds/PC/TD_Project_Data/StreamingAssets\Assets/TD_Project/Models/Towers/Bomb Turret/Models (Animated)/Bomb turret 3rd animation.ABC 0x00007FF92D401D1C (UnityPlayer) 0x00007FF92D405519 (UnityPlayer) 0x00007FF92D3EC3D8 (UnityPlayer) 0x00007FF92E6A85AD (UnityPlayer) UnityMain 0x00007FF92DF4F45A (UnityPlayer) UnityMain 0x0000024BFBB0874D (Mono JIT Code) (wrapper managed-to-native) UnityEngine.DebugLogHandler:Internal_Log (UnityEngine.LogType,UnityEngine.LogOption,string,UnityEngine.Object) 0x0000024BFBB0806B (Mono JIT Code) [DebugLogHandler.cs:9] UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[]) 0x0000024BFBB07556 (Mono JIT Code) [Logger.cs:60] UnityEngine.Logger:Log (UnityEngine.LogType,object) 0x0000024C0C2958F2 (Mono JIT Code) [Debug.bindings.cs:127] UnityEngine.Debug:LogError (object) 0x0000024BFBFFC1DB (Mono JIT Code) [AlembicStream.cs:149] UnityEngine.Formats.Alembic.Importer.AlembicStream:AbcLoad (bool,bool) 0x0000024BFBFF8BFB (Mono JIT Code) [AlembicStreamPlayer.cs:75] UnityEngine.Formats.Alembic.Importer.AlembicStreamPlayer:LoadStream (bool) 0x0000024BFC1AACA3 (Mono JIT Code) [AlembicStreamPlayer.cs:117] UnityEngine.Formats.Alembic.Importer.AlembicStreamPlayer:Update () 0x0000024BBF165B38 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 0x00007FF92C6ED6D0 (mono-2.0-bdwgc) mono_get_runtime_build_info 0x00007FF92C672932 (mono-2.0-bdwgc) mono_perfcounters_init 0x00007FF92C67B98F (mono-2.0-bdwgc) mono_runtime_invoke 0x00007FF92DEBA82D (UnityPlayer) UnityMain 0x00007FF92DEB74BD (UnityPlayer) UnityMain 0x00007FF92DE9A8A3 (UnityPlayer) UnityMain 0x00007FF92DE9A95D (UnityPlayer) UnityMain 0x00007FF92D878D80 (UnityPlayer) UnityMain 0x00007FF92D87FCFD (UnityPlayer) UnityMain 0x00007FF92DB4F5DB (UnityPlayer) UnityMain 0x00007FF92DB3D6D7 (UnityPlayer) UnityMain 0x00007FF92DB3D79F (UnityPlayer) UnityMain 0x00007FF92DB4138D (UnityPlayer) UnityMain 0x00007FF92D42CF2B (UnityPlayer) 0x00007FF92D42B87A (UnityPlayer) 0x00007FF92D430096 (UnityPlayer) 0x00007FF92D433DCB (UnityPlayer) UnityMain 0x00007FF6501A11F2 (TD_Project) 0x00007FF9A6CA7C24 (KERNEL32) BaseThreadInitThunk 0x00007FF9A6E6D4D1 (ntdll) RtlUserThreadStart (Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Any ideas on how to fix this?


Solution

  • Apparently alembics are streaming assets and need to be in the "StreamingAssets" folder in the build directory. Unity automatically does this if the asset is in the scene if not you have to manually copy the files to the proper directory.

    You can use Johansski's code to do the copying from the editor instead of the filesystem manually. Johanski discusses this at this Unity forum where a similar question was asked:

    https://forum.unity.com/threads/missing-alembic-streaming-assets.635320/#post-4776968