Hi, I’ve been holiday for a week so took me a bit longer to get back to you.
We have the system basically up and running for us now, thanks for your insight, I’ve come across a bug and I may have misunderstood you in one case.
Firstly the bug in the sample code. FExampleVersion::Compare uses FMath::Sign<int8>, which actually truncates the int32 versions. This leads to unexpected behaviour when your int value overflows int8. Better to just not use int8, and just use FMath::Sign (also makes it consistent with the C# code) unless you make the while pipeline int8.
The potential misunderstanding, in development builds from the build machines, do you restrict the loaded plugins (and assets) in any way? Or are all of them, including “Future” plugins, always enabled? Or, as per Additional clarifications around .uplugin exclusion for GFPs - #5 by ZhiKangShao, do build machines still filter plugins? Build machines are a bit weird here, because the build machine building the precompiled binaries on the development stream for UGS should act the same way as you do a local build, which means that all plugins should be enabled and thus this implies the build machine should not filter? But if the build machine doesn’t filter at all then that contradicts your statement of only cooking a version range. Alternatively, maybe you have a separate builder for pre-compiled binaries as you do for the editor binaries used by cook?
[Attachment Removed]