Packaging a build on Unreal 5.3

I have been having issues packaging a build (Development, not Shipping) in Unreal 5.3.1 using the UE5.3 1.0.7 version of the plugin and 4.0.7 version of the SDK. ( I have also tried with the 1.0.8 plugin and 4.0.8 of the SDK as well).

In order to minimize variables, I have created and encountered the same error in a clean empty Unreal project with just the plugin being added and DirectX set to 11.

The fatal error I’m seeing is:
------ Building 10 action(s) started ------
UATHelper: Packaging (Windows): [1/10] Compile [x64] PCH.EnvironmentalLighting.cpp
UATHelper: Packaging (Windows): C:.…\MyProject2\Plugins\Stereolabs\Source\EnvironmentalLighting\Public\EnvironmentalLighting.h(5): fatal error C1083: Cannot open include file: ‘ModuleManager.h’: No such file or directory

Are there currently any other required changes to compile a packaged build using the 1.0.7 or 1.0.8 version of the plugins using the 4.0.7 or 4.0.8 version of the Stereolabs SDK?

Hi,

Unfortunately, I’m able to build with no error on my side but I think the include has to be replaced by :
#include "Modules/ModuleManager.h"

Can you make the modification on your side and tell us if it solves your problem?
Then, I can make the change on the repo for the next release.

Thanks!

Good evening,

After a bit of digging I’ve solved my issue.

The issue actually lies in how Unreal sets up its project target files.

In the ZedSamples project, we need to look at ZEDSamplesEditor.Target.cs, and ZEDSamples.Target.cs

When Unreal creates a new project it will add additional lines that do not match these files. Unreal will make these files look like:

public class TestProject : TargetRules
{
	public TestProject( TargetInfo Target) : base(Target)
	{
		Type = TargetType.Editor;
		DefaultBuildSettings = BuildSettingsVersion.V2;
		IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_3;
		ExtraModuleNames.Add("TestProject");
	}
}

Whereas Stereolabs ZED Sample project looks like:

public class ZEDSamplesEditorTarget : TargetRules
{
	public ZEDSamplesEditorTarget(TargetInfo Target) : base(Target)
	{
		bUseAdaptiveUnityBuild = false;

        	Type = TargetType.Editor;
		ExtraModuleNames.AddRange( new string[] { "ZEDSamples" } );
	}
}

The fix is:
In the <projectname>Editor.target.cs, remove the additional DefaultBuildSettings and IncludeOrderVersion lines that Unreal adds, and add in bUseAdaptiveUnityBuild=false.

In the <projectname>.target.cs file just remove the DefaultBuildSettings and IncludeOrderVersion lines.

This will get unreal building without all the missing files or errors.

I did run into one more error though where IXRTrackingSystem.h was not found in the StereolabsFunctionLibrary.cpp, but as it didn’t look like the file was using the header, commented it out, and it built fine after that.

2 Likes