As Marketplace creator I have faced one dilemma lately:
- should I update the package to support latest engine
- or keep it to support older engine versions?
The problem is due to engine incomatibility it’s impossible to support both versions using one set of blueprints/materials. Discarding older engine versions at once is bad idea as it cuts a lot of customers, but it stops another part of the customers from bying my package.
Moreover, some features I want to add to the package strictly work only in the latest version, but all previous features are working for a long time already. The same problem arises again: if I add the cool feature, I cut tons of customers with older versions…
We need some mechanism to support package versioning. I see couple of options here:
- update newer version for the latest engines, but keep older versions available
- mark assets as only available since some version of the engine (these assets will not be compiled in older versions of course)
- introduce some static bool switches for the user to click his way checking his engine version to get the functionality his engine supports
I’m trying to use 3d option in my package and asked Marketplace support about it. The problem with it is that it will produce compilation errors if you check/unckeck static bools in wrong version of the engine. And errors are forbidden by the Marketplace submission rules. I can prepare two version of the same package with these switches set up as required, but then I’ll need to submit two or more package for the each version of the engine - but that’s not supported currently I guess…
Epic, please add package versioning!