Author Topic: Substance Plugin 4.19.0.29 Released  (Read 16070 times)

Overview:
This compatability release for UE4.19.0

Download Link:
https://www.dropbox.com/s/8udfzug6dignrbp/SubstanceUE4_Plugin_4.19.0.29.zip?dl=0

Notes:
This update is now available through the UE4 Marketplace. Alternatively, the most recent version of the plugin source can be downloaded from the link above.
Software Engineer, Integrations
daniel.stover@allegorithmic.com

Thanks for posting!

Is this forum the best place to find plugin versions as they become available, or is there another repository we should be checking for regular updates?

Hi @Gigasight Media,
This is the best place to get access to the plugin source. In the case you are using a standard version of the Unreal Engine from the launcher, the best way to get the plugin would be through the Unreal Marketplace.  :D
Software Engineer, Integrations
daniel.stover@allegorithmic.com

Hi Dan,

Unreal build tool is failing with this latest source dump against 4.19 on Ubuntu 16.04.3 LTS, at first I thought it was a parse issue with the line endings, but changing those with dos2unix didn't clear the error, if you could confirm this builds on your end, I can spend time figuring out what's wrong with my end.  I'm using a fresh 4.19 pull and houdini engine is compiling against it without issue, the editor itself is passing our build verifications 100%.

with the directory added in Engine/Plugins/Runtime and the Binary, DLL, Intermediate, and Lib directories removed, I'm getting a filename unknown during some reflection during the GenerateProjectFiles phase, which is why I thought it may have been a parse/lineending issue.  Let me know what information would be helpful, as far as I know my build environment is set up correctly.  This is the last piece we need integrated to finish the move to 4.19.



-bnh



hi,

i have some trouble to build the plugin too .
when generating the projects or when building the VS solution i have this message :

Quote
Exception while generating include data for UE4Editor: Unable to instantiate module 'SubstanceCore': System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
            à UnrealBuildTool.Rules.SubstanceCore..ctor(ReadOnlyTargetRules Target) dans d:\3D\UE4.19\UnrealEngine-release\Engine\Plugins\Substance\Source\SubstanceCore\SubstanceCore.Build.cs:ligne 116
         (referenced via UE4Editor.Target.cs -> Substance.uplugin)

i have looked on the code but I could not find the cause of the error

cannot load my project with the prebuilt plugin .

any help is welcome

hi,

i have some trouble to build the plugin too .
when generating the projects or when building the VS solution i have this message :

Quote
Exception while generating include data for UE4Editor: Unable to instantiate module 'SubstanceCore': System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
            à UnrealBuildTool.Rules.SubstanceCore..ctor(ReadOnlyTargetRules Target) dans d:\3D\UE4.19\UnrealEngine-release\Engine\Plugins\Substance\Source\SubstanceCore\SubstanceCore.Build.cs:ligne 116
         (referenced via UE4Editor.Target.cs -> Substance.uplugin)

i have looked on the code but I could not find the cause of the error

cannot load my project with the prebuilt plugin .

any help is welcome

I got this too, you can work around it temporarily until there's a proper fix by editing substance/source/substancecore/substancecore.build.cs. Comment out lines 116 to 124 then insert this line instead:

IncludePS4Files = false;

worked for me!

I got this too, you can work around it temporarily until there's a proper fix by editing substance/source/substancecore/substancecore.build.cs. Comment out lines 116 to 124 then insert this line instead:

IncludePS4Files = false;

worked for me!

thanks a lot man, this did the trick !

hi,

i have some trouble to build the plugin too .
when generating the projects or when building the VS solution i have this message :

Quote
Exception while generating include data for UE4Editor: Unable to instantiate module 'SubstanceCore': System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
            à UnrealBuildTool.Rules.SubstanceCore..ctor(ReadOnlyTargetRules Target) dans d:\3D\UE4.19\UnrealEngine-release\Engine\Plugins\Substance\Source\SubstanceCore\SubstanceCore.Build.cs:ligne 116
         (referenced via UE4Editor.Target.cs -> Substance.uplugin)

i have looked on the code but I could not find the cause of the error

cannot load my project with the prebuilt plugin .

any help is welcome

I got this too, you can work around it temporarily until there's a proper fix by editing substance/source/substancecore/substancecore.build.cs. Comment out lines 116 to 124 then insert this line instead:

IncludePS4Files = false;

worked for me!

THANK YOU !!! :)

hi,

i have some trouble to build the plugin too .
when generating the projects or when building the VS solution i have this message :

Quote
Exception while generating include data for UE4Editor: Unable to instantiate module 'SubstanceCore': System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
            à UnrealBuildTool.Rules.SubstanceCore..ctor(ReadOnlyTargetRules Target) dans d:\3D\UE4.19\UnrealEngine-release\Engine\Plugins\Substance\Source\SubstanceCore\SubstanceCore.Build.cs:ligne 116
         (referenced via UE4Editor.Target.cs -> Substance.uplugin)

i have looked on the code but I could not find the cause of the error

cannot load my project with the prebuilt plugin .

any help is welcome

I got this too, you can work around it temporarily until there's a proper fix by editing substance/source/substancecore/substancecore.build.cs. Comment out lines 116 to 124 then insert this line instead:

IncludePS4Files = false;

worked for me!

Thanks very much! I know Unreal Source code does not contain code of PS4, XBOX ONE, etc, but I didn't realize the plugin's build error is caused by this. It seems that some code has been already there to prevent this happen in the SubstanceCore.Build.cs file, but unfortunately it does not work.
PS. I have to build a newer version of 4.19.2 which is still not released to get rid of a serious bug of landscape manage tool in 4.19.1, well substance plugin cannot be installed from marketplace to a build version of unreal from source. This solved the problem bothered me for two days. Thanks again!

