Enabling plugins in CI pipelines

Hey folks

I’m trying to find a way to enable plugins at build time without modifying files on disk prior to running the build commands, and I’m struggling to find a way to do that

Background, we build using RunUAT.bat BuildCookRun - we’re not using BuildGraph

I did find that UBT has an EnablePlugin arg, which I’ve included in our UAT command, but that doesn’t do what I want really, that does compile and link against the modules within the plugin, but it skips the step that copies the dependent frameworks, so it just crashes on launch with a library loading error on iOS

Is there a way to do this that I’m just missing?

For context on why:

We’re using PlayTestCloud to do mobile some mobile testing, they have an SDK which blocks access to the build on launch until you login with your PlaytestCloud credentials.

So I’m trying to set up a build pipeline which enables that plugin through command line arguments when we’re making a build to distribute to that platform, because I don’t want the library included otherwise (since it blocks access to the build)

What’s the right approach to doing this in Unreal Engine?

[Attachment Removed]

Hi Darcy,

Can you confirm if the project is content-only or C++?

Best regards.

[Attachment Removed]

Hi Darcy,

Unfortunately, -EnablePlugin= doesn’t appear to properly support associated framework deployment. This stems from the fact that -EnablePlugins= doesn’t propagate through the Xcode project generation. We will look into a fix for a future release, however, in the meantime, is patching your uproject with:

"Plugins": [
		....
		{
			"Name": "PlaytestCloud",
			"Enabled": true
		}	
		]

a possibility?

Best regards.

[Attachment Removed]

Hi Damon,

Great to hear. One alternative that wouldn’t require uproject patching would be to reserve say, the Test Build configuration to use the PlaytestCloud plugin and configure it using the “BlacklistConfigurations” to exclude from the other configurations. The primary drawback being that you’d be running different build configuration.

Best regards.

[Attachment Removed]

It’s a C++ project

[Attachment Removed]

Darcy is on leave until next year, but before he left, he updated our CI builds to patch the uproject file in the same way as you recommended above and it is working as expected.

[Attachment Removed]