The plugin descriptor and module had different names for the module. This affected the CookedEditor build's ability to load the module.
#jira UE-191750
#rb Jeff.Fisher
#rnx
[CL 26968371 by robert srinivasiah in ue5-main branch]
-Moving much of engine/source/runtime/headmounteddisplay to a plugin mainly to reduce minimum UE executable size and memory use. But this is also nice for organization. The ideal would be to move everything except interfaces used by core engine. VREditor pulling in UMotionControllerComponent is the main blocker at this time. That dependency is expected to go away eventually at which point we can do the rest of this transfer.
-Added dependencies to XRBase plugin or module as necessary, refactored to avoid some dependencies, removed a few unnecessary dependencies.
-Stripped vestigial VR references from a few project templates. Mostly just unused HeadMountedDisplay module refs, but a tiny bit of code from TP_Puzzle.
-Fixed dependency cycle ignores related to MaterialShaderQualitySettings PIEPreviewDeviceProfileSelector and UnrealEd. For reasons I do not understand the HeadMountedDisplay dependency on AugmentedReality was preventing the detection of those, long existent, cycles.
#jira UE-181824
#review
#rb Robert.Srinivasiah
#preflight 642f3cbf4c3ccbbdf1990a1f 6434291c28551807175e1142
[CL 24984065 by Jeff Fisher in ue5-main branch]
-Refactored FXRMotionControllerBase EControllerHand GetControllerOrientationAndPosition and GetControllerTrackingStatus into a new FXRMotionControllerBaseLegacy that only legacy maintenence mode VR plugin motion controllers will derive from. This allows us to make the new preferred api pure virtual and to eliminate implementations of the old deprecated api from plugins still in active development.
-Updated all VR plugins to comply.
-Removed "AnyHand" support from OpenXRHandTracking. We don't support it in the controllers for OpenXR so we shouldn't support it in openxr hand tracking.
#jira UE-180807
#review
#rb Jules.blok
#preflight 64234a29974dfaa53c0dfe9c
[CL 24826104 by Jeff Fisher in ue5-main branch]
-Better support for using hand tracking along with controllers, rather than one or the other.
-Two new project settings for the OpenXRHandTracking plugin:
-bUseMoreSpecificMotionSourceNames change the hand tracking keypoint motion source names from [Left|Right][Keypoint] to HandTracking[Left|Right][Keypoint] (default false)
-bSupportLegacyControllerMotionSources if true the legacy motion sources Left, Right, and AnyHand can be supplied by hand tracking. If False they cannot.
-Note the Left/Right Grip/Aim poses already worked only for the controllers, and specific keypoint sources existed for every hand bone so it was possible to do this before, but this makes it less confusing in some cases.
-Refactored hand tracking keypoint motion source pose collection to use a map of motion source fname to keypoint enum value rather than turning both into strings and comparing every time they are accessed.
#review
#rb Jules.Blok
#preflight 6414d75337382f6bf5806b7e
[CL 24696696 by Jeff Fisher in ue5-main branch]
* Another batch iwyu updates to reduce number of includes used in files
#preflight 63c58d742e714f64ade93797
#rb none
[CL 23732856 by henrik karlsson in ue5-main branch]
-Made FOpenXRHMD::GetMotionControllerData and FOpenXRHandTracking::GetAllKeypointStates return data only for EControllerHand::Left and ::Right rather than returning Right data for all enum values. Now we return a struct with the valid flag set to false for the other, non-hand, enum values.
-The valid flag was already false when a hand is not tracked, so existing usages should be handling this case gracefully.
#jira UE-162569
#preflight 637bee508b12eb83a7876880
#rb Robert.Srinivasiah
[CL 23228815 by jeff fisher in ue5-main branch]
FOpenXRHandTracking already implements IOpenXRExtensionPlugin, so we don't need the replicated functionality.
Additionally, the only functionality we used from IOpenXRExtensionPlugin (RegisterOpenXRExtensionModularFeature) was already supported by IOpenXRHandTrackingModule::StartupModule()
#jira UE-119658
#preflight 631fb60af7369c49efe20199
#rb Arciel.Rekman
[CL 21986542 by robert srinivasiah in ue5-main branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
This also renames IOpenXRHMDPlugin to IOpenXRHMDModule to avoid confusion with IOpenXRExtensionPlugin
#rb steve.smith
#rb jeff.fisher
#rb robert.srinivasiah
#ROBOMERGE-AUTHOR: jules.blok
#ROBOMERGE-SOURCE: CL 17451221 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17451250 by jules blok in ue5-release-engine-test branch]