Hi,
Assume You have a precompiled plugin with some version for example 4.6.1 built from changelist “2369412”, and You trying to load this plugin with your engine forked from github. Basically You can’t because the engine tell You that plugin is incompatible:
UE_LOG(LogModuleManager, Warning, TEXT(“Found module file %s (API version %d), but it was incompatible with the current engine API version (%d). This is likely a stale module that must be recompiled.”), Filename, ModuleApiVersion, MODULE_API_VERSION);
The question:
Why this module is incompatible?
My #define MODULE_API_VERSION 2369412 is the same as the plugin version, but plugin won’t load.
This is happening because the github engine doesn’t have “BUILT_FROM_CHANGELIST” macro defined to something greater than 0.
ModuleVersion.h
#if BUILT_FROM_CHANGELIST > 0
#define MODULE_API_VERSION 2369412
#else
#define MODULE_API_VERSION 0
#endif
I wonder why BUILT_FROM_CHANGELIST is 0, I’ve been working with github engine version since 4.2 and now when I define BUILT_FROM_CHANGELIST to 1 the engine will log spam for every asset:
[2015.01.08-11.41.15:398][ 0]LogLinker:Warning: Asset ‘m_en_film_sf_01.uasset’ has been saved with empty engine version. The asset will be loaded but may be incompatible.
As You see I have here 2 problems:
- I can’t load module without defined BUILT_FROM_CHANGELIST macro
- LogSpam “The asset will be loaded but may be incompatible.”
In order to get plugin loading properly I must define BUILT_FROM_CHANGELIST but what should I do with my assets? Is it safe to save them with updated module version ?
Regards
Pierdek