I’m using the substance plugin in my (c++) project and it works fine.
But recently, for disc space reasons, i had to move my whole project on some other disc.
Since then, the plugin compiles fines, works well in the editor, but when i try to package and run the project, i get the following message:
Plugin 'Substance' failed to load because module 'SubstanceCore' could not be found.
I have tried to suppress the binaries and intermediate directories, clean the solution from visual studio, i even suppressed everything, and redownloaded the substance plugin.
It compiles fine, runs very well from the editor, but fails to get packaged.
I understand the substance plugin can’t be supported here but on the other hand, as it used to work very well (on 4.11p6 at least) until i move the project, i am inclined to think it’s more a UE4 configuration problem somewhere in my project.
I didn’t find anything related in the packaging logs (i’m using the custom launch profiles).
Any idea where i should look at to understand and solve this problem ?
I’m assuming that the plugin is installed in your engine itself rather than in the project directly, correct? If you installed it directly from the marketplace, that would be the case. I’m not sure if the creator of substance offers it in another form, but it may be helpful to have the substance plugin in the project files itself if you’re having issues such as these, especially if the project is no longer on the same drive as the engine. I’ve never run in this problem myself but that would be my first thought.
Thanks for answering
Unfortunately, the plugin is installed in the project.
Allegorithmic provides a github version of the substance plugin which i usually download and put in the plugin directory of my project.
I’m positive it’s the one used because i had to modify it to get it compiled.
One thing might be important, as you said, the project is no longer on the same drive as the engine. As a test, i’ll try to make some space on my c: and try to move the project back on it to see if it works again. I’ll let you know the result.
If that was the case, any idea of what i should do to have it working on some other drive ?
The project should still work correctly after being moved, unless there are some hard coded paths somewhere that are becoming invalid due to the change in directory. This was just a first guess as there isn’t much to go off of. Would it be possible to get your entire output log from when you attempt to package?
I’m not quite sure that I understand the problem. From these logs, the packaging process seems to of completed without an issue. I see multiple warnings about files that the cooker can’t find but nothing about substance other than a line stating its dependency. Could you explain further what the issue is that you’re running into and when you receive it?
Oh, i see, maybe my question wasn’t precise enough.
Yes, everything goes very well during the packaging process, the binary is generated and i can’t find any error message.
But when i double click the packaged exe, i get the error message i mentionned in the question, telling me that the substance plugin is not found. That’s why i said it was a packaging problem, maybe my formulation was not correct.
So everything seems to be going very well but i can’t launch the game.
Everything (including substance plugin) works very well when played from PIE, and not when launched from the packaged game.
Ah I see. When you downloaded the source from Github for Substance, what version did you pull? I’m curious because of the version you chose for the original post is 4.11 Preview. Allegorithmic hasn’t released a 4.11 version as of yet. If you’re using their Master branch, which I would guess is suppose to be for 4.11, this may be something you need to discuss with them as Master branches in general, even the one for the base engine, are prone to issues such as this as they haven’t always been thoroughly tested.
Have you tried making a new C++ project on the other drive with this engine version and packaging it without making any edits? If that doesn’t have an issue, try the same thing but create the project on your primary drive and the move it to the other drive.
Yes, i’m using the substance plugin made for the UE4 4.10.
I have modified it to get it compiled in 4.11 (very easy changes) because i need 4.11 to correct a 4.10 bug that was critical for me.
So agreed, i’m not using the official version.
But the very same version (with the same modification) has been working very well in 4.11 until i move my project on another drive, which lead me to think the problem wasn’t related to my “hack”.
It also happened between preview 6 and preview 8 (i never tried to package my game during p7 and did try p8 only on the new drive so i can’t identify when exactly).
So all in all, i see 3 possible causes:
using a hacked version of the 4.10 plugin on UE4 4.11
moving the project to another drive
something changed in UE4 between p6 and p8
1 sounds like the perfect culprit but again it used to work very until at least preview 6.
Then i can’t decide between 2 and 3, hence posting this question.
I will do some tests (changing drive, trying with new project, etc.) and will let you know if i find anything interesting.
The stable 4.11 was released and soon followed by the official 4.11 substance plugin.
It was worth waiting as this double release solved the problem. I can now package and run fine.
I’ll never know what happened but oh well
Thanks for your help !