Problem with plugin versioning - plugins won't load on second copy built from same source

John,

It sounds like the problem you’re having is that the UE4Editor.modules file is either misnamed, not present, or invalid.
This is the file that points out to the engine what binaries to use for a given plugin (really, any module).

This file should be located in the Binary output folder for plugins.
For example:

/MyProjects/Plugins/SomePlugin/Binaries/Win64/UE4Editor.modules

This is what a sample one from our Flurry plugin (that we distribute from the engine) looks like:

{
	"Changelist" : 3201819,
	"CompatibleChangelist" : 0,
	"BuildId" : "4d964985-9390-4882-a5ca-0455359f9e57",
	"Modules" : 
	{
		"FlurryEditor" : "UE4Editor-FlurryEditor.dll"
	}
}

Here are a few common issues I’ve seen that can cause issues:

  1. The file has the Platform / Build type encoded in the name, such as UE4Editor-Win64-Debug.modules. In this case, just rename the file.
  2. The module points to the wrong / non-existent DLL. This can cause undefined behavior, including what you’re seeing or random crashes.
  3. The Changelist / BuildId are incompatible (due to the engine being newer than the plugin, or vice versa). In this case, the best approach is to recompile the plugin. However, if you’re sure that the Plugin should be compatible with a given engine version, you can just replace these values with those found in any other working module / plugin. This is not recommended as it may cause issues in the future, but can work as a short term hack.

Thanks,
Jon N.