Engine Plugins Not Enabled By Default

I have quite a few plugins installed to my engine and eventually they all get used, but it would be better if all engine plugins are not enabled by default when you create a new project.

Basically the plugins are added to the game but not enabled until you explicitly add them to the game.

An alternative to this, would be to have the plugins installed to a project as an option on the plugins in the vault … so the developer can choose to add it to the engine or a specific project.

This just makes managing the plugins easier and I hope you consider it. Thanks.

I agree the way this currently works needs looking at, though I’m not sure what the best approach would be.

For me the most annoying aspect is the way simply loading a project into the editor will result in all ‘enabled by default’ installed plugins to be added into the uproject file as dependencies. If that uproject is then submitted to source control for example, other people pulling it will face issues with building/opening the project if they do not have all the same installed plugins. Obviously there does need to be a way of marking true dependencies that a project relies on to work, but as qdelpeche says, it should be more explicit.

Every plugin has a .uplugin file and in there is a field called “Enabled by default” , most plugin creators set this to true and it is automatically enabled in every project. You can manually edit that file, just go to your engine folder and find the plugin that you don’t want to be enabled by default, open .uplugin file with a notepad or any other text editor and set " Enabled by default " to false.

Edit: This is not a real solution but it can help.

Yep, unfortunately though the automation tool command used to build a plugin for distribution insists on setting this to true, regardless of it’s original value. I’m constantly forgetting to reset it to false after rebuilding a plugin, and then finding the plugin has been added as a dependency to all the projects I’ve opened since.

Ideally I think there would probably need to be two distinct levels, enabled and dependent. Take for example an editor-only plugin that just adds some tool to the editor without introducing any new types or persistent data. It’s impossible for any project to actually be dependent on such a plugin, yet if it’s enabled by default (which makes sense for a plugin of this kind), the project will then fail to load on a system which doesn’t have the plugin installed.

You can disable them in your .uproject file.
Or edit the plugins once and save a copy of the .uproject, then just copy/paste the disabled list to other .uprojects.

Found in discord, you can add this line to your .uproject:

"DisableEnginePluginsByDefault": "true"

The user also stated that to get the third person project working you will need the plugins below enabled:

{
	"FileVersion": 3,
	"EngineAssociation": "5.1",
	"Category": "",
	"Description": "",
	"DisableEnginePluginsByDefault": "true",
	"Modules": [
		{
			"Name": "CustomEngine",
			"Type": "Runtime",
			"LoadingPhase": "Default"
		}
	],
	"Plugins": [
		{
			"Name": "ModelingToolsEditorMode",
			"Enabled": true,
			"TargetAllowList": [
				"Editor"
			]
		},
		{
			"Name": "PluginBrowser",
			"Enabled": true
		},
		{
			"Name": "ContentBrowserAssetDataSource",
			"Enabled": true
		},
		{
			"Name": "ContentBrowserClassDataSource",
			"Enabled": true
		},
		{
			"Name": "ContentBrowserFileDataSource",
			"Enabled": true
		},
		{
			"Name": "GameFeatures",
			"Enabled": true
		},
		{
			"Name": "ModularGameplay",
			"Enabled": true
		},
		{
			"Name": "ControlRig",
			"Enabled": true
		},
		{
			"Name": "WorldPartitionHLODUtilities",
			"Enabled": true
		}
	]
}
1 Like