Skip to content

Instantly share code, notes, and snippets.

@ImLp
Last active October 31, 2023 16:05
Show Gist options
  • Save ImLp/79188735d1bf871189d66f3e86f079ed to your computer and use it in GitHub Desktop.
Save ImLp/79188735d1bf871189d66f3e86f079ed to your computer and use it in GitHub Desktop.

Introduction

Sometimes you find a plugin that doesn't have your engine version associated. Sometimes you run a custom build. Often the marketplace won't let you download unless you have a version associated. Worse case scenario is you try compile it with your custom source build and it triggers a full rebuild, which can take hours (especially on a slow-mo PC).

Below are two tricks you can do to try and flip a plugin to work with your Unreal version.

Trick One - Knowing the matching version, override the *.modules file.

One trick that avoids re-compilation altogether is to simply flip the engine module association of the plugin. If you navigate to the location of your plugin, it should have a Binaries folder. (e.g. ENGINE ROOT/Engine/Plugins/Marketplace/FlatNodes/Binaries/PLATFORM/UnrealEditor.modules)

If you crack that file open you'll see something that looks like this:

{
	"BuildId": "19505902",
	"Modules": 
	{
		"FlatNodes": "UnrealEditor-FlatNodes.dll"
	}
}

Find the location where your engine is running from usually at ENGINE ROOT/Engine/Binaries/PLATFORM/UnrealEditor.* A file named UnrealEditor.version should exist in that folder that once opened ALSO contains a BuildId value.

Make sure the files match (Never change the engine one) and you should be able to bypass it most of the time.

This is easier than you think. We start off by opening a Command Prompt (or appropriate for Linux/Mac).

We navigate to the folder of where the Engine you are using is located at. And within that structure you will find a file called RunUAT.bat file. We will pass it the location of our original plugin, and give it a folder to output our newly compiled plugin. The whole command is like this (substitute PATH\TO\PLUGIN\ with your own plugin and folder, not forgetting to add the plugin-name.uplugin to the original path). We add a TargetPlatforms argument in case we want to limit what it compiles to.

ENGINEROOT/Engine/Build/BatchFiles/RunUAT.bat BuildPlugin -TargetPlaftorms -plugin="PATH\TO\PLUGIN\SOMEPLUGIN.uplugin -package="SOME\OUTPUT\PATH"

Then execute it and wait a little while. It might compile some of the engine if it has dependencies but it should not be anywhere near a full build.

Et voila, a fresh plugin built for your latest engine version. Enjoy!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment