* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds
[CL 26082288 by henrik karlsson in 5.3 branch]
* Moved dll export from type to methods/static variables. This is changelist is produced by a script and contains 900+ files.
#rb none
[CL 25898513 by henrik karlsson in ue5-main branch]
* Removed CoreMinimal.h include from a ton of headers all the way to Actor.h. This shaved off 15% of the compile time of small files that has uht markup.
#preflight 63b915baaf3ebedd9931496e
#rb none
[CL 23607296 by henrik karlsson in ue5-main branch]
- Refactor XrPath manipulation using a new FOpenXRPath utility class
- Allow XrSpace to be queried from OpenXRHMD
- Rename Special motion sources to the body tracking roles
#jira UE-147549
#rb christopher.fiala
#preflight 6340a4182a0a2c1ead9dbf48
[CL 22411907 by Jules Blok in ue5-main branch]
Before:
3648 unity files
Total CPU Time: 47886.140625 s
Total time in Parallel executor: 498.81 seconds
After:
3548 unity files
Total CPU Time: 46643.828125 s
Total time in Parallel executor: 486.06 seconds
#jira
#preflight
[CL 22173263 by marc audy in ue5-main branch]
This will prevent OpenXR from remapping the actions in a project, but it will fix the pitfalls in the legacy system.
We should strongly encourage that developers do provide a player mappable input config for better OpenXR integration.
#jira UE-147885
#rb Jeff.Fisher
#preflight 630e91e90345de4ccfbfa314
[CL 21712008 by Jules Blok in ue5-main branch]
Headers are updated to contain any missing #includes needed to compile and #includes are sorted. Nothing is removed.
#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira
#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf
[CL 21181076 by Bryan sefcik in ue5-main branch]
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]