Thank you for releasing the new plugin! I mostly have this working but noticed one issue in the SubstanceSettings.cpp file which is that the variables are constructed in a different order to the order in which they are defined within the header which leads to a warning (Wreorder) on the Linux UE4 build. Obviously you can disable the warning but I assumed you would like to keep your code files as warning free as possible.

Hope that helps.

Cheers,

Tom

hi,

i have some trouble to build the plugin too .
when generating the projects or when building the VS solution i have this message :

Quote
Exception while generating include data for UE4Editor: Unable to instantiate module 'SubstanceCore': System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
            à UnrealBuildTool.Rules.SubstanceCore..ctor(ReadOnlyTargetRules Target) dans d:\3D\UE4.19\UnrealEngine-release\Engine\Plugins\Substance\Source\SubstanceCore\SubstanceCore.Build.cs:ligne 116
         (referenced via UE4Editor.Target.cs -> Substance.uplugin)

i have looked on the code but I could not find the cause of the error

cannot load my project with the prebuilt plugin .

any help is welcome

I got this too, you can work around it temporarily until there's a proper fix by editing substance/source/substancecore/substancecore.build.cs. Comment out lines 116 to 124 then insert this line instead:

IncludePS4Files = false;

worked for me!

Thanks very much! I know Unreal Source code does not contain code of PS4, XBOX ONE, etc, but I didn't realize the plugin's build error is caused by this. It seems that some code has been already there to prevent this happen in the SubstanceCore.Build.cs file, but unfortunately it does not work.
PS. I have to build a newer version of 4.19.2 which is still not released to get rid of a serious bug of landscape manage tool in 4.19.1, well substance plugin cannot be installed from marketplace to a build version of unreal from source. This solved the problem bothered me for two days. Thanks again!

For anyone else encountering this issue, I believe it's down to trying to build the substance plugin from the ue4.sln, instead of through a project compile. This could happen if you had a source-built unreal and a purely blueprint project, or if you were building ue from scratch. Because there is no ProjectFile reference when building UE from source, it needs a null check wrapping around it.

I adjusted the code in SubstanceCore.Build.cs to this (starting at line 111, included a few lines above the change and below)

Code: [Select]
//Overwrite PS4 SDK if the files don't exist - Check both Engine and Project directories
string ConsoleFilePath = "SubstanceCore\\Private\\SubstanceCorePS4Utils.h";
string BaseEnginePath = Path.Combine("..", "Plugins", "Runtime", "Substance", "Source");
string BaseProjectPath = Path.Combine("Plugins", "Runtime", "Substance", "Source");
string ConsoleEngineFilePath = Path.Combine(BaseEnginePath, ConsoleFilePath);

//Check both possible locations of where the console files could be
bool ConsoleFilesFoundInEnginePluginDir = File.Exists(ConsoleEngineFilePath) && IncludePS4Files;
bool ConsoleFilesFoundInProjectPluginDir = false;

//If we're building the plugin from inside the UE4.sln, and not from inside a project.sln, we need to make sure there is a project file first:
if (Target.ProjectFile != null)
{
string ProjectParentDir = System.IO.Directory.GetParent(Target.ProjectFile.ToString()).ToString();
string ConsoleProjectFilePath = Path.Combine(ProjectParentDir, BaseProjectPath, ConsoleFilePath);

ConsoleFilesFoundInProjectPluginDir = File.Exists(ConsoleProjectFilePath) && IncludePS4Files;
}

//Craft the project file location to test as well
IncludePS4Files = (ConsoleFilesFoundInEnginePluginDir || ConsoleFilesFoundInProjectPluginDir) && IncludePS4Files;

PublicDefinitions.Add("SUBSTANCE_HAS_PS4_SDK=" + (IncludePS4Files ? "1" : "0"));

if (IncludePS4Files)
UnrealBuildTool.Log.WriteLine(LogEventType.Log, "Substance Editor Plugin: PS4 Cooking Enabled");

Team substance, I think this does the trick but I haven't battle tested the code. It compiled just fine and seems to be working though.

Hope this helps!

Dave

Having the same issue I believe. I'm using the UWP UE4 source, and trying to build with this plugin. Receiving this error:
Code: [Select]
4>------ Build started: Project: UE4, Configuration: Development_Editor x64 ------
4>Creating makefile for UE4Editor (no existing makefile)
4>Performing full C++ include scan (no include cache file)
4>UnrealBuildTool : error : Unable to instantiate module 'SubstanceCore': System.NullReferenceException: Object reference not set to an instance of an object.
4>                           at UnrealBuildTool.Rules.SubstanceCore..ctor(ReadOnlyTargetRules Target) in z:\Files\MICROSOFT_UWP_UNREAL-release_uwp\Engine\Plugins\Runtime\Substance\Source\SubstanceCore\SubstanceCore.Build.cs:line 116
4>                        (referenced via UE4Editor.Target.cs -> Substance.uplugin)
4>Z:\Software\Visual Studio\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets(44,5): error MSB3075: The command "..\..\Build\BatchFiles\Build.bat UE4Editor Win64 Development -WaitMutex -FromMsBuild" exited with code 5. Please verify that you have sufficient rights to run this command.
4>Done building project "UE4.vcxproj" -- FAILED.
========== Build: 3 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

The engine will build without the plugin. I've tried copying and pasting the plugin into an already buit UWP source build, but UE4 fails to recognize the binaries for the plugin regardless. I'm at a loss for how to go about resolving this. Thanks in advance for any assistance.

@aguycalleddave

Thanks a lot! it's working like a regular plug-in. Now I have Nvidia Gameworks and Substance all-in-one... ;)