Hi! We are developing a plugin that includes assets, and one of those assets is for a VR version of our user avatar that calls functions exposed in UHeadMountedDisplayFunctionLibrary
… and in Unreal 5.3 HeadMountedDisplayFunctionLibrary.h moved from an engine-code module called HeadMountedDisplay
into a new engine Plugin called XRBase
. So now we are in the position where, if we add XRBase to our plugin dependency list in our .uplugin file, we gain UE 5.3 compatibility but lose 5.0 through 5.2 compatibility.
We are going to refactor our plugin to move this asset into our sample application instead… but this does raise the question, how would one go about setting up a plugin that has Unreal Engine-specific sub-parts of its .uplugin file? There’s no .uplugin equivalent of #if UE_VERSION_OLDER_THAN(5, 3, 0)
is there? Would you actually have to submit and maintain two different plugins in the Unreal Marketplace?