Author Topic: [UE4 4.25.4] Substance Graph data is missing => crash  (Read 1010 times)

Hello,

This is my first post here, i created my account only to post this, so i hope this is the right place.
I know next to nothing about Substance, but i maintain a 3 years old projet filled with thousands of textures using the Substance plugin.
Most of my assets come from the UE4 Marketplace and a ton of them have Substance textures.
I never had any problem with Substance, until today.
I run UE4 version 4.25.4 (latest stable) and authorized the update of the plugin.
The next time i launched my project i got this message:


"Cancel" close everything.
"No" allows to open the project but the message comes back everytime.
So at the end is answered "Yes".
The rebuilding ran for 3 hours before going out of memory and crashing the editor.
From what i can see in the logs, it was about 1/3 of the way (although not sure about that: the number of shaders left to compile grows faster than the compilation process, so they stack up).

At the moment, i can open my project but i don't know in what state it is.
I'm only certain that it is not in a coherent state: some textures have been rebuilt, some shaders recompiled, but not all (and quite far from it).
I didn't try to package my project because it takes about 20 hours to recook all my content DLCs so i don't know how usable, packageable or cookable it is.

I could reload an old save (and loose the last 30 hours of work) but i don't think it would even help if the new plugin version is not ok with it.

At the moment i can't work because i still don't know if i can get my project back on its feet or if i will have te reload the last full save and restart from it.

All this is rather upsetting, can you tell me if there is a way to fix this problem that doesn't involve 10s of hours of work and allow me to start working again ?

I can provide the logs but i didn't find a way to attach a zip to this post.
If needed, please let me know how i can provide them (or any extra info) to you.

Thanks for your help.
Cedric

Polite bump.
I'm sorry i'm not familiar with that forum, isn't this the right place to post such problems ?
Thanks
Cedric

Im having the same problem

Hi there, Integrations PM here! Thanks for the info! We've received a few reports of a similar crash and the team is investigating though I want to confirm the versions...

@uced - I see that you are using UE4 version is 4.25.4 but could you confirm the Substance in UE4 plugin version you updating to?

@andresmedia - Could you confirm the UE4 version and Substance in UE4 plugin version you are experiencing the crash in?
Substance Integrations Product Manager

Hi! I'm getting the same issue after upgrading the Substance plugin to 4.25.0.4 (with UE version 4.25.3 and 4.25.4, same issue).
Is there any known workaround to avoid that? Or is it possible to get more information about what this "rebuild" is actually doing ? (so that maybe we can try to process files in small batches in a separate project and avoid the crash)
Cheers!

Hi! I'm getting the same issue after upgrading the Substance plugin to 4.25.0.4 (with UE version 4.25.3 and 4.25.4, same issue).
Is there any known workaround to avoid that? Or is it possible to get more information about what this "rebuild" is actually doing ? (so that maybe we can try to process files in small batches in a separate project and avoid the crash)
Cheers!

@tooomg ,

The 'rebuild' / update process occurs because we stopped using USubstanceTexture2Ds and switched to using the UE4 standard of UTexture2Ds starting in UE4 4.24+. If you are updating a project from 4.23 to anything higher, the dialogue will appear when you try to open the project stating that it needs to 'rebuild' the Substance graphs.

What this process does in a nutshell is regenerate and replace the existing USubstanceTexture2Ds with UTexture2Ds. Currently this is set to convert 100 Substances at a time, which sometimes has the unfortunate side effect of running out of memory during the update process which will then result in a crash. This seems to occur most with large projects with lots of Substance sbsars and Substance textures. You also might see that you are able to open your project after a crash, (and also you may see the dialogue pop up again) but there might be some textures that are still the 'old' versions and some that may have corrupted texture data.

The 'best' failproof way of updating without any issue would be to remove the Substance graphs and textures in the project before updating to the newer UE4 versions, then recreate them with the Substance Instance Factories as normal to allow the new plugin to create the new Substance graphs/textures. You can also just delete the Substance graphs/textures in the updated version and create new instances with the Substance Instance Factories as well.

Alternatively, if you are using a C++ project, you can try changing the amount of Substance sbsars the plugin converts at a time. There is a line in: Substance\Source\SubstanceCore\Public\SubstanceCoreHelpers.h that is "#define MAX_SUBSTANCES_TO_UPDATE 100

If you change the 100 to a 1 it will reduce the memory usage on updating as it will only be limited to converting one Substance sbsar at a time. The caveat is that it will take longer to convert everything.
Last Edit: December 17, 2020, 01:28:47 am