Packaging an Engine plugin fails if another Engine plugin lists that plugin as a private dependency. In the two attached plugins, PluginA lists PluginB as a required plugin in its .uplugin file, and has PluginB listed as a private dependency in its Build.cs file. Attempting to package PluginB results in the package process failing with a somewhat confusing error message. The error message states that Engine module PluginA (which is not being packaged) should not depend on game module PluginB (which is an Engine plugin, not a game plugin).
Attempting to package PluginA completes successfully.
No. A separate issue prevented this plugin from being packaged in 4.20. That was fixed in 4.21 which made this issue visible.
Note: This repro includes two custom Engine plugins. The same behavior can be seen in 4.21 when attempting to package the MagicLeap plugin.
The packaging process fails with the following error message: ERROR: Engine module 'Engine\Plugins\PluginA\Source\PluginA\PluginA.Build.cs' should not depend on game module 'C:\Plugins\PluginB\HostProject\Plugins\PluginB\Source\PluginB\PluginB.Build.cs' (in this case C:\Plugins is the location I was packaging the plugin to)
The plugin packages successfully.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-66403 in the post.
|Component||UE - Foundation - Cpp Tools - Plugin System|
|Affects Versions||4.21, 4.22|
|Created||Nov 12, 2018|
|Resolved||Aug 18, 2021|
|Updated||Aug 18, 2021|