Difference between plugin build and packaging

I facing the following problem with a new plugin in UE and I need to understand few things and maybe get guidance.

As seen here in documentation

and also following this topic.

I manage to have plugin that is loaded in Unreal Engine via the project, etc. I can also debug it and everything seems fine.

I’m at a point where I want to ship this plugin. When performing the plugin->package via Unreal Engine itself, it does run the UATHelper to recompile and package my plugin.

(or by running command line such as: “C:\Program Files\Epic Games\UE_5.0\Engine\Build\BatchFiles\RunUAT.bat” BuildPlugin -Rocket -Plugin="/path/to/my.uplugin" -TargetPlatforms=Win64 -Package="/new/package/output/dir")

But I have some problem with the packaging. In my build.cs, I define some PrivateIncludePaths that are relative to the PluginDirectory. But while packaging, you must specify the package output, which will generate a temporary project, and copy everything its need to compile the plugin. By doing this, the relative path to the third party is then broken…

So my question is the following:

  • Is there a way to manually “package” my plugin with what is compiled in the .sln?
  • Or is there a way to have “relative” path to where the real .uproject/.sln/.uplugin are?