Problem trying compile UE 4.26 plugin into UE5

Hi! I am trying to compile in UE5 a plugin I did for 4.26 that I use often but is giving me this error when I try to generate the .sln file

Failed to generate file

Running C:/Program Files/Epic Games/UE_5.0/Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.exe  -projectfiles -project="G:/00 UE/SqueezUe5/SqueezUe5.uproject" -game -rocket -progress -log="G:\00 UE\SqueezUe5/Saved/Logs/UnrealVersionSelector-2022.03.03-07.35.11.log"
Log file: G:\00 UE\SqueezUe5\Saved\Logs\UnrealVersionSelector-2022.03.03-07.35.11.log
Log file: C:\Users\Dany\AppData\Local\UnrealBuildTool\Log_GPF.txt

Some Platforms were skipped due to invalid SDK setup: IOS, Linux, LinuxArm64.
See the log file for detailed information

Discovering modules, targets and source code for project...
G:\00 UE\SqueezUe5\Plugins\TekyGoSqueezy\Source\TekyGoSqueezy.Build.cs(63,48): error CS7036: There is no argument given that corresponds to the required formal parameter 'Value' of 'ModuleRules.ReceiptPropertyList.Add(string, string)'
ERROR: Expecting to find a type to be declared in a target rules named 'SqueezUe5Target'.  This type must derive from the 'TargetRules' type defined by Unreal Build Tool.

I found the line that is causing the error and is in the Build.cs file:

is this:

			if (Target.Platform == UnrealTargetPlatform.Android)
            {
                string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
              
/// next line is the problematic line that dont let me build the solution :(
  AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", Path.Combine(PluginPath, "TekyGoSqueezy_APL.xml")));
            }

any clue?

Thanks!
Dany

Hey Dany,
We are upgrading from 4.27 and have this exact same issue. Did you figure this out?

Thanks!

yes…the problem was the target of my hardware is an android device that is not 64 bits ( old android harwdare) and UE5 don’t support 32 bits anymore :frowning:

That sounds hard to fix - for me it was easier:
I changed my line to
AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(ModuleDirectory, "AndroidAPITemplate_APL.xml"));

2 Likes

yes…I am developing for a 32 bits android hardware so I must stick with 4.27 :frowning:

super helpful. In my case it was Agora plugin inside ‘Plugins’ folder.
I updated the code in Agora.Build.cs to this–

else if (Target.Platform == UnrealTargetPlatform.Android)
		{			
			// AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", Path.Combine(ModuleDirectory, "Android", "APL_armv7.xml"))); // this was here previously and now commented
			AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(ModuleDirectory, "AndroidAPITemplate_APL.xml"));
...
}
1 Like