Author Topic: Compiling Subtance plugin on UE4.24.3-release on linux fails.  (Read 832 times)

I downloaded the plugin via marketplace and put it in the plugin folder.
UE4 tells me that it needs to be rebuild due to different engine version.
Rebuilding fails though with many errors. Here some examples:

/home/sim/UnrealEngine/Engine/Plugins/Substance/Source/SubstanceCore/Public/SubstanceCoreHelpers.h:129:26: error: unknown type name 'SubstanceTexture'; did you mean 'USubstanceTexture2D'?
void UpdateTexture(const SubstanceTexture& result, SubstanceAir::OutputInstance* Output, bool bCacheResults = true);
                         ^~~~~~~~~~~~~~~~
                         USubstanceTexture2D
/home/sim/UnrealEngine/Engine/Plugins/Substance/Source/SubstanceCore/Public/SubstanceCoreHelpers.h:20:7: note: 'USubstanceTexture2D' declared here
class USubstanceTexture2D;
      ^
/home/sim/UnrealEngine/Engine/Plugins/Substance/Source/SubstanceSource/Private/SubstanceToolkit.cpp:249:25: error: out-of-line definition of 'OnAssetPurchased' does not match any declaration in 'FSubstanceToolkit'
void FSubstanceToolkit::OnAssetPurchased(Alg::Source::AssetPtr PurchasedAsset)
                        ^~~~~~~~~~~~~~~~
/home/sim/UnrealEngine/Engine/Plugins/Substance/Source/SubstanceCore/Public/SubstanceCoreHelpers.h:142:41: error: unknown type name 'SubstancePixelFormat'
EPixelFormat SubstanceToUe4Format(const SubstancePixelFormat Format, const SubstanceChannelsOrder ChanOrder);


Does anyone have an idea what is going on here?

I downloaded the plugin via marketplace and put it in the plugin folder.
UE4 tells me that it needs to be rebuild due to different engine version.
Rebuilding fails though with many errors. Here some examples:

/home/sim/UnrealEngine/Engine/Plugins/Substance/Source/SubstanceCore/Public/SubstanceCoreHelpers.h:129:26: error: unknown type name 'SubstanceTexture'; did you mean 'USubstanceTexture2D'?
void UpdateTexture(const SubstanceTexture& result, SubstanceAir::OutputInstance* Output, bool bCacheResults = true);
                         ^~~~~~~~~~~~~~~~
                         USubstanceTexture2D
/home/sim/UnrealEngine/Engine/Plugins/Substance/Source/SubstanceCore/Public/SubstanceCoreHelpers.h:20:7: note: 'USubstanceTexture2D' declared here
class USubstanceTexture2D;
      ^
/home/sim/UnrealEngine/Engine/Plugins/Substance/Source/SubstanceSource/Private/SubstanceToolkit.cpp:249:25: error: out-of-line definition of 'OnAssetPurchased' does not match any declaration in 'FSubstanceToolkit'
void FSubstanceToolkit::OnAssetPurchased(Alg::Source::AssetPtr PurchasedAsset)
                        ^~~~~~~~~~~~~~~~
/home/sim/UnrealEngine/Engine/Plugins/Substance/Source/SubstanceCore/Public/SubstanceCoreHelpers.h:142:41: error: unknown type name 'SubstancePixelFormat'
EPixelFormat SubstanceToUe4Format(const SubstancePixelFormat Format, const SubstanceChannelsOrder ChanOrder);


Does anyone have an idea what is going on here?

@boris23 ,

Can you try putting the Substance Plugin in the root of the project in a /Plugins/Runtime/ folder instead and trying again?

i.e. : /home/sim/PROJECTNAME/Plugins/Runtime/Substance/
Last Edit: December 18, 2020, 01:48:10 am

I did - it does not make a difference. I get the exact same errors.

I did - it does not make a difference. I get the exact same errors.

@boris23 ,

Can you verify that you have copied every file included with the plugin and/or didn't delete any associated files? This error seems to occur because of missing headers.

Is there a way to download all files somewhere (without using Marketplace)?