This allows us to expose the OpenXR input system through the same assets and APIs as Enhanced Input providing a familiar interface to devs.
- UInputAction is equivalent to XrAction
- UInputMappingContext is equivalent to XrActionSet
- FEnhancedActionKeyMapping is equivalent to XrActionSuggestedBinding
However unlike Enhanced input there are additional constraints:
- All actions sets that can be applied during a session need to be provided to xrAttachSessionActionSets and become immutable for the duration of the session.
- All suggested bindings need to be provided to xrSuggestInteractionProfileBindings and also become immutable for the duration of the session.
- The action set priorities are also immutable, but we're currently in the process of drafting an extension that allows them to be changed at any time.
To accommodate these constraints we ask the developer to provide a UPlayerMappableInputConfig containing every UInputMappingContext that will be used for XR and their default priorities.
#rb Jeff.Fisher
#preflight 629fa72ae9383fd88fc92419
[CL 20543929 by Jules Blok in ue5-main branch]
- includes touch input visualization, toggled via `Input.Debug.ShowTouches 1`
#jira UE-150305
#rb Serge.Bernier, Ben.Hoffman
#preflight 628665b22c1bb3e25a4a0da9
[CL 20282745 by David Harvey in ue5-main branch]
-Adds support for getting velocity and accelleration through GetControllerTransformForTime.
-Adds mechanism for using openxr chain structs which are defined in and consumed by an extension plugin.
-Support for defining a swapchain and renderbridge in an extension plugin.
-Some OpenXR fixes related to runtimes not supplying tracking data of various types. Basically if the data isn't being provided we should not copy it out because it might be full of nonsense. Also we would generally rather preserve our last cached position than overwrite with zero/identity.
-Moving OpenXRPlatformRHI.h OpenXRHMD_RenderBridge.h and _Swapchain.h back to private folder.
-Previously one could not run the same haptic effect on two devices simultaneously and have it behave correctly because most of the per-effect-play data for each effect was shared by all controllers. This refactors so that the necessary runtime data is per controller and the constant bulk data is shared by all controllers.
-Adding infrastructure for playing haptics on a VR HMD.
-Refactored haptic data resampling into the oculus plugin because that is plugin specific.
swarm reviews review-18220544 and review-18220542
#rb Robert.Srinivasiah, Jules.Blok, Steve.Smith
#ROBOMERGE-AUTHOR: jeff.fisher
#ROBOMERGE-SOURCE: CL 18271123 in //UE5/Release-5.0/... via CL 18271142
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18271147 by jeff fisher in ue5-release-engine-test branch]
Add support for struct param construction of FMultiBlock & FMenuEntryBlock
Add support for overriding of input action text.
#jira UE-134754
#rb Lauren.Barnes
#preflight 61952207b32bbfdc5007c419
#ROBOMERGE-AUTHOR: daren.cheng
#ROBOMERGE-SOURCE: CL 18229583 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
#ROBOMERGE[bot1]: Main
[CL 18229633 by daren cheng in ue5-release-engine-test branch]
#rnx
#rb none
#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870549 by ryan durand in Main branch]
Move directional keys to input core for compatibility
Make the project name more unique to avoid manifest conflicts
Fix bindings being overwritten every time a project is opened
#jira UE-84318
#rb Ryan.Vance
#ROBOMERGE-SOURCE: CL 10173965 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v587-10111126)
[CL 10173982 by jules blok in Main branch]
- Allow keys to be flagged as "bindable in blueprints" and "bindable to actions" separately
- Mark all keys intended for XR projects as not bindable in blueprints
- Mark MotionController keys as not bindable to actions as well
- Replace the SteamVRController module with SteamVRInput based on the marketplace plugin
#rb keli.hlodversson
#jira UE-78930
#ROBOMERGE-SOURCE: CL 9960925 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v558-9892490)
[CL 9960926 by jules blok in Main branch]