How to add UE plugin search paths via env vars?

Hi,
I would like to have UnrealEditor look for plugins in additional locations.

Instead of copying \\my\Location\Runtime\myPlugin to .\Engine\Plugins\Runtime\myPlugin I would rather be able to give UE additional search paths using an env variable, kind of like:

**set UE_PLUGIN_SEARCH_PATH=\my\Location **

That would be great for a central maintenance and flexible configuration of plugins for a bigger group of artists.
(using REZ for example)

Is there a way to do that?

I agree, having a UE_PLUGIN_SEARCH_PATH would be ideal, we are facing issues regarding this in my company.

1 Like

Directory path is hard coded

FString FPaths::EnginePluginsDir()
{
	return FPaths::EngineDir() + TEXT("Plugins/");
}

There might be reason why they don’t consider make it configurable. You can install multiple engine versions and plugins need to be compiled to specific engine version to work (this includes different build configurations), so this may cause problems. They could theoretically make it specific engine version configurable (in BaseEditor.ini)

Note that you can place plug in on project directory too, you can use symlinks too.

Yes, currently we are using symlinks, the problem is that the engine is located in a Read-only location, so we are symlinking the package into a temp directory, which already causes a conflict with the UE version detected of the projects. It thinks it is a new engine every time.

I understand plugins are compiled per engine version, however, that is how every DCC works at the end, for example we have Maya and we need a compiled version of X or Y plugin for the version of Maya 2018 and 2019, etc. But that is managed by our package manager, so we can have decoupled packages and add them or remove them on the fly for the facility without issues.

Hi,

I don’t know if it can help you but i have found something in cpp UE editor code.
You can choose wich plugin will be launch with unreal using -PLUGIN="" engine parameter.
And you can use many -PLUGIN parameter in the command.

I don’t know if you are using rez, but with this, you can create a custom environment variable and generate -PLUGIN for each path in this custom env.

I created an example to work with rez, i share it if it can help you : here

2 Likes

You are a life saver!

1 Like

Starting from at least 5.3, you can specify additional plugins paths using the UE_ADDITIONAL_PLUGIN_PATHS environment variable.

This is only applicable to the editor though.
Found in the source code Engine/Source/Runtime/Projects/Private/PluginManager.cpp