Alembic importation in Unreal

Hello,

I’m having an issue importing Alembic files into my Unreal Engine project.

I created a fluid simulation in LiquidGen and exported it as an .abc file. However, I’m unable to import any Alembic file into Unreal, whether it’s a large file (~9 GB) or a much smaller one (~150 MB). The import process always gets stuck at 0%, and Unreal eventually freezes.

What I’ve tried so far:

  • Importing different file sizes

  • Re-exporting the Alembic from LiquidGen

  • Checking that the file works (I can import it without any issue in Blender)

So the file itself seems valid.

Does anyone know what could cause this issue in Unreal, or how to fix it?

Thanks a lot for your help!

Hello there @Vaanelle!

That’s quite bizarre, UE should give you some form of response when importing the file. I would start with ensuring that the whole importer workflow is being followed. For that, you can review Epic’s doc:

I would also recommend defaulting the settings in both UE and Blender, to ensure you start from a clean slate. Additionally, you can check the following video guide that covers the entire process.

If the issue persists even after securing all the workflow, check if any output log is generated on the engine side when it freezes/crashes. That should give us a clue of what’s going on.

Hello!

Thank you very much for taking the time to reply.

I’ve already successfully imported animations and cloth simulations into my project, so I don’t think the issue comes from that. I also tried importing the Alembic file into a clean Unreal project, but the problem still occurs.

I tested with a much simpler simulation as well, thinking the file might be too heavy, but unfortunately it didn’t change anything.

The main issue is that Unreal Engine freezes immediately when I try to import the file, so I don’t even get any output log, I have to force quit the software.

I also tried opening and re-exporting the Alembic through Maya instead of Blender, to see if it could act as a clean intermediate step between LiquidGen and Unreal, but no success either.

At this point, I have to admit I’m starting to get a bit desperate haha :sweat_smile:

The furthest I got was around 2% progress, but it still froze.

I tried creating another simulation directly in Blender by following this tutorial: https://www.youtube.com/watch?v=eMtqt4IIo08&t=288s

My test simulation is about 1.5 GB, and now Unreal Engine crashes instantly when I try to import it. I get the following output log:

Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 1067]
Array index out of bounds: 238196 into an array of size 36

Thank you!

Hello again!

Awesome, now we got a clue. That log error states that the alembic importer is trying to process your 238196 vertex asset into a data buffer the size of a simple 36 cube, which is absurd. Checking around the community, this conflict pops up when the file is not fully compatible with the importer, or an element inside is interfiering. Meaning, we need to make adjustments to the file, or look for alternatives.

First of all, check all frames in your simulation in Blender, and make sure that no default cube or anything similar is contained between (which would explain why the imported is trying to use a size 36 array). Also, ensure your simulation is located at frame 0.

Before exporting again from Blender, test triangulating your mesh, and double check that the asset is being sent as Geometry Cache. Follow along this video example that’s working with fluids from Blender.

If the freeze remains active, other users work with the OpenVAT worflow for liquids. It’s a free addon for Blender, which provides support for fluid simulation encoding. You can find it’s latest version here:

Thank you so much for your help ! I’ll try all of these tomorrow as soon as I can ! I’ll tell you :wink:

1 Like