I have a plugin that I needed to package to use only the public part in other projects, I created a project in version 5.1 and installed the plugin there and started packaging it. Because my plugin depended on another one I had to install the source of the engine, put the other plugin into the engine and package it using the engine's BuildPlugin command. As a result, the plugin is packaged and works in another project, but only in the Development Editor configuration. Because when I run the project in DebugGame Editor for example, I get an error that I can't find the .lib file for this configuration in the Intermediate plugin folder. My question is how can I package the plugin to run it under any configuration?
I tried:
How .uplugin looks like at the moment:
"Modules": [
{
"Name": "QORPOUEFRM",
"Type": "Runtime",
"LoadingPhase": "Default",
"WhitelistTargetConfigurations": [ "DebugGame", "Development", "Shipping" ],
"WhitelistTargets" : [ "Game", "Editor", "Client", "Server", "Program" ],
"WhitelistPlatforms": [ "Win64" ]
}
],
How BuildPlugin looks like at the moment:
"D:\UEngines\UnrealEngine\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="D:\Plugins\ProjectForPlugin\Plugins\QORPOUEFRM\QORPOUEFRM.uplugin" -Configuration=DebugGame+Development+Shipping -EditorConfig=DebugGameEditor+DevelopmentEditor -TargetPlatforms=Win64 -Package="D:\Plugins\Packaged\ver3\QORPOUEFRM" -Rocket -VS2022
Bad news. The BuildPlugin
command is hardcoded to only build the DevelopmentEditor
, Development
and Shipping
configurations, as you can see in the source of BuildPluginCommand.Automation.cs:
You could potentially modify this code and recompile it, replacing the vanilla AutomationScripts.Automation.dll in your engine installation.