I’ve verified that as of UE 5.5.4, @AugustoNalin_SE is correct - if PluginA depends on PluginB, package PluginB first, and install it in Engine/Plugins in the engine folder you’re using to package PluginA. Then package PluginA.
I have MyProject/MyProject/Plugins/PluginA, which depends on MyProject/MyProject/Plugins/PluginB. I ran my project’s editor from VS and went to the Plugins window and hit Package on PluginB. When it was done, I copied the result to MyProject/Engine/Plugins/Marketplace/PluginB. Then without even closing the editor first, I hit Package on PluginA. PluginB was found this time and the package succeeded.
I got several logs saying that a version of PluginB has already been enabled (MyProject/Plugins/PluginB); prioritizing that over the newly discovered version (Engine/Plugins/Marketplace/PluginB). Seems like a bug that it can find the one in MyProject if it also exists in Engine, but not if it doesn’t. But whatever, it works.
I copied both PluginA and PluginB to the installed engine at C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\Marketplace, and they work correctly.