├── .github └── ISSUE_TEMPLATE │ └── bug_report.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Config ├── DefaultDeviceProfiles.ini ├── DefaultEditor.ini ├── DefaultEngine.ini ├── DefaultGame.ini └── DefaultInput.ini ├── Content ├── Common │ ├── Blueprints │ │ ├── BPFL_Level.uasset │ │ ├── BP_AnchorActorSpawner.uasset │ │ ├── BP_SceneDataProvider.uasset │ │ └── Widgets │ │ │ ├── WBP_ComponentButton.uasset │ │ │ ├── WBP_ComponentDropDown.uasset │ │ │ ├── WBP_ComponentSlider.uasset │ │ │ ├── WBP_ComponentTabBar.uasset │ │ │ ├── WBP_ComponentToggle.uasset │ │ │ └── WBP_PaneSwitchMap.uasset │ ├── Characters │ │ └── Oppy │ │ │ ├── Animations │ │ │ ├── Idle │ │ │ │ ├── idle_stand.uasset │ │ │ │ └── reaction_wonder.uasset │ │ │ ├── Jump │ │ │ │ ├── jump_air_idle.uasset │ │ │ │ ├── jump_end.uasset │ │ │ │ └── jump_start.uasset │ │ │ ├── Movement │ │ │ │ ├── Locomotion_BS.uasset │ │ │ │ ├── run_loop.uasset │ │ │ │ └── walk_loop.uasset │ │ │ └── Oppi_ABP.uasset │ │ │ ├── Materials │ │ │ ├── eyes_mat.uasset │ │ │ └── oz_body_mat.uasset │ │ │ ├── Oppy_Urig.uasset │ │ │ ├── Oppy_Urig_PhysicsAsset.uasset │ │ │ ├── Oppy_Urig_Skeleton.uasset │ │ │ └── Textures │ │ │ ├── oppy_emissive.uasset │ │ │ ├── oppy_paint_oppy_body_AlbedoTransparency.uasset │ │ │ ├── oppy_paint_oppy_body_MetallicSmoothness.uasset │ │ │ ├── oppy_paint_oppy_body_Normal.uasset │ │ │ ├── oppy_paint_oppy_eyes_AlbedoTransparency.uasset │ │ │ ├── oppy_paint_oppy_eyes_MetallicSmoothness.uasset │ │ │ └── oppy_paint_oppy_eyes_Normal.uasset │ ├── Data │ │ ├── Bedrooms.uasset │ │ ├── LivingRooms.uasset │ │ ├── MultiRooms.uasset │ │ ├── Offices.uasset │ │ ├── OtherRooms.uasset │ │ └── RoomsWithGlobalMesh.uasset │ ├── Input │ │ ├── Actions │ │ │ ├── IA_Jump.uasset │ │ │ ├── IA_Move.uasset │ │ │ ├── IA_Select.uasset │ │ │ ├── IA_ShowAnchor.uasset │ │ │ ├── IA_ShowAnchorSpace.uasset │ │ │ └── IA_ShowMenu.uasset │ │ └── IMC_Default.uasset │ ├── Maps │ │ └── TestLevel.umap │ ├── Materials │ │ ├── M_Beam.uasset │ │ ├── M_Floor.uasset │ │ ├── M_Screen.uasset │ │ ├── M_ScreenMount.uasset │ │ ├── M_Wall.uasset │ │ ├── M_WallArt.uasset │ │ ├── M_WindowLight.uasset │ │ └── UI │ │ │ ├── M_RoundedCorner.uasset │ │ │ ├── M_SwitchButton.uasset │ │ │ ├── M_White.uasset │ │ │ ├── Optimistic_Text_A_Rg.uasset │ │ │ ├── Optimistic_Text_A_Rg_Font.uasset │ │ │ ├── Optimistic_Text_XBd.uasset │ │ │ ├── Optimistic_Text_XBd_Font.uasset │ │ │ ├── T_Apps.uasset │ │ │ ├── T_CheckHook.uasset │ │ │ ├── chevron-down.uasset │ │ │ └── gamepad.uasset │ ├── Models │ │ ├── Cabinet │ │ │ ├── BP_Cabinet.uasset │ │ │ ├── BP_ResizeableCabinet.uasset │ │ │ ├── M_Cabinet.uasset │ │ │ ├── SM_Cabinet.uasset │ │ │ ├── T_Cabinet_Base_Color.uasset │ │ │ └── T_cabinet_AO.uasset │ │ ├── Chair │ │ │ ├── BP_Chair.uasset │ │ │ ├── M_Chair.uasset │ │ │ ├── SM_Chair.uasset │ │ │ ├── T_Chair_AO.uasset │ │ │ └── T_Chair_D.uasset │ │ ├── ComputerScreen │ │ │ ├── BP_ComputerScreen.uasset │ │ │ ├── M_ComputerScreenFrame.uasset │ │ │ ├── M_ComputerScreenImage.uasset │ │ │ ├── SM_ComputerScreen.uasset │ │ │ ├── T_Computerscreen_AO.uasset │ │ │ ├── T_Computerscreen_Image.uasset │ │ │ └── T_Computerscreen_Image_AO.uasset │ │ ├── Couch │ │ │ ├── BP_Couch.uasset │ │ │ ├── BP_CouchSliceResize.uasset │ │ │ ├── M_Couch.uasset │ │ │ ├── SM_Couch.uasset │ │ │ ├── T_Couch_Base_Color.uasset │ │ │ └── T_couch_AO.uasset │ │ ├── Door │ │ │ ├── BP_Door.uasset │ │ │ ├── BP_ResizeableDoor.uasset │ │ │ ├── M_Door.uasset │ │ │ ├── SM_Door.uasset │ │ │ ├── T_Door_Base_Color.uasset │ │ │ └── T_door_AO.uasset │ │ ├── Lamp │ │ │ ├── BP_Lamp.uasset │ │ │ ├── M_Lamp.uasset │ │ │ ├── SM_Lamp.uasset │ │ │ ├── T_Lamp_AO.uasset │ │ │ └── T_Lamp_D.uasset │ │ ├── Other │ │ │ ├── BP_Other.uasset │ │ │ ├── M_Other.uasset │ │ │ └── Other.uasset │ │ ├── Plants │ │ │ ├── BP_Plant1.uasset │ │ │ ├── BP_Plant2.uasset │ │ │ ├── BP_Plant3.uasset │ │ │ ├── BP_Plant4.uasset │ │ │ ├── M_Plant1.uasset │ │ │ ├── M_Plant2.uasset │ │ │ ├── M_Plant3.uasset │ │ │ ├── M_Plant4.uasset │ │ │ ├── SM_Plant1.uasset │ │ │ ├── SM_Plant2.uasset │ │ │ ├── SM_Plant3.uasset │ │ │ ├── SM_Plant4.uasset │ │ │ ├── T_Plant1_AO.uasset │ │ │ ├── T_Plant1_D.uasset │ │ │ ├── T_Plant2_AO.uasset │ │ │ ├── T_Plant2_D.uasset │ │ │ ├── T_Plant3_AO.uasset │ │ │ ├── T_Plant3_D.uasset │ │ │ ├── T_Plant4_AO.uasset │ │ │ └── T_Plant4_D.uasset │ │ ├── RoundLamp │ │ │ ├── BP_RoundLamp.uasset │ │ │ ├── M_RoundLamp.uasset │ │ │ ├── SM_RoundLamp.uasset │ │ │ └── T_RoundLamp_AO.uasset │ │ ├── SM_BeamMesh.uasset │ │ ├── Shelf │ │ │ ├── BP_Shelf.uasset │ │ │ ├── M_Shelf.uasset │ │ │ ├── SM_Shelf.uasset │ │ │ └── T_Shelf_AO.uasset │ │ ├── Stool │ │ │ ├── BP_Stool.uasset │ │ │ ├── M_Stool.uasset │ │ │ ├── SM_Stool.uasset │ │ │ └── T_Stool_AO.uasset │ │ ├── Storage │ │ │ ├── BP_Storage.uasset │ │ │ ├── BP_StorageResizer.uasset │ │ │ ├── M_Storage.uasset │ │ │ ├── SM_Storage.uasset │ │ │ ├── T_Storage_AO.uasset │ │ │ └── T_Storage_baseColor.uasset │ │ ├── TwinBed │ │ │ ├── BP_TwinBed.uasset │ │ │ ├── M_TwinBed.uasset │ │ │ ├── SM_TwinBed.uasset │ │ │ ├── T_TwinBed_AO.uasset │ │ │ └── T_TwinBed_Albedo.uasset │ │ ├── WallArt │ │ │ ├── BP_WallArt.uasset │ │ │ ├── M_WallArtFrame.uasset │ │ │ ├── M_WallArtPicture.uasset │ │ │ ├── SM_WallArt.uasset │ │ │ ├── T_WallartFrame_AO.uasset │ │ │ └── T_WallartPicture_AO.uasset │ │ └── Window │ │ │ ├── BP_ResizeableWindow.uasset │ │ │ ├── BP_Window.uasset │ │ │ ├── M_Window.uasset │ │ │ ├── SM_Window.uasset │ │ │ ├── T_Window_Base_Color.uasset │ │ │ └── T_window_AO.uasset │ └── Textures │ │ ├── T_Floor.uasset │ │ ├── T_FloorNormal.uasset │ │ ├── T_Wall.uasset │ │ └── T_WallNormal.uasset ├── EditorMRUKMenu.uasset ├── SampleCore │ ├── BP_Arrow.uasset │ ├── BP_Cube.uasset │ ├── BP_DemoGameMode.uasset │ ├── BP_DemoGameState.uasset │ ├── BP_Gizmo.uasset │ ├── BP_Text.uasset │ ├── BP_VRDemoPawn.uasset │ ├── Core.umap │ ├── IMC_Demo.uasset │ ├── MI_GizmoXArrow.uasset │ ├── MI_GizmoYArrow.uasset │ ├── MI_GizmoZArrow.uasset │ ├── M_GizmoArrow.uasset │ ├── M_OutlineText.uasset │ ├── SM_Arrow.uasset │ ├── WBP_CoreMenuPane.uasset │ └── WBP_MenuCore.uasset ├── SampleDestructibleMesh │ ├── BP_DestructibleMeshGameMode.uasset │ ├── BP_DestructibleMeshVRPawn.uasset │ ├── DestructibleMesh.umap │ ├── M_RandomColor.uasset │ ├── WBP_MenuDestructibleMesh.uasset │ └── WBP_PaneDestructibleMesh.uasset ├── SampleDistanceMap │ ├── BP_DistanceMapGameMode.uasset │ ├── BP_VRDistanceMapPawn.uasset │ ├── DistanceMap.umap │ ├── MPC_CaptureProjView.uasset │ ├── M_Rainbow.uasset │ ├── WBP_MenuDistanceMap.uasset │ └── WBP_PaneDistanceMap.uasset ├── SampleGuardian │ ├── BP_GuardianGameMode.uasset │ ├── BP_VRGuardianPawn.uasset │ ├── Guardian.umap │ ├── MI_Guardian.uasset │ ├── MI_GuardianHole.uasset │ ├── M_Guardian.uasset │ ├── M_GuardianHole.uasset │ ├── M_Wireframe.uasset │ ├── WBP_MenuGuardian.uasset │ └── WBP_PaneGuardian.uasset ├── SampleNavmesh │ ├── BP_NavmeshGameMode.uasset │ ├── BP_NavmeshOppy.uasset │ ├── BP_VRNavmeshPawn.uasset │ ├── Navmesh.umap │ ├── WBP_MenuNavmesh.uasset │ └── WBP_PaneNavmesh.uasset ├── SamplePTRL │ ├── BP_PTRLGameMode.uasset │ ├── BP_PTRLOppy.uasset │ ├── BP_VRPTRLPawn.uasset │ ├── IMC_PTRL.uasset │ ├── M_Flame.uasset │ ├── PTRL.umap │ ├── SM_Flame.uasset │ ├── T_Flame.uasset │ ├── WBP_MenuPTRL.uasset │ └── WBP_PanePTRL.uasset ├── SampleRandomPlacement │ ├── BP_GizmoStreched.uasset │ ├── BP_RandomPlacementGameMode.uasset │ ├── BP_VRRandomPlacementPawn.uasset │ ├── RandomPlacement.umap │ ├── WBP_MenuRandomPlacement.uasset │ └── WBP_RandomPlacementMenuPane.uasset └── SampleSceneDecoration │ ├── BP_CreatePointsGridWorld.uasset │ ├── BP_SceneDecorationGameMode.uasset │ ├── BP_SceneRayAnchor.uasset │ ├── BP_VRSceneDecoratorPawn.uasset │ ├── M_Grass.uasset │ ├── M_Rock.uasset │ ├── PCG_Raycast.uasset │ ├── PCG_SceneDecoration.uasset │ ├── SM_Grass.uasset │ ├── SM_Rock.uasset │ ├── SceneDecoration.umap │ ├── WBP_MenuSceneDecoration.uasset │ └── WBP_SceneDecorationMenuPane.uasset ├── LICENSE ├── MRUtilityKitSample.uproject ├── Platforms └── HoloLens │ └── Config │ └── HoloLensEngine.ini ├── Plugins └── SampleEditor │ ├── Resources │ └── Icon128.png │ ├── SampleEditor.uplugin │ └── Source │ └── SampleEditor │ ├── Private │ ├── SampleEditor.cpp │ └── SampleEditorMRUKMenuBase.cpp │ ├── Public │ ├── SampleEditor.h │ └── SampleEditorMRUKMenuBase.h │ └── SampleEditor.Build.cs ├── README.md └── Source ├── MRUtilityKitSample.Target.cs ├── MRUtilityKitSample ├── MRUtilityKitSample.Build.cs └── Private │ ├── DemoGameState.cpp │ ├── DemoGameState.h │ ├── DemoVRPawn.cpp │ ├── DemoVRPawn.h │ ├── MRUKSampleGameModeBase.cpp │ ├── MRUKSampleGameModeBase.h │ ├── MRUtilityKitSample.cpp │ ├── MRUtilityKitSample.h │ ├── SampleBPFLibrary.cpp │ ├── SampleBPFLibrary.h │ ├── VRPawn.cpp │ └── VRPawn.h └── MRUtilityKitSampleEditor.Target.cs /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- 1 | name: 🐛 Bug Report 2 | description: Report a reproducible bug or regression. 3 | title: '[BUG] ' 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: Thank you for taking the time to report an issue! 8 | - type: input 9 | id: version 10 | attributes: 11 | label: Unreal Engine version 12 | placeholder: 5.5.0 13 | validations: 14 | required: true 15 | - type: dropdown 16 | id: meta-fork-unreal 17 | attributes: 18 | label: Using the Meta fork of Unreal Engine? 19 | options: 20 | - Yes, using the Meta fork 21 | - No, using the standard Epic build 22 | validations: 23 | required: true 24 | - type: input 25 | id: plugin-version 26 | attributes: 27 | label: Meta XR Plugin version 28 | placeholder: "1.99.0" 29 | description: Found in the "Plugins" window in the Unreal Editor. 30 | validations: 31 | required: true 32 | - type: checkboxes 33 | id: where 34 | attributes: 35 | label: Where does the issue occur? 36 | options: 37 | - label: In Unreal Editor 38 | required: false 39 | - label: In Quest builds 40 | required: false 41 | - type: textarea 42 | id: description 43 | attributes: 44 | label: Description 45 | description: A clear and concise description of what the bug is. 46 | validations: 47 | required: true 48 | - type: textarea 49 | id: reproduction 50 | attributes: 51 | label: Steps to reproduce 52 | description: The list of steps that reproduce the issue. 53 | validations: 54 | required: true 55 | - type: textarea 56 | id: logs 57 | attributes: 58 | label: Logs 59 | description: | 60 | For in-editor bugs, paste the logs from the "Output Log" window in the Unreal Editor. 61 | For on-device Quest bugs, paste the output of `adb logcat -s "UE"` 62 | render: text 63 | validations: 64 | required: true 65 | - type: textarea 66 | id: extra 67 | attributes: 68 | label: Additional info 69 | description: Please provide screenshots, a video, or any other relevant information. 70 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | Android_ASTC 2 | Binaries/* 3 | Build/* 4 | DerivedDataCache/* 5 | Intermediate/* 6 | Saved/* 7 | Plugins/MRUtilityKit 8 | Plugins/MetaXR 9 | Plugins/OculusXR 10 | Plugins/OculusXRTesting 11 | Plugins/Developer/RiderLink 12 | .cache 13 | compile_commands.json 14 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to make participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies within all project spaces, and it also applies when 49 | an individual is representing the project or its community in public spaces. 50 | Examples of representing a project or community include using an official 51 | project e-mail address, posting via an official social media account, or acting 52 | as an appointed representative at an online or offline event. Representation of 53 | a project may be further defined and clarified by project maintainers. 54 | 55 | This Code of Conduct also applies outside the project spaces when there is a 56 | reasonable belief that an individual's behavior may have a negative impact on 57 | the project or its community. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported by contacting the project team at . All 63 | complaints will be reviewed and investigated and will result in a response that 64 | is deemed necessary and appropriate to the circumstances. The project team is 65 | obligated to maintain confidentiality with regard to the reporter of an incident. 66 | Further details of specific enforcement policies may be posted separately. 67 | 68 | Project maintainers who do not follow or enforce the Code of Conduct in good 69 | faith may face temporary or permanent repercussions as determined by other 70 | members of the project's leadership. 71 | 72 | ## Attribution 73 | 74 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 75 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 76 | 77 | [homepage]: https://www.contributor-covenant.org 78 | 79 | For answers to common questions about this code of conduct, see 80 | https://www.contributor-covenant.org/faq 81 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Unreal-MRUtilityKit 2 | We want to make contributing to this project as easy and transparent as possible. 3 | 4 | ## Pull Requests 5 | We actively welcome your pull requests. 6 | 7 | 1. Fork the repo and create your branch from `main`. 8 | 2. If you've added code that should be tested, add tests. 9 | 3. If you've changed APIs, update the documentation. 10 | 4. Ensure the test suite passes. 11 | 5. Make sure your code lints. 12 | 6. If you haven't already, complete the Contributor License Agreement ("CLA"). 13 | 14 | ## Contributor License Agreement ("CLA") 15 | In order to accept your pull request, we need you to submit a CLA. You only need to do this once to work on any of Facebook's open source projects. 16 | 17 | Complete your CLA here: 18 | 19 | ## Issues 20 | We use GitHub issues to track public bugs. Please ensure your description is clear and has sufficient instructions to be able to reproduce the issue. 21 | 22 | Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe disclosure of security bugs. In those cases, please go through the process outlined on that page and do not file a public issue. 23 | 24 | ## License 25 | By contributing, you agree that your contributions will be licensed under the LICENSE file in the root directory of this source tree. 26 | -------------------------------------------------------------------------------- /Config/DefaultDeviceProfiles.ini: -------------------------------------------------------------------------------- 1 | [Oculus_Quest2 DeviceProfile] 2 | DeviceType=Android 3 | BaseProfileName=Oculus_Quest 4 | bIsVisibleForAssets=False 5 | -CVars=r.Mobile.Oculus.ForceSymmetric=1 6 | -CVars=fx.NiagaraAllowGPUParticles=1 7 | -CVars=FX.AllowGPUSorting=1 8 | -CVars=r.Mobile.AdrenoOcclusionMode=1 9 | -CVars=r.Oculus.DynamicResolution.PixelDensityMin=0.8f 10 | -CVars=r.Oculus.DynamicResolution.PixelDensityMax=1.2f 11 | +CVars=r.Mobile.Oculus.ForceSymmetric=1 12 | +CVars=fx.NiagaraAllowGPUParticles=1 13 | +CVars=FX.AllowGPUSorting=1 14 | +CVars=r.Mobile.AdrenoOcclusionMode=1 15 | +CVars=r.Oculus.DynamicResolution.PixelDensityMin=0.8 16 | +CVars=r.Oculus.DynamicResolution.PixelDensityMax=1.2 17 | 18 | [Meta_Quest_Pro DeviceProfile] 19 | DeviceType=Android 20 | BaseProfileName=Oculus_Quest2 21 | bIsVisibleForAssets=False 22 | +CVars=r.Oculus.DynamicResolution.PixelDensityMin=0.8 23 | +CVars=r.Oculus.DynamicResolution.PixelDensityMax=1.2 24 | 25 | [Meta_Quest_3 DeviceProfile] 26 | DeviceType=Android 27 | BaseProfileName=Meta_Quest_Pro 28 | bIsVisibleForAssets=False 29 | -CVars=fx.NiagaraAllowGPUParticles=1 30 | -CVars=FX.AllowGPUSorting=1 31 | -CVars=r.Oculus.DynamicResolution.PixelDensityMin=0.7f 32 | -CVars=r.Oculus.DynamicResolution.PixelDensityMax=1.6f 33 | +CVars=fx.NiagaraAllowGPUParticles=1 34 | +CVars=FX.AllowGPUSorting=1 35 | +CVars=r.Oculus.DynamicResolution.PixelDensityMin=0.8 36 | +CVars=r.Oculus.DynamicResolution.PixelDensityMax=1.2 37 | 38 | [Meta_Quest_3S DeviceProfile] 39 | DeviceType=Android 40 | BaseProfileName=Meta_Quest_3 41 | bIsVisibleForAssets=False 42 | +CVars=r.Oculus.DynamicResolution.PixelDensityMin=0.8 43 | +CVars=r.Oculus.DynamicResolution.PixelDensityMax=1.2 44 | 45 | -------------------------------------------------------------------------------- /Config/DefaultEditor.ini: -------------------------------------------------------------------------------- 1 | [/Script/AdvancedPreviewScene.SharedProfiles] 2 | 3 | -------------------------------------------------------------------------------- /Config/DefaultEngine.ini: -------------------------------------------------------------------------------- 1 | [/Script/EngineSettings.GameMapsSettings] 2 | EditorStartupMap=/Game/SampleCore/Core.Core 3 | LocalMapOptions= 4 | TransitionMap=None 5 | bUseSplitscreen=False 6 | TwoPlayerSplitscreenLayout=Horizontal 7 | ThreePlayerSplitscreenLayout=FavorTop 8 | FourPlayerSplitscreenLayout=Grid 9 | bOffsetPlayerGamepadIds=False 10 | GameInstanceClass=/Script/Engine.GameInstance 11 | GameDefaultMap=/Game/SampleCore/Core.Core 12 | ServerDefaultMap=/Engine/Maps/Entry.Entry 13 | GlobalDefaultGameMode=/Game/SampleCore/BP_DemoGameMode.BP_DemoGameMode_C 14 | GlobalDefaultServerGameMode=None 15 | 16 | [/Script/HardwareTargeting.HardwareTargetingSettings] 17 | TargetedHardwareClass=Mobile 18 | AppliedTargetedHardwareClass=Mobile 19 | DefaultGraphicsPerformance=Scalable 20 | AppliedDefaultGraphicsPerformance=Scalable 21 | 22 | [/Script/Engine.Engine] 23 | +ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/ScenePreview") 24 | +ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/ScenePreview") 25 | +ActiveClassRedirects=(OldClassName="TP_BlankGameModeBase",NewClassName="ScenePreviewGameModeBase") 26 | 27 | [/Script/Engine.RendererSettings] 28 | r.Mobile.DisableVertexFog=True 29 | r.Shadow.CSM.MaxMobileCascades=2 30 | r.MobileMSAA=4 31 | r.Mobile.AllowDitheredLODTransition=False 32 | r.Mobile.AllowSoftwareOcclusion=False 33 | r.Mobile.VirtualTextures=False 34 | r.DiscardUnusedQuality=False 35 | r.AllowOcclusionQueries=True 36 | r.MinScreenRadiusForLights=0.030000 37 | r.MinScreenRadiusForDepthPrepass=0.030000 38 | r.MinScreenRadiusForCSMDepth=0.010000 39 | r.PrecomputedVisibilityWarning=False 40 | r.TextureStreaming=True 41 | Compat.UseDXT5NormalMaps=False 42 | r.VirtualTextures=False 43 | r.VT.EnableAutoImport=True 44 | r.VirtualTexturedLightmaps=False 45 | r.VT.TileSize=128 46 | r.VT.TileBorderSize=4 47 | r.vt.FeedbackFactor=16 48 | r.VT.EnableCompressZlib=True 49 | r.VT.EnableCompressCrunch=False 50 | r.ClearCoatNormal=False 51 | r.ReflectionCaptureResolution=128 52 | r.Mobile.ReflectionCaptureCompression=False 53 | r.ReflectionEnvironmentLightmapMixBasedOnRoughness=True 54 | r.ForwardShading=True 55 | r.VertexFoggingForOpaque=True 56 | r.AllowStaticLighting=False 57 | r.NormalMapsForStaticLighting=False 58 | r.GenerateMeshDistanceFields=False 59 | r.DistanceFieldBuild.EightBit=False 60 | r.GenerateLandscapeGIData=False 61 | r.DistanceFieldBuild.Compress=False 62 | r.TessellationAdaptivePixelsPerTriangle=48.000000 63 | r.SeparateTranslucency=False 64 | r.TranslucentSortPolicy=2 65 | TranslucentSortAxis=(X=0.000000,Y=-1.000000,Z=0.000000) 66 | vr.VRS.HMDFixedFoveationLevel=0 67 | r.CustomDepth=1 68 | r.CustomDepthTemporalAAJitter=True 69 | r.PostProcessing.PropagateAlpha=True 70 | r.DefaultFeature.Bloom=False 71 | r.DefaultFeature.AmbientOcclusion=False 72 | r.DefaultFeature.AmbientOcclusionStaticFraction=True 73 | r.DefaultFeature.AutoExposure=False 74 | r.DefaultFeature.AutoExposure.Method=0 75 | r.DefaultFeature.AutoExposure.Bias=1.000000 76 | r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=False 77 | r.UsePreExposure=True 78 | r.EyeAdaptation.EditorOnly=False 79 | r.DefaultFeature.MotionBlur=False 80 | r.DefaultFeature.LensFlare=False 81 | r.TemporalAA.Upsampling=False 82 | r.SSGI.Enable=False 83 | r.DefaultFeature.AntiAliasing=0 84 | r.DefaultFeature.LightUnits=1 85 | r.DefaultBackBufferPixelFormat=4 86 | r.Shadow.UnbuiltPreviewInGame=True 87 | r.StencilForLODDither=False 88 | r.EarlyZPass=3 89 | r.EarlyZPassOnlyMaterialMasking=False 90 | r.DBuffer=True 91 | r.ClearSceneMethod=1 92 | r.BasePassOutputsVelocity=False 93 | r.VertexDeformationOutputsVelocity=False 94 | r.SelectiveBasePassOutputs=False 95 | bDefaultParticleCutouts=False 96 | fx.GPUSimulationTextureSizeX=1024 97 | fx.GPUSimulationTextureSizeY=1024 98 | r.AllowGlobalClipPlane=False 99 | r.GBufferFormat=1 100 | r.MorphTarget.Mode=True 101 | r.GPUCrashDebugging=False 102 | vr.InstancedStereo=False 103 | r.MobileHDR=False 104 | vr.MobileMultiView=True 105 | r.Mobile.UseHWsRGBEncoding=True 106 | vr.RoundRobinOcclusion=False 107 | vr.SupportMobileSpaceWarp=False 108 | vr.ODSCapture=False 109 | r.MeshStreaming=False 110 | r.WireframeCullThreshold=5.000000 111 | r.RayTracing=False 112 | r.RayTracing.UseTextureLod=False 113 | r.SupportStationarySkylight=True 114 | r.SupportLowQualityLightmaps=True 115 | r.SupportPointLightWholeSceneShadows=True 116 | r.SupportAtmosphericFog=True 117 | r.SupportSkyAtmosphere=True 118 | r.SupportSkyAtmosphereAffectsHeightFog=False 119 | r.SkinCache.CompileShaders=False 120 | r.SkinCache.DefaultBehavior=1 121 | r.SkinCache.SceneMemoryLimitInMB=128.000000 122 | r.Mobile.EnableStaticAndCSMShadowReceivers=False 123 | r.Mobile.EnableMovableLightCSMShaderCulling=True 124 | r.Mobile.AllowDistanceFieldShadows=False 125 | r.Mobile.AllowMovableDirectionalLights=False 126 | r.MobileNumDynamicPointLights=4 127 | r.MobileDynamicPointLightsUseStaticBranch=True 128 | r.Mobile.EnableMovableSpotlights=False 129 | r.Mobile.EnableMovableSpotlightsShadow=False 130 | r.GPUSkin.Support16BitBoneIndex=False 131 | r.GPUSkin.Limit2BoneInfluences=False 132 | r.SupportDepthOnlyIndexBuffers=True 133 | r.SupportReversedIndexBuffers=True 134 | r.LightPropagationVolume=False 135 | r.Mobile.AmbientOcclusion=False 136 | r.GPUSkin.UnlimitedBoneInfluences=False 137 | r.GPUSkin.UnlimitedBoneInfluencesThreshold=8 138 | MaxSkinBones=(Default=65536,PerPlatform=(("Mobile", 256))) 139 | r.Mobile.PlanarReflectionMode=0 140 | r.Mobile.SupportsGen4TAA=False 141 | bStreamSkeletalMeshLODs=(Default=False,PerPlatform=()) 142 | bDiscardSkeletalMeshOptionalLODs=(Default=False,PerPlatform=()) 143 | VisualizeCalibrationColorMaterialPath=/Engine/EngineMaterials/PPM_DefaultCalibrationColor.PPM_DefaultCalibrationColor 144 | VisualizeCalibrationCustomMaterialPath=None 145 | VisualizeCalibrationGrayscaleMaterialPath=/Engine/EngineMaterials/PPM_DefaultCalibrationGrayscale.PPM_DefaultCalibrationGrayscale 146 | r.Mobile.AntiAliasing=3 147 | r.MSAACount=4 148 | r.XRSoftOcclusionsPermutation=True 149 | r.Nanite.ProjectEnabled=False 150 | 151 | [/Script/Slate.SlateSettings] 152 | bExplicitCanvasChildZOrder=True 153 | 154 | [/Script/AndroidRuntimeSettings.AndroidRuntimeSettings] 155 | PackageName=com.sample.[PROJECT] 156 | StoreVersion=1 157 | StoreVersionOffsetArm64=0 158 | StoreVersionOffsetX8664=0 159 | ApplicationDisplayName= 160 | VersionDisplayName=1.0 161 | MinSDKVersion=32 162 | TargetSDKVersion=32 163 | InstallLocation=InternalOnly 164 | bEnableLint=False 165 | bPackageDataInsideApk=True 166 | bCreateAllPlatformsInstall=False 167 | bDisableVerifyOBBOnStartUp=False 168 | bForceSmallOBBFiles=False 169 | bAllowLargeOBBFiles=False 170 | bAllowPatchOBBFile=False 171 | bAllowOverflowOBBFiles=False 172 | bUseExternalFilesDir=False 173 | bPublicLogFiles=True 174 | Orientation=SensorLandscape 175 | MaxAspectRatio=2.100000 176 | bUseDisplayCutout=False 177 | bRestoreNotificationsOnReboot=False 178 | bFullScreen=True 179 | bEnableNewKeyboard=True 180 | DepthBufferPreference=Default 181 | bValidateTextureFormats=True 182 | bForceCompressNativeLibs=False 183 | bEnableAdvancedBinaryCompression=False 184 | bEnableBundle=False 185 | bEnableUniversalAPK=True 186 | bBundleABISplit=True 187 | bBundleLanguageSplit=True 188 | bBundleDensitySplit=True 189 | ExtraApplicationSettings= 190 | ExtraActivitySettings= 191 | bAndroidVoiceEnabled=False 192 | bPackageForMetaQuest=True 193 | bEnableMulticastSupport=False 194 | PackageForOculusMobile=Quest2 195 | bRemoveOSIG=False 196 | KeyStore= 197 | KeyAlias= 198 | KeyStorePassword= 199 | KeyPassword= 200 | bBuildForArm64=True 201 | bBuildForX8664=False 202 | bBuildForES31=False 203 | bSupportsVulkan=True 204 | bSupportsVulkanSM5=False 205 | DebugVulkanLayerDirectory=(Path="") 206 | bAndroidOpenGLSupportsBackbufferSampling=False 207 | bDetectVulkanByDefault=True 208 | bBuildWithHiddenSymbolVisibility=False 209 | bDisableStackProtector=False 210 | bDisableLibCppSharedDependencyValidation=False 211 | bSaveSymbols=False 212 | bStripShaderReflection=True 213 | bEnableGooglePlaySupport=False 214 | bUseGetAccounts=False 215 | GamesAppID= 216 | bEnableSnapshots=False 217 | bSupportAdMob=True 218 | AdMobAppID= 219 | TagForChildDirectedTreatment=TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED 220 | TagForUnderAgeOfConsent=TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED 221 | MaxAdContentRating=MAX_AD_CONTENT_RATING_G 222 | AdMobAdUnitID= 223 | GooglePlayLicenseKey= 224 | GCMClientSenderID= 225 | bShowLaunchImage=True 226 | bAllowIMU=False 227 | bAllowControllers=True 228 | bBlockAndroidKeysOnControllers=False 229 | bControllersBlockDeviceFeedback=False 230 | AndroidAudio=Default 231 | AudioSampleRate=48000 232 | AudioCallbackBufferFrameSize=1024 233 | AudioNumBuffersToEnqueue=4 234 | AudioMaxChannels=0 235 | AudioNumSourceWorkers=0 236 | SpatializationPlugin= 237 | SourceDataOverridePlugin= 238 | ReverbPlugin= 239 | OcclusionPlugin= 240 | CompressionOverrides=(bOverrideCompressionTimes=False,DurationThreshold=5.000000,MaxNumRandomBranches=0,SoundCueQualityIndex=0) 241 | CacheSizeKB=0 242 | MaxChunkSizeOverrideKB=0 243 | bResampleForDevice=False 244 | SoundCueCookQualityIndex=-1 245 | MaxSampleRate=0.000000 246 | HighSampleRate=0.000000 247 | MedSampleRate=0.000000 248 | LowSampleRate=0.000000 249 | MinSampleRate=0.000000 250 | CompressionQualityModifier=0.000000 251 | AutoStreamingThreshold=0.000000 252 | AndroidGraphicsDebugger=None 253 | MaliGraphicsDebuggerPath=(Path="") 254 | bEnableMaliPerfCounters=False 255 | bMultiTargetFormat_ETC2=True 256 | bMultiTargetFormat_DXT=True 257 | bMultiTargetFormat_ASTC=True 258 | TextureFormatPriority_ETC2=0.200000 259 | TextureFormatPriority_DXT=0.600000 260 | TextureFormatPriority_ASTC=0.900000 261 | SDKAPILevelOverride= 262 | NDKAPILevelOverride= 263 | BuildToolsOverride= 264 | bStreamLandscapeMeshLODs=False 265 | bEnableDomStorage=False 266 | 267 | [/Script/Engine.CollisionProfile] 268 | -Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision",bCanModify=False) 269 | -Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False) 270 | -Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) 271 | -Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False) 272 | -Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) 273 | -Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.",bCanModify=False) 274 | -Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ",bCanModify=False) 275 | -Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ",bCanModify=False) 276 | -Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic",Response=ECR_Block),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.",bCanModify=False) 277 | -Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.",bCanModify=False) 278 | -Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors",bCanModify=False) 279 | -Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors",bCanModify=False) 280 | -Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.",bCanModify=False) 281 | -Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.",bCanModify=False) 282 | -Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.",bCanModify=False) 283 | -Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.",bCanModify=False) 284 | -Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.",bCanModify=False) 285 | -Profiles=(Name="UI",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Block),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) 286 | +Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision") 287 | +Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ") 288 | +Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ") 289 | +Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ") 290 | +Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ") 291 | +Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.") 292 | +Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ") 293 | +Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ") 294 | +Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic"),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.") 295 | +Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.") 296 | +Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors") 297 | +Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors") 298 | +Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.") 299 | +Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.") 300 | +Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.") 301 | +Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.") 302 | +Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.") 303 | +Profiles=(Name="UI",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility"),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ") 304 | +DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False,Name="HUD") 305 | -ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") 306 | -ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") 307 | -ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") 308 | -ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor") 309 | -ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic") 310 | +ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") 311 | +ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") 312 | +ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") 313 | +ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor") 314 | +ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic") 315 | -CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic") 316 | -CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic") 317 | -CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle") 318 | -CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn") 319 | +CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic") 320 | +CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic") 321 | +CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle") 322 | +CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn") 323 | 324 | [/Script/Engine.PhysicsSettings] 325 | bEnableStabilization=True 326 | 327 | [/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings] 328 | bEnablePlugin=True 329 | bAllowNetworkConnection=True 330 | SecurityToken=8D6E1C1B4D5D2AE638CAF28DD206DDC3 331 | bIncludeInShipping=False 332 | bAllowExternalStartInShipping=False 333 | bCompileAFSProject=False 334 | bUseCompression=False 335 | bLogFiles=False 336 | bReportStats=False 337 | ConnectionType=USBOnly 338 | bUseManualIPAddress=False 339 | ManualIPAddress= 340 | 341 | [/Script/OculusXRHMD.OculusXRHMDRuntimeSettings] 342 | SystemSplashBackground=Contextual 343 | bAutoEnabled=False 344 | XrApi=OVRPluginOpenXR 345 | ColorSpace=Quest 346 | ControllerPoseAlignment=Default 347 | bThumbstickDpadEmulationEnabled=True 348 | bSupportsDash=True 349 | bCompositesDepth=True 350 | bHQDistortion=False 351 | MetaXRJsonPath=(FilePath="") 352 | bSetActivePIEToPrimary=True 353 | bSetCVarPIEToPrimary=True 354 | bUpdateHeadPoseForInactivePlayer=False 355 | MPPoseRestoreType=Disabled 356 | bDynamicResolution=False 357 | PixelDensityMin=0.000000 358 | PixelDensityMax=0.000000 359 | +SupportedDevices=Quest3 360 | +SupportedDevices=QuestPro 361 | +SupportedDevices=Quest2 362 | SuggestedCpuPerfLevel=SustainedLow 363 | SuggestedGpuPerfLevel=SustainedHigh 364 | FoveatedRenderingMethod=FixedFoveatedRendering 365 | FoveatedRenderingLevel=Off 366 | bDynamicFoveatedRendering=True 367 | bSupportEyeTrackedFoveatedRendering=False 368 | bCompositeDepthMobile=False 369 | bFocusAware=True 370 | bLateLatching=False 371 | bRequiresSystemKeyboard=False 372 | HandTrackingSupport=ControllersOnly 373 | HandTrackingFrequency=LOW 374 | HandTrackingVersion=Default 375 | bInsightPassthroughEnabled=True 376 | bAnchorSupportEnabled=True 377 | bAnchorSharingEnabled=False 378 | bSceneSupportEnabled=True 379 | bBoundaryVisibilitySupportEnabled=False 380 | bDefaultBoundaryVisibilitySuppressed=False 381 | bColocationSessionsEnabled=False 382 | bBodyTrackingEnabled=False 383 | BodyTrackingFidelity=Low 384 | BodyTrackingJointSet=UpperBody 385 | bEyeTrackingEnabled=False 386 | bFaceTrackingEnabled=False 387 | FaceTrackingDataSource=() 388 | bDeploySoToDevice=False 389 | bIterativeCookOnTheFly=False 390 | bSupportExperimentalFeatures=True 391 | ProcessorFavor=FavorEqually 392 | bTileTurnOffEnabled=True 393 | 394 | [/Script/WindowsTargetPlatform.WindowsTargetSettings] 395 | DefaultGraphicsRHI=DefaultGraphicsRHI_DX11 396 | 397 | [/Script/NavigationSystem.RecastNavMesh] 398 | bDrawPolyEdges=False 399 | bDistinctlyDrawTilesBeingBuilt=True 400 | DrawOffset=1.000000 401 | bFixedTilePoolSize=False 402 | TilePoolSize=1024 403 | TileSizeUU=310.000000 404 | CellSize=1.000000 405 | CellHeight=10.000000 406 | NavMeshResolutionParams[0]=(CellSize=1.000000,CellHeight=10.000000) 407 | NavMeshResolutionParams[1]=(CellSize=1.000000,CellHeight=10.000000) 408 | NavMeshResolutionParams[2]=(CellSize=1.000000,CellHeight=10.000000) 409 | AgentRadius=1.000000 410 | AgentHeight=5.000000 411 | AgentMaxSlope=44.000000 412 | AgentMaxStepHeight=5.000000 413 | MinRegionArea=0.000000 414 | MergeRegionSize=400.000000 415 | MaxSimplificationError=1.300000 416 | MaxSimultaneousTileGenerationJobsCount=1024 417 | TileNumberHardLimit=1048576 418 | DefaultDrawDistance=5000.000000 419 | DefaultMaxSearchNodes=2048.000000 420 | DefaultMaxHierarchicalSearchNodes=2048.000000 421 | RegionPartitioning=Watershed 422 | LayerPartitioning=Watershed 423 | RegionChunkSplits=2 424 | LayerChunkSplits=2 425 | bSortNavigationAreasByCost=True 426 | bIsWorldPartitioned=False 427 | bPerformVoxelFiltering=True 428 | bMarkLowHeightAreas=False 429 | bUseExtraTopCellWhenMarkingAreas=True 430 | bFilterLowSpanSequences=False 431 | bFilterLowSpanFromTileCache=False 432 | bDoFullyAsyncNavDataGathering=False 433 | bUseBetterOffsetsFromCorners=True 434 | bStoreEmptyTileLayers=False 435 | bUseVirtualFilters=True 436 | bUseVirtualGeometryFilteringAndDirtying=False 437 | bAllowNavLinkAsPathEnd=False 438 | TimeSliceFilterLedgeSpansMaxYProcess=13 439 | TimeSliceLongDurationDebug=0.002000 440 | bUseVoxelCache=False 441 | TileSetUpdateInterval=1.000000 442 | HeuristicScale=0.999000 443 | VerticalDeviationFromGroundCompensation=0.000000 444 | bForceRebuildOnLoad=True 445 | RuntimeGeneration=Dynamic 446 | 447 | [/Script/AIModule.CrowdManager] 448 | MaxAgentRadius=15.000000 449 | 450 | [CoreRedirects] 451 | +PackageRedirects=(OldName="/SceneToolkit/",NewName="/MRUtilityKit/") 452 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKGuardianSpawner",NewName="/Script/MRUtilityKit.MRUKGuardianSpawner") 453 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKAnchor",NewName="/Script/MRUtilityKit.MRUKAnchor") 454 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKRoom",NewName="/Script/MRUtilityKit.MRUKRoom") 455 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKSubsystem",NewName="/Script/MRUtilityKit.MRUKSubsystem") 456 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKSettings",NewName="/Script/MRUtilityKit.MRUKSettings") 457 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKLoadFromDevice",NewName="/Script/MRUtilityKit.MRUKLoadFromDevice") 458 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKLocalizer",NewName="/Script/MRUtilityKit.MRUKLocalizer") 459 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKAnchorData",NewName="/Script/MRUtilityKit.MRUKAnchorData") 460 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKRoomData",NewName="/Script/MRUtilityKit.MRUKRoomData") 461 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKSceneData",NewName="/Script/MRUtilityKit.MRUKSceneData") 462 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKDebugComponent",NewName="/Script/MRUtilityKit.MRUKDebugComponent") 463 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKGuardian",NewName="/Script/MRUtilityKit.MRUKGuardian") 464 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKAnchorActorSpawner",NewName="/Script/MRUtilityKit.MRUKAnchorActorSpawner") 465 | +ClassRedirects=(OldName="/Script/SceneToolkit.MRUKSeatsComponent",NewName="/Script/MRUtilityKit.MRUKSeatsComponent") 466 | +StructRedirects=(OldName="/Script/SceneToolkit.MRUKAnchorWithPlaneUVs",NewName="/Script/MRUtilityKit.MRUKAnchorWithPlaneUVs") 467 | +StructRedirects=(OldName="/Script/SceneToolkit.MRUKHit",NewName="/Script/MRUtilityKit.MRUKHit") 468 | +StructRedirects=(OldName="/Script/SceneToolkit.MRUKLabelFilter",NewName="/Script/MRUtilityKit.MRUKLabelFilter") 469 | +StructRedirects=(OldName="/Script/SceneToolkit.MRUKPlaneUV",NewName="/Script/MRUtilityKit.MRUKPlaneUV") 470 | +StructRedirects=(OldName="/Script/SceneToolkit.MRUKTexCoordModes",NewName="/Script/MRUtilityKit.MRUKTexCoordModes") 471 | +StructRedirects=(OldName="/Script/SceneToolkit.MRUKSpawnActor",NewName="/Script/MRUtilityKit.MRUKSpawnActor") 472 | +StructRedirects=(OldName="/Script/SceneToolkit.MRUKSpawnGroup",NewName="/Script/MRUtilityKit.MRUKSpawnGroup") 473 | +StructRedirects=(OldName="/Script/SceneToolkit.MRUKLabels",NewName="/Script/MRUtilityKit.MRUKLabels") 474 | +StructRedirects=(OldName="/Script/SceneToolkit.MRUKAnchorMesh",NewName="/Script/MRUtilityKit.MRUKAnchorMesh") 475 | +StructRedirects=(OldName="/Script/SceneToolkit.MRUKLoaded",NewName="/Script/MRUtilityKit.MRUKLoaded") 476 | +EnumRedirects=(OldName="/Script/SceneToolkit.EMRUKInitStatus",NewName="/Script/MRUtilityKit.EMRUKInitStatus") 477 | +EnumRedirects=(OldName="/Script/SceneToolkit.EMRUKCoordModeU",NewName="/Script/MRUtilityKit.EMRUKCoordModeU") 478 | +EnumRedirects=(OldName="/Script/SceneToolkit.EMRUKCoordModeV",NewName="/Script/MRUtilityKit.EMRUKCoordModeV") 479 | +EnumRedirects=(OldName="/Script/SceneToolkit.EMRUKSpawnerSelectionMode",NewName="/Script/MRUtilityKit.EMRUKSpawnerSelectionMode") 480 | +EnumRedirects=(OldName="/Script/SceneToolkit.EMRUKSpawnerScalingMode",NewName="/Script/MRUtilityKit.EMRUKSpawnerScalingMode") 481 | +EnumRedirects=(OldName="/Script/SceneToolkit.EMRUKPositioningMethod",NewName="/Script/MRUtilityKit.EMRUKPositioningMethod") 482 | 483 | -------------------------------------------------------------------------------- /Config/DefaultGame.ini: -------------------------------------------------------------------------------- 1 | 2 | [/Script/EngineSettings.GeneralProjectSettings] 3 | ProjectID=0D9C06014E6AC3D9443E889216D6FC8C 4 | ProjectName=MRUtilityKitSample 5 | bStartInVR=True 6 | CopyrightNotice="// Copyright (c) Meta Platforms, Inc. and affiliates." 7 | 8 | [/Script/UnrealEd.ProjectPackagingSettings] 9 | FullRebuild=False 10 | 11 | [/Script/MRUtilityKit.MRUtilityKitSettings] 12 | EnableWorldLock=True 13 | 14 | -------------------------------------------------------------------------------- /Config/DefaultInput.ini: -------------------------------------------------------------------------------- 1 | 2 | 3 | [/Script/Engine.InputSettings] 4 | -AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) 5 | -AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) 6 | -AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) 7 | -AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) 8 | -AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) 9 | -AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) 10 | -AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) 11 | +AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 12 | +AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 13 | +AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 14 | +AxisConfig=(AxisKeyName="ValveIndex_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 15 | +AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 16 | +AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 17 | +AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) 18 | +AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 19 | +AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 20 | +AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 21 | +AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Touch",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 22 | +AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 23 | +AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 24 | +AxisConfig=(AxisKeyName="ValveIndex_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 25 | +AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 26 | +AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 27 | +AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 28 | +AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 29 | +AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 30 | +AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 31 | +AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 32 | +AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 33 | +AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 34 | +AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) 35 | +AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) 36 | +AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 37 | +AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 38 | +AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 39 | +AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 40 | +AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 41 | +AxisConfig=(AxisKeyName="Daydream_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 42 | +AxisConfig=(AxisKeyName="Daydream_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 43 | +AxisConfig=(AxisKeyName="Daydream_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 44 | +AxisConfig=(AxisKeyName="Daydream_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 45 | +AxisConfig=(AxisKeyName="Vive_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 46 | +AxisConfig=(AxisKeyName="Vive_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 47 | +AxisConfig=(AxisKeyName="Vive_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 48 | +AxisConfig=(AxisKeyName="Vive_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 49 | +AxisConfig=(AxisKeyName="Vive_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 50 | +AxisConfig=(AxisKeyName="Vive_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 51 | +AxisConfig=(AxisKeyName="MixedReality_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 52 | +AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 53 | +AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 54 | +AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 55 | +AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 56 | +AxisConfig=(AxisKeyName="MixedReality_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 57 | +AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 58 | +AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 59 | +AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 60 | +AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 61 | +AxisConfig=(AxisKeyName="OculusTouch_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 62 | +AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 63 | +AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 64 | +AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 65 | +AxisConfig=(AxisKeyName="OculusTouch_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 66 | +AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 67 | +AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 68 | bAltEnterTogglesFullscreen=True 69 | bF11TogglesFullscreen=True 70 | bUseMouseForTouch=False 71 | bEnableMouseSmoothing=True 72 | bEnableFOVScaling=True 73 | bCaptureMouseOnLaunch=True 74 | bEnableLegacyInputScales=True 75 | bEnableMotionControls=True 76 | bFilterInputByPlatformUser=False 77 | bEnableInputDeviceSubsystem=True 78 | bShouldFlushPressedKeysOnViewportFocusLost=True 79 | bEnableDynamicComponentInputBinding=True 80 | bAlwaysShowTouchInterface=False 81 | bShowConsoleOnFourFingerTap=True 82 | bEnableGestureRecognizer=False 83 | bUseAutocorrect=False 84 | DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown 85 | DefaultViewportMouseLockMode=LockOnCapture 86 | FOVScale=0.011110 87 | DoubleClickTime=0.200000 88 | DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput 89 | DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent 90 | DefaultTouchInterface=None 91 | -ConsoleKeys=Tilde 92 | +ConsoleKeys=Tilde 93 | 94 | -------------------------------------------------------------------------------- /Content/Common/Blueprints/BPFL_Level.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Blueprints/BPFL_Level.uasset -------------------------------------------------------------------------------- /Content/Common/Blueprints/BP_AnchorActorSpawner.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Blueprints/BP_AnchorActorSpawner.uasset -------------------------------------------------------------------------------- /Content/Common/Blueprints/BP_SceneDataProvider.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Blueprints/BP_SceneDataProvider.uasset -------------------------------------------------------------------------------- /Content/Common/Blueprints/Widgets/WBP_ComponentButton.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Blueprints/Widgets/WBP_ComponentButton.uasset -------------------------------------------------------------------------------- /Content/Common/Blueprints/Widgets/WBP_ComponentDropDown.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Blueprints/Widgets/WBP_ComponentDropDown.uasset -------------------------------------------------------------------------------- /Content/Common/Blueprints/Widgets/WBP_ComponentSlider.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Blueprints/Widgets/WBP_ComponentSlider.uasset -------------------------------------------------------------------------------- /Content/Common/Blueprints/Widgets/WBP_ComponentTabBar.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Blueprints/Widgets/WBP_ComponentTabBar.uasset -------------------------------------------------------------------------------- /Content/Common/Blueprints/Widgets/WBP_ComponentToggle.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Blueprints/Widgets/WBP_ComponentToggle.uasset -------------------------------------------------------------------------------- /Content/Common/Blueprints/Widgets/WBP_PaneSwitchMap.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Blueprints/Widgets/WBP_PaneSwitchMap.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Animations/Idle/idle_stand.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Animations/Idle/idle_stand.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Animations/Idle/reaction_wonder.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Animations/Idle/reaction_wonder.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Animations/Jump/jump_air_idle.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Animations/Jump/jump_air_idle.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Animations/Jump/jump_end.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Animations/Jump/jump_end.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Animations/Jump/jump_start.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Animations/Jump/jump_start.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Animations/Movement/Locomotion_BS.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Animations/Movement/Locomotion_BS.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Animations/Movement/run_loop.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Animations/Movement/run_loop.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Animations/Movement/walk_loop.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Animations/Movement/walk_loop.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Animations/Oppi_ABP.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Animations/Oppi_ABP.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Materials/eyes_mat.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Materials/eyes_mat.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Materials/oz_body_mat.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Materials/oz_body_mat.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Oppy_Urig.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Oppy_Urig.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Oppy_Urig_PhysicsAsset.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Oppy_Urig_PhysicsAsset.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Oppy_Urig_Skeleton.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Oppy_Urig_Skeleton.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Textures/oppy_emissive.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Textures/oppy_emissive.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Textures/oppy_paint_oppy_body_AlbedoTransparency.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Textures/oppy_paint_oppy_body_AlbedoTransparency.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Textures/oppy_paint_oppy_body_MetallicSmoothness.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Textures/oppy_paint_oppy_body_MetallicSmoothness.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Textures/oppy_paint_oppy_body_Normal.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Textures/oppy_paint_oppy_body_Normal.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Textures/oppy_paint_oppy_eyes_AlbedoTransparency.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Textures/oppy_paint_oppy_eyes_AlbedoTransparency.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Textures/oppy_paint_oppy_eyes_MetallicSmoothness.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Textures/oppy_paint_oppy_eyes_MetallicSmoothness.uasset -------------------------------------------------------------------------------- /Content/Common/Characters/Oppy/Textures/oppy_paint_oppy_eyes_Normal.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Characters/Oppy/Textures/oppy_paint_oppy_eyes_Normal.uasset -------------------------------------------------------------------------------- /Content/Common/Data/Bedrooms.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Data/Bedrooms.uasset -------------------------------------------------------------------------------- /Content/Common/Data/LivingRooms.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Data/LivingRooms.uasset -------------------------------------------------------------------------------- /Content/Common/Data/MultiRooms.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Data/MultiRooms.uasset -------------------------------------------------------------------------------- /Content/Common/Data/Offices.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Data/Offices.uasset -------------------------------------------------------------------------------- /Content/Common/Data/OtherRooms.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Data/OtherRooms.uasset -------------------------------------------------------------------------------- /Content/Common/Data/RoomsWithGlobalMesh.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Data/RoomsWithGlobalMesh.uasset -------------------------------------------------------------------------------- /Content/Common/Input/Actions/IA_Jump.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Input/Actions/IA_Jump.uasset -------------------------------------------------------------------------------- /Content/Common/Input/Actions/IA_Move.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Input/Actions/IA_Move.uasset -------------------------------------------------------------------------------- /Content/Common/Input/Actions/IA_Select.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Input/Actions/IA_Select.uasset -------------------------------------------------------------------------------- /Content/Common/Input/Actions/IA_ShowAnchor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Input/Actions/IA_ShowAnchor.uasset -------------------------------------------------------------------------------- /Content/Common/Input/Actions/IA_ShowAnchorSpace.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Input/Actions/IA_ShowAnchorSpace.uasset -------------------------------------------------------------------------------- /Content/Common/Input/Actions/IA_ShowMenu.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Input/Actions/IA_ShowMenu.uasset -------------------------------------------------------------------------------- /Content/Common/Input/IMC_Default.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Input/IMC_Default.uasset -------------------------------------------------------------------------------- /Content/Common/Maps/TestLevel.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Maps/TestLevel.umap -------------------------------------------------------------------------------- /Content/Common/Materials/M_Beam.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/M_Beam.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/M_Floor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/M_Floor.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/M_Screen.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/M_Screen.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/M_ScreenMount.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/M_ScreenMount.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/M_Wall.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/M_Wall.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/M_WallArt.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/M_WallArt.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/M_WindowLight.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/M_WindowLight.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/UI/M_RoundedCorner.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/UI/M_RoundedCorner.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/UI/M_SwitchButton.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/UI/M_SwitchButton.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/UI/M_White.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/UI/M_White.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/UI/Optimistic_Text_A_Rg.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/UI/Optimistic_Text_A_Rg.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/UI/Optimistic_Text_A_Rg_Font.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/UI/Optimistic_Text_A_Rg_Font.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/UI/Optimistic_Text_XBd.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/UI/Optimistic_Text_XBd.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/UI/Optimistic_Text_XBd_Font.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/UI/Optimistic_Text_XBd_Font.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/UI/T_Apps.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/UI/T_Apps.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/UI/T_CheckHook.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/UI/T_CheckHook.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/UI/chevron-down.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/UI/chevron-down.uasset -------------------------------------------------------------------------------- /Content/Common/Materials/UI/gamepad.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Materials/UI/gamepad.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Cabinet/BP_Cabinet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Cabinet/BP_Cabinet.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Cabinet/BP_ResizeableCabinet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Cabinet/BP_ResizeableCabinet.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Cabinet/M_Cabinet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Cabinet/M_Cabinet.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Cabinet/SM_Cabinet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Cabinet/SM_Cabinet.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Cabinet/T_Cabinet_Base_Color.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Cabinet/T_Cabinet_Base_Color.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Cabinet/T_cabinet_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Cabinet/T_cabinet_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Chair/BP_Chair.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Chair/BP_Chair.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Chair/M_Chair.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Chair/M_Chair.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Chair/SM_Chair.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Chair/SM_Chair.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Chair/T_Chair_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Chair/T_Chair_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Chair/T_Chair_D.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Chair/T_Chair_D.uasset -------------------------------------------------------------------------------- /Content/Common/Models/ComputerScreen/BP_ComputerScreen.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/ComputerScreen/BP_ComputerScreen.uasset -------------------------------------------------------------------------------- /Content/Common/Models/ComputerScreen/M_ComputerScreenFrame.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/ComputerScreen/M_ComputerScreenFrame.uasset -------------------------------------------------------------------------------- /Content/Common/Models/ComputerScreen/M_ComputerScreenImage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/ComputerScreen/M_ComputerScreenImage.uasset -------------------------------------------------------------------------------- /Content/Common/Models/ComputerScreen/SM_ComputerScreen.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/ComputerScreen/SM_ComputerScreen.uasset -------------------------------------------------------------------------------- /Content/Common/Models/ComputerScreen/T_Computerscreen_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/ComputerScreen/T_Computerscreen_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/ComputerScreen/T_Computerscreen_Image.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/ComputerScreen/T_Computerscreen_Image.uasset -------------------------------------------------------------------------------- /Content/Common/Models/ComputerScreen/T_Computerscreen_Image_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/ComputerScreen/T_Computerscreen_Image_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Couch/BP_Couch.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Couch/BP_Couch.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Couch/BP_CouchSliceResize.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Couch/BP_CouchSliceResize.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Couch/M_Couch.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Couch/M_Couch.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Couch/SM_Couch.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Couch/SM_Couch.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Couch/T_Couch_Base_Color.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Couch/T_Couch_Base_Color.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Couch/T_couch_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Couch/T_couch_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Door/BP_Door.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Door/BP_Door.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Door/BP_ResizeableDoor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Door/BP_ResizeableDoor.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Door/M_Door.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Door/M_Door.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Door/SM_Door.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Door/SM_Door.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Door/T_Door_Base_Color.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Door/T_Door_Base_Color.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Door/T_door_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Door/T_door_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Lamp/BP_Lamp.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Lamp/BP_Lamp.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Lamp/M_Lamp.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Lamp/M_Lamp.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Lamp/SM_Lamp.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Lamp/SM_Lamp.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Lamp/T_Lamp_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Lamp/T_Lamp_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Lamp/T_Lamp_D.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Lamp/T_Lamp_D.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Other/BP_Other.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Other/BP_Other.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Other/M_Other.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Other/M_Other.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Other/Other.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Other/Other.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/BP_Plant1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/BP_Plant1.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/BP_Plant2.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/BP_Plant2.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/BP_Plant3.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/BP_Plant3.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/BP_Plant4.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/BP_Plant4.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/M_Plant1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/M_Plant1.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/M_Plant2.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/M_Plant2.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/M_Plant3.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/M_Plant3.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/M_Plant4.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/M_Plant4.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/SM_Plant1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/SM_Plant1.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/SM_Plant2.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/SM_Plant2.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/SM_Plant3.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/SM_Plant3.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/SM_Plant4.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/SM_Plant4.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/T_Plant1_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/T_Plant1_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/T_Plant1_D.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/T_Plant1_D.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/T_Plant2_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/T_Plant2_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/T_Plant2_D.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/T_Plant2_D.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/T_Plant3_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/T_Plant3_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/T_Plant3_D.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/T_Plant3_D.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/T_Plant4_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/T_Plant4_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Plants/T_Plant4_D.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Plants/T_Plant4_D.uasset -------------------------------------------------------------------------------- /Content/Common/Models/RoundLamp/BP_RoundLamp.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/RoundLamp/BP_RoundLamp.uasset -------------------------------------------------------------------------------- /Content/Common/Models/RoundLamp/M_RoundLamp.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/RoundLamp/M_RoundLamp.uasset -------------------------------------------------------------------------------- /Content/Common/Models/RoundLamp/SM_RoundLamp.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/RoundLamp/SM_RoundLamp.uasset -------------------------------------------------------------------------------- /Content/Common/Models/RoundLamp/T_RoundLamp_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/RoundLamp/T_RoundLamp_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/SM_BeamMesh.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/SM_BeamMesh.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Shelf/BP_Shelf.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Shelf/BP_Shelf.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Shelf/M_Shelf.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Shelf/M_Shelf.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Shelf/SM_Shelf.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Shelf/SM_Shelf.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Shelf/T_Shelf_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Shelf/T_Shelf_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Stool/BP_Stool.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Stool/BP_Stool.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Stool/M_Stool.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Stool/M_Stool.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Stool/SM_Stool.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Stool/SM_Stool.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Stool/T_Stool_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Stool/T_Stool_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Storage/BP_Storage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Storage/BP_Storage.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Storage/BP_StorageResizer.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Storage/BP_StorageResizer.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Storage/M_Storage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Storage/M_Storage.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Storage/SM_Storage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Storage/SM_Storage.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Storage/T_Storage_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Storage/T_Storage_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Storage/T_Storage_baseColor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Storage/T_Storage_baseColor.uasset -------------------------------------------------------------------------------- /Content/Common/Models/TwinBed/BP_TwinBed.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/TwinBed/BP_TwinBed.uasset -------------------------------------------------------------------------------- /Content/Common/Models/TwinBed/M_TwinBed.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/TwinBed/M_TwinBed.uasset -------------------------------------------------------------------------------- /Content/Common/Models/TwinBed/SM_TwinBed.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/TwinBed/SM_TwinBed.uasset -------------------------------------------------------------------------------- /Content/Common/Models/TwinBed/T_TwinBed_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/TwinBed/T_TwinBed_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/TwinBed/T_TwinBed_Albedo.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/TwinBed/T_TwinBed_Albedo.uasset -------------------------------------------------------------------------------- /Content/Common/Models/WallArt/BP_WallArt.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/WallArt/BP_WallArt.uasset -------------------------------------------------------------------------------- /Content/Common/Models/WallArt/M_WallArtFrame.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/WallArt/M_WallArtFrame.uasset -------------------------------------------------------------------------------- /Content/Common/Models/WallArt/M_WallArtPicture.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/WallArt/M_WallArtPicture.uasset -------------------------------------------------------------------------------- /Content/Common/Models/WallArt/SM_WallArt.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/WallArt/SM_WallArt.uasset -------------------------------------------------------------------------------- /Content/Common/Models/WallArt/T_WallartFrame_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/WallArt/T_WallartFrame_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/WallArt/T_WallartPicture_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/WallArt/T_WallartPicture_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Window/BP_ResizeableWindow.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Window/BP_ResizeableWindow.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Window/BP_Window.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Window/BP_Window.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Window/M_Window.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Window/M_Window.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Window/SM_Window.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Window/SM_Window.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Window/T_Window_Base_Color.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Window/T_Window_Base_Color.uasset -------------------------------------------------------------------------------- /Content/Common/Models/Window/T_window_AO.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Models/Window/T_window_AO.uasset -------------------------------------------------------------------------------- /Content/Common/Textures/T_Floor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Textures/T_Floor.uasset -------------------------------------------------------------------------------- /Content/Common/Textures/T_FloorNormal.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Textures/T_FloorNormal.uasset -------------------------------------------------------------------------------- /Content/Common/Textures/T_Wall.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Textures/T_Wall.uasset -------------------------------------------------------------------------------- /Content/Common/Textures/T_WallNormal.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/Common/Textures/T_WallNormal.uasset -------------------------------------------------------------------------------- /Content/EditorMRUKMenu.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/EditorMRUKMenu.uasset -------------------------------------------------------------------------------- /Content/SampleCore/BP_Arrow.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/BP_Arrow.uasset -------------------------------------------------------------------------------- /Content/SampleCore/BP_Cube.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/BP_Cube.uasset -------------------------------------------------------------------------------- /Content/SampleCore/BP_DemoGameMode.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/BP_DemoGameMode.uasset -------------------------------------------------------------------------------- /Content/SampleCore/BP_DemoGameState.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/BP_DemoGameState.uasset -------------------------------------------------------------------------------- /Content/SampleCore/BP_Gizmo.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/BP_Gizmo.uasset -------------------------------------------------------------------------------- /Content/SampleCore/BP_Text.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/BP_Text.uasset -------------------------------------------------------------------------------- /Content/SampleCore/BP_VRDemoPawn.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/BP_VRDemoPawn.uasset -------------------------------------------------------------------------------- /Content/SampleCore/Core.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/Core.umap -------------------------------------------------------------------------------- /Content/SampleCore/IMC_Demo.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/IMC_Demo.uasset -------------------------------------------------------------------------------- /Content/SampleCore/MI_GizmoXArrow.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/MI_GizmoXArrow.uasset -------------------------------------------------------------------------------- /Content/SampleCore/MI_GizmoYArrow.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/MI_GizmoYArrow.uasset -------------------------------------------------------------------------------- /Content/SampleCore/MI_GizmoZArrow.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/MI_GizmoZArrow.uasset -------------------------------------------------------------------------------- /Content/SampleCore/M_GizmoArrow.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/M_GizmoArrow.uasset -------------------------------------------------------------------------------- /Content/SampleCore/M_OutlineText.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/M_OutlineText.uasset -------------------------------------------------------------------------------- /Content/SampleCore/SM_Arrow.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/SM_Arrow.uasset -------------------------------------------------------------------------------- /Content/SampleCore/WBP_CoreMenuPane.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/WBP_CoreMenuPane.uasset -------------------------------------------------------------------------------- /Content/SampleCore/WBP_MenuCore.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleCore/WBP_MenuCore.uasset -------------------------------------------------------------------------------- /Content/SampleDestructibleMesh/BP_DestructibleMeshGameMode.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleDestructibleMesh/BP_DestructibleMeshGameMode.uasset -------------------------------------------------------------------------------- /Content/SampleDestructibleMesh/BP_DestructibleMeshVRPawn.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleDestructibleMesh/BP_DestructibleMeshVRPawn.uasset -------------------------------------------------------------------------------- /Content/SampleDestructibleMesh/DestructibleMesh.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleDestructibleMesh/DestructibleMesh.umap -------------------------------------------------------------------------------- /Content/SampleDestructibleMesh/M_RandomColor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleDestructibleMesh/M_RandomColor.uasset -------------------------------------------------------------------------------- /Content/SampleDestructibleMesh/WBP_MenuDestructibleMesh.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleDestructibleMesh/WBP_MenuDestructibleMesh.uasset -------------------------------------------------------------------------------- /Content/SampleDestructibleMesh/WBP_PaneDestructibleMesh.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleDestructibleMesh/WBP_PaneDestructibleMesh.uasset -------------------------------------------------------------------------------- /Content/SampleDistanceMap/BP_DistanceMapGameMode.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleDistanceMap/BP_DistanceMapGameMode.uasset -------------------------------------------------------------------------------- /Content/SampleDistanceMap/BP_VRDistanceMapPawn.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleDistanceMap/BP_VRDistanceMapPawn.uasset -------------------------------------------------------------------------------- /Content/SampleDistanceMap/DistanceMap.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleDistanceMap/DistanceMap.umap -------------------------------------------------------------------------------- /Content/SampleDistanceMap/MPC_CaptureProjView.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleDistanceMap/MPC_CaptureProjView.uasset -------------------------------------------------------------------------------- /Content/SampleDistanceMap/M_Rainbow.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleDistanceMap/M_Rainbow.uasset -------------------------------------------------------------------------------- /Content/SampleDistanceMap/WBP_MenuDistanceMap.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleDistanceMap/WBP_MenuDistanceMap.uasset -------------------------------------------------------------------------------- /Content/SampleDistanceMap/WBP_PaneDistanceMap.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleDistanceMap/WBP_PaneDistanceMap.uasset -------------------------------------------------------------------------------- /Content/SampleGuardian/BP_GuardianGameMode.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleGuardian/BP_GuardianGameMode.uasset -------------------------------------------------------------------------------- /Content/SampleGuardian/BP_VRGuardianPawn.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleGuardian/BP_VRGuardianPawn.uasset -------------------------------------------------------------------------------- /Content/SampleGuardian/Guardian.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleGuardian/Guardian.umap -------------------------------------------------------------------------------- /Content/SampleGuardian/MI_Guardian.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleGuardian/MI_Guardian.uasset -------------------------------------------------------------------------------- /Content/SampleGuardian/MI_GuardianHole.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleGuardian/MI_GuardianHole.uasset -------------------------------------------------------------------------------- /Content/SampleGuardian/M_Guardian.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleGuardian/M_Guardian.uasset -------------------------------------------------------------------------------- /Content/SampleGuardian/M_GuardianHole.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleGuardian/M_GuardianHole.uasset -------------------------------------------------------------------------------- /Content/SampleGuardian/M_Wireframe.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleGuardian/M_Wireframe.uasset -------------------------------------------------------------------------------- /Content/SampleGuardian/WBP_MenuGuardian.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleGuardian/WBP_MenuGuardian.uasset -------------------------------------------------------------------------------- /Content/SampleGuardian/WBP_PaneGuardian.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleGuardian/WBP_PaneGuardian.uasset -------------------------------------------------------------------------------- /Content/SampleNavmesh/BP_NavmeshGameMode.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleNavmesh/BP_NavmeshGameMode.uasset -------------------------------------------------------------------------------- /Content/SampleNavmesh/BP_NavmeshOppy.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleNavmesh/BP_NavmeshOppy.uasset -------------------------------------------------------------------------------- /Content/SampleNavmesh/BP_VRNavmeshPawn.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleNavmesh/BP_VRNavmeshPawn.uasset -------------------------------------------------------------------------------- /Content/SampleNavmesh/Navmesh.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleNavmesh/Navmesh.umap -------------------------------------------------------------------------------- /Content/SampleNavmesh/WBP_MenuNavmesh.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleNavmesh/WBP_MenuNavmesh.uasset -------------------------------------------------------------------------------- /Content/SampleNavmesh/WBP_PaneNavmesh.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleNavmesh/WBP_PaneNavmesh.uasset -------------------------------------------------------------------------------- /Content/SamplePTRL/BP_PTRLGameMode.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SamplePTRL/BP_PTRLGameMode.uasset -------------------------------------------------------------------------------- /Content/SamplePTRL/BP_PTRLOppy.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SamplePTRL/BP_PTRLOppy.uasset -------------------------------------------------------------------------------- /Content/SamplePTRL/BP_VRPTRLPawn.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SamplePTRL/BP_VRPTRLPawn.uasset -------------------------------------------------------------------------------- /Content/SamplePTRL/IMC_PTRL.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SamplePTRL/IMC_PTRL.uasset -------------------------------------------------------------------------------- /Content/SamplePTRL/M_Flame.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SamplePTRL/M_Flame.uasset -------------------------------------------------------------------------------- /Content/SamplePTRL/PTRL.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SamplePTRL/PTRL.umap -------------------------------------------------------------------------------- /Content/SamplePTRL/SM_Flame.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SamplePTRL/SM_Flame.uasset -------------------------------------------------------------------------------- /Content/SamplePTRL/T_Flame.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SamplePTRL/T_Flame.uasset -------------------------------------------------------------------------------- /Content/SamplePTRL/WBP_MenuPTRL.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SamplePTRL/WBP_MenuPTRL.uasset -------------------------------------------------------------------------------- /Content/SamplePTRL/WBP_PanePTRL.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SamplePTRL/WBP_PanePTRL.uasset -------------------------------------------------------------------------------- /Content/SampleRandomPlacement/BP_GizmoStreched.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleRandomPlacement/BP_GizmoStreched.uasset -------------------------------------------------------------------------------- /Content/SampleRandomPlacement/BP_RandomPlacementGameMode.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleRandomPlacement/BP_RandomPlacementGameMode.uasset -------------------------------------------------------------------------------- /Content/SampleRandomPlacement/BP_VRRandomPlacementPawn.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleRandomPlacement/BP_VRRandomPlacementPawn.uasset -------------------------------------------------------------------------------- /Content/SampleRandomPlacement/RandomPlacement.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleRandomPlacement/RandomPlacement.umap -------------------------------------------------------------------------------- /Content/SampleRandomPlacement/WBP_MenuRandomPlacement.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleRandomPlacement/WBP_MenuRandomPlacement.uasset -------------------------------------------------------------------------------- /Content/SampleRandomPlacement/WBP_RandomPlacementMenuPane.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleRandomPlacement/WBP_RandomPlacementMenuPane.uasset -------------------------------------------------------------------------------- /Content/SampleSceneDecoration/BP_CreatePointsGridWorld.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleSceneDecoration/BP_CreatePointsGridWorld.uasset -------------------------------------------------------------------------------- /Content/SampleSceneDecoration/BP_SceneDecorationGameMode.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleSceneDecoration/BP_SceneDecorationGameMode.uasset -------------------------------------------------------------------------------- /Content/SampleSceneDecoration/BP_SceneRayAnchor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleSceneDecoration/BP_SceneRayAnchor.uasset -------------------------------------------------------------------------------- /Content/SampleSceneDecoration/BP_VRSceneDecoratorPawn.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleSceneDecoration/BP_VRSceneDecoratorPawn.uasset -------------------------------------------------------------------------------- /Content/SampleSceneDecoration/M_Grass.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleSceneDecoration/M_Grass.uasset -------------------------------------------------------------------------------- /Content/SampleSceneDecoration/M_Rock.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleSceneDecoration/M_Rock.uasset -------------------------------------------------------------------------------- /Content/SampleSceneDecoration/PCG_Raycast.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleSceneDecoration/PCG_Raycast.uasset -------------------------------------------------------------------------------- /Content/SampleSceneDecoration/PCG_SceneDecoration.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleSceneDecoration/PCG_SceneDecoration.uasset -------------------------------------------------------------------------------- /Content/SampleSceneDecoration/SM_Grass.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleSceneDecoration/SM_Grass.uasset -------------------------------------------------------------------------------- /Content/SampleSceneDecoration/SM_Rock.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleSceneDecoration/SM_Rock.uasset -------------------------------------------------------------------------------- /Content/SampleSceneDecoration/SceneDecoration.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleSceneDecoration/SceneDecoration.umap -------------------------------------------------------------------------------- /Content/SampleSceneDecoration/WBP_MenuSceneDecoration.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleSceneDecoration/WBP_MenuSceneDecoration.uasset -------------------------------------------------------------------------------- /Content/SampleSceneDecoration/WBP_SceneDecorationMenuPane.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Content/SampleSceneDecoration/WBP_SceneDecorationMenuPane.uasset -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) Meta Platforms, Inc. and affiliates. 2 | All rights reserved. 3 | 4 | Licensed under the Oculus SDK License Agreement (the "License"); 5 | you may not use the Oculus SDK except in compliance with the License, 6 | which is provided at the time of installation or download, or which 7 | otherwise accompanies this software in either electronic or hard copy form. 8 | 9 | You may obtain a copy of the License at 10 | 11 | https://developer.oculus.com/licenses/oculussdk/ 12 | 13 | Unless required by applicable law or agreed to in writing, the Oculus SDK 14 | distributed under the License is distributed on an "AS IS" BASIS, 15 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | See the License for the specific language governing permissions and 17 | limitations under the License. -------------------------------------------------------------------------------- /MRUtilityKitSample.uproject: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "EngineAssociation": "", 4 | "Category": "", 5 | "Description": "", 6 | "Modules": [ 7 | { 8 | "Name": "MRUtilityKitSample", 9 | "Type": "Runtime", 10 | "LoadingPhase": "Default", 11 | "AdditionalDependencies": [ 12 | "Engine", 13 | "UMG" 14 | ] 15 | } 16 | ], 17 | "Plugins": [ 18 | { 19 | "Name": "OculusXR", 20 | "Enabled": true, 21 | "SupportedTargetPlatforms": [ 22 | "Win64", 23 | "Android" 24 | ], 25 | "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/product/8313d8d7e7cf4e03a33e79eb757bccba" 26 | }, 27 | { 28 | "Name": "FunctionalTestingEditor", 29 | "Enabled": true 30 | }, 31 | { 32 | "Name": "PCG", 33 | "Enabled": true 34 | }, 35 | { 36 | "Name": "XRBase", 37 | "Enabled": true 38 | } 39 | ], 40 | "TargetPlatforms": [ 41 | "Android" 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /Platforms/HoloLens/Config/HoloLensEngine.ini: -------------------------------------------------------------------------------- 1 | 2 | 3 | [/Script/HoloLensPlatformEditor.HoloLensTargetSettings] 4 | bBuildForEmulation=False 5 | bBuildForDevice=True 6 | bUseNameForLogo=True 7 | bBuildForRetailWindowsStore=False 8 | bAutoIncrementVersion=False 9 | bShouldCreateAppInstaller=False 10 | AppInstallerInstallationURL= 11 | HoursBetweenUpdateChecks=0 12 | bEnablePIXProfiling=False 13 | TileBackgroundColor=(B=64,G=0,R=0,A=255) 14 | SplashScreenBackgroundColor=(B=64,G=0,R=0,A=255) 15 | +PerCultureResources=(CultureId="",Strings=(PackageDisplayName="",PublisherDisplayName="",PackageDescription="",ApplicationDisplayName="",ApplicationDescription=""),Images=()) 16 | TargetDeviceFamily=Windows.Holographic 17 | MinimumPlatformVersion=10.0.18362.0 18 | MaximumPlatformVersionTested=10.0.19041.0 19 | MaxTrianglesPerCubicMeter=500.000000 20 | SpatialMeshingVolumeSize=20.000000 21 | CompilerVersion=Default 22 | Windows10SDKVersion=10.0.18362.0 23 | +CapabilityList=internetClientServer 24 | +CapabilityList=privateNetworkClientServer 25 | +Uap2CapabilityList=spatialPerception 26 | bSetDefaultCapabilities=False 27 | SpatializationPlugin= 28 | SourceDataOverridePlugin= 29 | ReverbPlugin= 30 | OcclusionPlugin= 31 | SoundCueCookQualityIndex=-1 32 | 33 | -------------------------------------------------------------------------------- /Plugins/SampleEditor/Resources/Icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oculus-samples/Unreal-MRUtilityKitSample/1a94f200a1b7ba3d3c08b6f34b03ddac4dfe96d7/Plugins/SampleEditor/Resources/Icon128.png -------------------------------------------------------------------------------- /Plugins/SampleEditor/SampleEditor.uplugin: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "Version": 1, 4 | "VersionName": "1.0", 5 | "FriendlyName": "SampleEditor", 6 | "Description": "", 7 | "Category": "Other", 8 | "CreatedBy": "", 9 | "CreatedByURL": "", 10 | "DocsURL": "", 11 | "MarketplaceURL": "", 12 | "SupportURL": "", 13 | "CanContainContent": true, 14 | "IsBetaVersion": false, 15 | "IsExperimentalVersion": false, 16 | "Installed": false, 17 | "SupportedTargetPlatforms": [ 18 | "Win64", 19 | "Android" 20 | ], 21 | "Modules": [ 22 | { 23 | "Name": "SampleEditor", 24 | "Type": "Editor", 25 | "LoadingPhase": "PostEngineInit" 26 | } 27 | ], 28 | "Plugins": [ 29 | { 30 | "Name": "OculusXR", 31 | "Enabled": true, 32 | "LoadingPhase": "PostEngineInit" 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /Plugins/SampleEditor/Source/SampleEditor/Private/SampleEditor.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "SampleEditor.h" 10 | 11 | #define LOCTEXT_NAMESPACE "FSampleEditorModule" 12 | 13 | void FSampleEditorModule::StartupModule() 14 | { 15 | } 16 | 17 | void FSampleEditorModule::ShutdownModule() 18 | { 19 | } 20 | 21 | #undef LOCTEXT_NAMESPACE 22 | 23 | IMPLEMENT_MODULE(FSampleEditorModule, SampleEditor) 24 | -------------------------------------------------------------------------------- /Plugins/SampleEditor/Source/SampleEditor/Private/SampleEditorMRUKMenuBase.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | #include "SampleEditorMRUKMenuBase.h" 9 | 10 | #include "Components/VerticalBox.h" 11 | #include "Components/VerticalBoxSlot.h" 12 | 13 | void USampleEditorMRUKMenuBase::NativeConstruct() 14 | { 15 | Super::NativeConstruct(); 16 | 17 | // Construct the path to the menu widget with the help of the currently loaded map 18 | 19 | const FString MapName = GetWorld()->GetMapName(); 20 | const FString WidgetPath = "/Game/Sample" + MapName + "/" + "WBP_Menu" + MapName + ".WBP_Menu" + MapName + "_C"; 21 | UClass* WidgetClass = LoadObject(nullptr, *WidgetPath); 22 | if (!WidgetClass) 23 | { 24 | return; 25 | } 26 | 27 | UUserWidget* WidgetInstance = CreateWidget(this, WidgetClass); 28 | if (!WidgetClass) 29 | { 30 | return; 31 | } 32 | const auto Root = Cast(GetRootWidget()); 33 | check(Root); 34 | UVerticalBoxSlot* VerticalSlot = Root->AddChildToVerticalBox(WidgetInstance); 35 | VerticalSlot->SetSize(FSlateChildSize(ESlateSizeRule::Fill)); 36 | } 37 | -------------------------------------------------------------------------------- /Plugins/SampleEditor/Source/SampleEditor/Public/SampleEditor.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #pragma once 10 | 11 | #include "CoreMinimal.h" 12 | #include "Modules/ModuleManager.h" 13 | 14 | class FSampleEditorModule : public IModuleInterface 15 | { 16 | public: 17 | virtual void StartupModule() override; 18 | virtual void ShutdownModule() override; 19 | }; 20 | -------------------------------------------------------------------------------- /Plugins/SampleEditor/Source/SampleEditor/Public/SampleEditorMRUKMenuBase.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | #pragma once 9 | 10 | #include "CoreMinimal.h" 11 | #include "EditorUtilityWidget.h" 12 | #include "SampleEditorMRUKMenuBase.generated.h" 13 | 14 | UCLASS(BlueprintType, ClassGroup = MRUtilityKit, meta = (DisplayName = "Editor MRUK Menu Base")) 15 | class SAMPLEEDITOR_API USampleEditorMRUKMenuBase : public UEditorUtilityWidget 16 | { 17 | GENERATED_BODY() 18 | 19 | public: 20 | virtual void NativeConstruct() override; 21 | }; 22 | -------------------------------------------------------------------------------- /Plugins/SampleEditor/Source/SampleEditor/SampleEditor.Build.cs: -------------------------------------------------------------------------------- 1 | // Copyright Epic Games, Inc. All Rights Reserved. 2 | 3 | using UnrealBuildTool; 4 | 5 | public class SampleEditor : ModuleRules 6 | { 7 | public SampleEditor(ReadOnlyTargetRules Target) : base(Target) 8 | { 9 | PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; 10 | 11 | PublicDependencyModuleNames.AddRange(new string[] { 12 | "Core", 13 | } 14 | ); 15 | 16 | 17 | PrivateDependencyModuleNames.AddRange(new string[] { 18 | "CoreUObject", 19 | "Engine", 20 | "Slate", 21 | "SlateCore", 22 | "UnrealEd", 23 | "Blutility", 24 | "UMG", 25 | "OculusXRScene", 26 | "OculusXRAnchors", 27 | "MRUtilityKit" 28 | } 29 | ); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Documentation 2 | 3 | The latest documentation for Mixed Reality Utility Kit can be found here: 4 | 5 | https://developer.oculus.com/documentation/unreal/unreal-mr-utility-kit-overview/ 6 | 7 | ## Samples 8 | 9 | ### Scene Decoration 10 | 11 | The Scene Decorator is a sample that showcases how to use Unreal Engines procedural content generation framework (PCG) to decorate a scene in Mixed Reality. 12 | The relevant files for this sample can be found in the folder SampleSceneDecoration. The sample itself is located in SampleSceneDecoration/SceneDecoration. To understand the sample better it is advised to get familiar with the basics of [PCG in Unreal Engine](https://dev.epicgames.com/documentation/en-us/unreal-engine/procedural-content-generation-overview). 13 | 14 | There are two PCG graphs to do the whole work of scene decoration. That is PCG_Raycast and PCG_SceneDecoration. 15 | 16 | PCG_SceneDecoration is the main PCG graph. It queries the scene data with the help of a custom PCG node called B_SceneRayAnchor, and then executes raycasts against the queried scene data. These raycasts are used to project a point grid onto the scene geometry. The execution of the raycast and projection is done as a subgraph called PCG_Raycast. 17 | After that is done the points are filtered down like in any other PCG graph to obtain the final point distribution. Finally static meshes get spawned in the place of the points. 18 | 19 | #### Scene Ray Anchor 20 | 21 | The basic idea is to create a point grid and then project that points grid onto the walls, floor and ceiling. This can be done in PCG with a Create Points Grid World node, a World Ray Hit Query Node, and Projection node. The World Ray Hit Query nodes determine how the points grid gets projected by the Projection node. 22 | 23 | For that to work we need to obtain the correct arguments for the raycast and point grid. This is where the custom PCG node Scene Ray Anchor helps. 24 | 25 | Scene Ray Anchor is a custom PCG node that gets as input a scene label and an offset and direction for a ray cast. It will query all anchors with the given label and create a PCG point that contains all the information needed for a raycast against the scene geometry for the given label. The attributes in the PCG point get used in a very specific way. The Position contains the Ray Origin. The Scale contains the Ray Direction. The Bounds Max contains the Grid Extents for the point grid and the Rotation contains the Rotation for the point grid. Take a look at PCG_SceneDecoration and PCG_Raycast to see how this works in detail. 26 | 27 | #### Distance Map integration 28 | 29 | In MRUK we have the possibility to generate a distance map. A distance map stores information about how far a certain point is away from walls or the scene objects. The distance map can be combined with the scene decoration to spawn for example only things close to walls. How this can be done can be seen in PCG_SceneDecoration. 30 | 31 | #### Import into your own project 32 | 33 | Copy PCG_SceneDecoration, PCG_Raycast, BP_SceneRayAnchor, BP_CreatePointsGrid into your project. 34 | 35 | ## How to Use 36 | 37 | ### Load the project 38 | 39 | First, ensure you have Git LFS installed by running this command: 40 | ```sh 41 | git lfs install 42 | ``` 43 | 44 | Then, clone this repo using the "Code" button above, or this command: 45 | ```sh 46 | git clone https://github.com/oculus-samples/Unreal-MRUtilityKitSample 47 | ``` 48 | 49 | ### Launch the project in the Unreal Editor using one of the following options. 50 | 51 | #### Epic Games Launcher with MetaXR plugin 52 | 53 | The easiest way to get started is to use the prebuilt Unreal Engine from the Epic Games Launcher, with MetaXR plugin. 54 | 55 | 1. Install the [Epic Games Launcher](https://www.epicgames.com/store/en-US/download) 56 | 2. In the launcher, install UE5 (recommended). 57 | 3. Download and install the MetaXR plugin from the [Unreal Engine 5 Integration download page](https://developer.oculus.com/downloads/package/unreal-engine-5-integration). 58 | 4. Launch the Unreal Editor 59 | 5. From "Recent Projects", click "Browse" and select `MRUtilityKitSample.uproject` 60 | 61 | #### Meta fork of Epic’s Unreal Engine 62 | 63 | The Meta fork of Epic’s Unreal Engine will give you the most up to date integration of Oculus features. However, you must build the editor from its source. 64 | 65 | Follow the instructions on [Accessing Unreal Engine source code on GitHub](https://www.unrealengine.com/en-US/ue-on-github) to obtain: 66 | - an Epic account 67 | - a GitHub account 68 | - authorization to access the Unreal Engine source repository 69 | Disregard instructions on downloading Epic’s Unreal Engine source code as you will be building the Meta fork of Epic’s Unreal Engine source. 70 | 71 | Make sure you have Visual Studio installed properly: 72 | - Launch the Visual Studio Installer and click Modify for the Visual Studio version you want to use. 73 | - Under the Workloads tab, click Game development with C++ if it isn’t checked and then click Modify. 74 | 75 | 1. Download the source code from the [Meta fork of Epic’s Unreal Engine on GitHub](https://github.com/Oculus-VR/UnrealEngine). 76 | 2. Open a command prompt in the root of the Unreal, then run this command: 77 | ```sh 78 | .\GenerateProjectFiles.bat -Game MRUtilityKitSample -Engine \MRUtilityKitSample.uproject 79 | ``` 80 | 3. Open the `MRUtilityKitSample.sln` file that has been generated in the `Unreal-MRUtilityKitSample` directory. 81 | 4. Set `MRUtilityKitSample` as the start-up project and `Development Editor` as the configuration. 82 | 5. Hit `F5` to build and debug the project (and the engine). 83 | - Depending on your machine, the build may take awhile to complete. 84 | 85 | # Licenses 86 | The Meta License applies to the SDK and supporting material. The MIT License applies to only certain, clearly marked documents. If an individual file does not indicate which license it is subject to, then the Meta License applies. 87 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample.Target.cs: -------------------------------------------------------------------------------- 1 | using UnrealBuildTool; 2 | using System.Collections.Generic; 3 | 4 | public class MRUtilityKitSampleTarget : TargetRules 5 | { 6 | public MRUtilityKitSampleTarget(TargetInfo Target) : base(Target) 7 | { 8 | Type = TargetType.Game; 9 | DefaultBuildSettings = BuildSettingsVersion.Latest; 10 | 11 | ExtraModuleNames.AddRange(new string[] { "MRUtilityKitSample" }); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample/MRUtilityKitSample.Build.cs: -------------------------------------------------------------------------------- 1 | using UnrealBuildTool; 2 | 3 | public class MRUtilityKitSample : ModuleRules 4 | { 5 | public MRUtilityKitSample(ReadOnlyTargetRules Target) : base(Target) 6 | { 7 | PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; 8 | 9 | PublicDependencyModuleNames.AddRange(new string[] { 10 | "Core", 11 | "CoreUObject", 12 | "Engine", 13 | "InputCore", 14 | "EnhancedInput" 15 | }); 16 | 17 | if (Target.Version.MajorVersion > 5 || (Target.Version.MajorVersion == 5 && Target.Version.MinorVersion >= 3)) 18 | { 19 | PublicDependencyModuleNames.AddRange(new string[] { 20 | "XRBase", 21 | }); 22 | } 23 | 24 | 25 | PrivateDependencyModuleNames.AddRange(new string[] { 26 | "HeadMountedDisplay", 27 | "UMG", 28 | "MRUtilityKit", 29 | "OculusXRHMD", 30 | "OculusXRAnchors", 31 | "OculusXRScene", 32 | "OculusXRInput", 33 | "ProceduralMeshComponent", 34 | "PCG" 35 | }); 36 | 37 | if (Target.bBuildEditor) 38 | { 39 | PrivateDependencyModuleNames.AddRange(new string[] { 40 | "UnrealEd", 41 | "EditorSubsystem", 42 | "UMGEditor", 43 | "Blutility", 44 | }); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample/Private/DemoGameState.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | #include "DemoGameState.h" 9 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample/Private/DemoGameState.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | #pragma once 9 | 10 | #include "CoreMinimal.h" 11 | #include "GameFramework/GameState.h" 12 | #include "MRUtilityKitRoom.h" 13 | #include "DemoGameState.generated.h" 14 | 15 | UCLASS() 16 | class MRUTILITYKITSAMPLE_API ADemoGameState : public AGameState 17 | { 18 | GENERATED_BODY() 19 | 20 | public: 21 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 22 | FString CurrentDemoName = "Raycast"; 23 | 24 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 25 | EMRUKPositioningMethod BestPose = EMRUKPositioningMethod::Edge; 26 | }; 27 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample/Private/DemoVRPawn.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | #include "DemoVRPawn.h" 9 | #include "DemoGameState.h" 10 | #include "Kismet/KismetMathLibrary.h" 11 | 12 | void ADemoVRPawn::BeginPlay() 13 | { 14 | Super::BeginPlay(); 15 | 16 | if (!Cube && IsValid(CubeActor)) 17 | { 18 | FActorSpawnParameters ActorSpawnParams; 19 | ActorSpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn; 20 | ActorSpawnParams.Owner = this; 21 | Cube = GetWorld()->SpawnActor(CubeActor, ActorSpawnParams); 22 | 23 | Cube->SetActorScale3D(FVector(0.1)); 24 | Cube->SetActorHiddenInGame(true); 25 | 26 | UStaticMeshComponent* StaticMesh = Cube->GetComponentByClass(); 27 | check(StaticMesh); 28 | CubeMaterialInstance = UMaterialInstanceDynamic::Create(CubeMaterial, this); 29 | StaticMesh->SetMaterial(0, CubeMaterialInstance); 30 | } 31 | 32 | HideShapes(); 33 | } 34 | 35 | void ADemoVRPawn::HideShapes() 36 | { 37 | if (Cube) 38 | { 39 | Cube->SetActorHiddenInGame(true); 40 | } 41 | 42 | for (const auto Arrow : Arrows) 43 | { 44 | Arrow->SetActorHiddenInGame(true); 45 | } 46 | } 47 | 48 | void ADemoVRPawn::DisplayCube(FVector Location, FRotator Rotation, FVector Scale, FVector Color) 49 | { 50 | CubeMaterialInstance->SetVectorParameterValue("ArrowColor", Color); 51 | 52 | Cube->SetActorLocation(Location); 53 | Cube->SetActorRotation(Rotation); 54 | Cube->SetActorScale3D(Scale); 55 | 56 | Cube->SetActorHiddenInGame(false); 57 | } 58 | 59 | void ADemoVRPawn::DisplayArrow(FVector Location, FVector Normal, int32 ArrowIndex) 60 | { 61 | const auto Arrow = GetArrowSafe(ArrowIndex); 62 | Arrow->SetActorHiddenInGame(false); 63 | Arrow->SetActorLocation(Location); 64 | 65 | const bool IsNormalPointingUp = UKismetMathLibrary::NearlyEqual_FloatFloat(abs(Normal.Dot(FVector::UpVector)), 1.0, 0.01); 66 | 67 | FRotator Rotator; 68 | if (IsNormalPointingUp) 69 | { 70 | Rotator = UKismetMathLibrary::MakeRotFromZX(FVector::RightVector, Normal); 71 | } 72 | else 73 | { 74 | Rotator = UKismetMathLibrary::MakeRotFromZX(FVector::UpVector, Normal); 75 | } 76 | 77 | Arrow->SetActorRotation(Rotator); 78 | } 79 | 80 | AActor* ADemoVRPawn::GetArrowSafe(int32 Index) 81 | { 82 | check(0 <= Index); 83 | check(ArrowActor); 84 | 85 | if (Index < Arrows.Num()) 86 | { 87 | return Arrows[Index]; 88 | } 89 | 90 | const int32 OldArrowsNum = Arrows.Num(); 91 | Arrows.SetNum(Index + 1); 92 | 93 | for (int32 I = OldArrowsNum; I < Arrows.Num(); ++I) 94 | { 95 | FActorSpawnParameters ActorSpawnParams; 96 | ActorSpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn; 97 | ActorSpawnParams.Owner = this; 98 | const auto Arrow = GetWorld()->SpawnActor(ArrowActor, ActorSpawnParams); 99 | 100 | Arrow->SetActorScale3D(FVector(0.1)); 101 | Arrow->SetActorHiddenInGame(true); 102 | 103 | Arrows[I] = Arrow; 104 | } 105 | 106 | return Arrows[Index]; 107 | } 108 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample/Private/DemoVRPawn.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | #pragma once 9 | 10 | #include "CoreMinimal.h" 11 | #include "VRPawn.h" 12 | #include "DemoVRPawn.generated.h" 13 | 14 | UCLASS() 15 | class ADemoVRPawn : public AVRPawn 16 | { 17 | GENERATED_BODY() 18 | 19 | public: 20 | UPROPERTY(EditAnywhere) 21 | TSubclassOf CubeActor; 22 | 23 | UPROPERTY(EditAnywhere) 24 | UMaterialInstance* CubeMaterial; 25 | 26 | UPROPERTY(EditAnywhere) 27 | TSubclassOf ArrowActor; 28 | 29 | UFUNCTION(BlueprintCallable) 30 | void HideShapes(); 31 | 32 | UFUNCTION(BlueprintCallable) 33 | void DisplayCube(FVector Location, FRotator Rotation, FVector Scale = FVector(0.1), FVector Color = FVector(1.0)); 34 | 35 | UFUNCTION(BlueprintCallable) 36 | void DisplayArrow(FVector Location, FVector Normal, int32 ArrowIndex = 0); 37 | 38 | UFUNCTION(BlueprintCallable) 39 | AActor* GetArrowSafe(int32 Index = 0); 40 | 41 | protected: 42 | void BeginPlay() override; 43 | 44 | private: 45 | UPROPERTY() 46 | TArray Arrows; 47 | 48 | UPROPERTY() 49 | AActor* Cube = nullptr; 50 | 51 | UPROPERTY() 52 | UMaterialInstanceDynamic* CubeMaterialInstance = nullptr; 53 | }; 54 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample/Private/MRUKSampleGameModeBase.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "MRUKSampleGameModeBase.h" 10 | 11 | #include "IHeadMountedDisplay.h" 12 | #include "IXRTrackingSystem.h" 13 | 14 | /** 15 | * Checks if the current game mode is running in editor without VR preview. 16 | * 17 | * @return true if the game mode is running in editor without VR preview, false otherwise 18 | */ 19 | bool AMRUKSampleGameModeBase::IsEditorNoVRPreview() 20 | { 21 | if (!GEngine || !GEngine->XRSystem.IsValid()) 22 | { 23 | return false; 24 | } 25 | const auto HMDDevice = GEngine->XRSystem->GetHMDDevice(); 26 | if (!HMDDevice || !HMDDevice->IsHMDConnected() || !HMDDevice->IsHMDEnabled()) 27 | { 28 | return false; 29 | } 30 | const auto StereoRenderingDevice = GEngine->XRSystem->GetStereoRenderingDevice(); 31 | if (!StereoRenderingDevice || !StereoRenderingDevice->IsStereoEnabled()) 32 | { 33 | return false; 34 | } 35 | return true; 36 | } 37 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample/Private/MRUKSampleGameModeBase.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #pragma once 10 | 11 | #include "CoreMinimal.h" 12 | #include "GameFramework/GameModeBase.h" 13 | #include "MRUKSampleGameModeBase.generated.h" 14 | 15 | /** 16 | * 17 | */ 18 | UCLASS() 19 | class AMRUKSampleGameModeBase : public AGameModeBase 20 | { 21 | GENERATED_BODY() 22 | 23 | public: 24 | UFUNCTION(BlueprintCallable, BlueprintPure, Category = "MR Utility Kit") 25 | static bool IsEditorNoVRPreview(); 26 | }; 27 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample/Private/MRUtilityKitSample.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | #include "MRUtilityKitSample.h" 9 | #include "Modules/ModuleManager.h" 10 | 11 | IMPLEMENT_PRIMARY_GAME_MODULE(FDefaultGameModuleImpl, MRUtilityKitSample, "MRUtilityKitSample"); 12 | 13 | DEFINE_LOG_CATEGORY(LogMRUKSample); 14 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample/Private/MRUtilityKitSample.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | #pragma once 9 | 10 | #include "CoreMinimal.h" 11 | 12 | DECLARE_LOG_CATEGORY_EXTERN(LogMRUKSample, Log, All); 13 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample/Private/SampleBPFLibrary.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #include "SampleBPFLibrary.h" 10 | #include "Kismet/GameplayStatics.h" 11 | #if WITH_EDITOR 12 | #include "Subsystems/UnrealEditorSubsystem.h" 13 | #endif 14 | 15 | UWorld* USampleBPFLibrary::GetActiveGameWorld(const UObject* WorldContext) 16 | { 17 | #if WITH_EDITOR 18 | if (GEditor) 19 | { 20 | const auto EditorSubsystem = GEditor->GetEditorSubsystem(); 21 | return EditorSubsystem->GetGameWorld(); 22 | } 23 | #endif 24 | if (WorldContext) 25 | { 26 | return WorldContext->GetWorld(); 27 | } 28 | return nullptr; 29 | } 30 | 31 | UMRUKSubsystem* USampleBPFLibrary::GetMRUKSubsystemActiveGameWorld(const UObject* WorldContext) 32 | { 33 | if (const UWorld* World = GetActiveGameWorld(WorldContext)) 34 | { 35 | if (const UGameInstance* GameInstance = World->GetGameInstance()) 36 | { 37 | return GameInstance->GetSubsystem(); 38 | } 39 | } 40 | return nullptr; 41 | } 42 | 43 | AActor* USampleBPFLibrary::GetActorOfClassActiveGameWorld(TSubclassOf ActorClass, const UObject* WorldContext) 44 | { 45 | return UGameplayStatics::GetActorOfClass(GetActiveGameWorld(WorldContext), ActorClass); 46 | } 47 | 48 | void USampleBPFLibrary::ExecuteConsoleCommandActiveGameWorld(const FString& Command, APlayerController* Player, const UObject* WorldContext) 49 | { 50 | return UKismetSystemLibrary::ExecuteConsoleCommand(GetActiveGameWorld(WorldContext), Command, Player); 51 | } 52 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample/Private/SampleBPFLibrary.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | 9 | #pragma once 10 | 11 | #include "MRUtilityKitSubsystem.h" 12 | #include "Kismet/BlueprintFunctionLibrary.h" 13 | #include "SampleBPFLibrary.generated.h" 14 | 15 | UCLASS() 16 | class USampleBPFLibrary : public UBlueprintFunctionLibrary 17 | { 18 | GENERATED_BODY() 19 | 20 | public: 21 | UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Sample", meta = (WorldContext = "WorldContext")) 22 | static UWorld* GetActiveGameWorld(const UObject* WorldContext); 23 | 24 | UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Sample", meta = (WorldContext = "WorldContext")) 25 | static UMRUKSubsystem* GetMRUKSubsystemActiveGameWorld(const UObject* WorldContext); 26 | 27 | UFUNCTION(BlueprintCallable, Category = "Sample", meta = (WorldContext = "WorldContext")) 28 | static AActor* GetActorOfClassActiveGameWorld(TSubclassOf ActorClass, const UObject* WorldContext); 29 | 30 | UFUNCTION(BlueprintCallable, Category = "Sample", meta = (WorldContext = "WorldContext")) 31 | static void ExecuteConsoleCommandActiveGameWorld(const FString& Command, APlayerController* Player, const UObject* WorldContext); 32 | }; 33 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample/Private/VRPawn.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | #include "VRPawn.h" 9 | #include "OculusXRFunctionLibrary.h" 10 | #include "HeadMountedDisplayFunctionLibrary.h" 11 | #include "Kismet/KismetMathLibrary.h" 12 | #include "InputMappingContext.h" 13 | #include "EnhancedInputSubsystems.h" 14 | #include "EnhancedInputComponent.h" 15 | #include "InputAction.h" 16 | #include "Camera/CameraComponent.h" 17 | #include "MotionControllerComponent.h" 18 | #include "Components/WidgetComponent.h" 19 | #include "Components/WidgetInteractionComponent.h" 20 | #include "GameFramework/SpringArmComponent.h" 21 | #include "Components/SplineComponent.h" 22 | #include "Components/SplineMeshComponent.h" 23 | #include "XRDeviceVisualizationComponent.h" 24 | 25 | AVRPawn::AVRPawn() 26 | { 27 | PrimaryActorTick.bCanEverTick = true; 28 | 29 | // Create components 30 | Root = CreateDefaultSubobject(TEXT("DefaultSceneRoot")); 31 | MotionControllerLeft = CreateDefaultSubobject(TEXT("MotionControllerLeft")); 32 | MotionControllerRight = CreateDefaultSubobject(TEXT("MotionControllerRight")); 33 | LegacyPoseTransformLeft = CreateDefaultSubobject(TEXT("LegacyPoseTransformLeft")); 34 | LegacyPoseTransformRight = CreateDefaultSubobject(TEXT("LegacyPoseTransformRight")); 35 | DeviceVisualizationLeft = CreateDefaultSubobject(TEXT("DeviceVisualizationLeft")); 36 | DeviceVisualizationRight = CreateDefaultSubobject(TEXT("DeviceVisualizationRight")); 37 | SpringArm = CreateDefaultSubobject(TEXT("SpringArm")); 38 | DemoMenu = CreateDefaultSubobject(TEXT("DemoMenu")); 39 | WidgetInteraction = CreateDefaultSubobject(TEXT("WidgetInteraction")); 40 | Spline = CreateDefaultSubobject(TEXT("Spline")); 41 | SplineMesh = CreateDefaultSubobject(TEXT("SplineMesh")); 42 | Camera = CreateDefaultSubobject(TEXT("Camera")); 43 | 44 | RootComponent = Root; 45 | 46 | // Setup components 47 | 48 | MotionControllerLeft->MotionSource = TEXT("Left"); 49 | MotionControllerLeft->SetupAttachment(Root); 50 | 51 | MotionControllerRight->MotionSource = TEXT("Right"); 52 | MotionControllerRight->SetupAttachment(Root); 53 | 54 | LegacyPoseTransformLeft->SetupAttachment(MotionControllerLeft); 55 | LegacyPoseTransformRight->SetupAttachment(MotionControllerRight); 56 | 57 | SpringArm->SetupAttachment(Root); 58 | Camera->SetupAttachment(Root); 59 | 60 | DeviceVisualizationLeft->SetIsVisualizationActive(true); 61 | DeviceVisualizationLeft->SetupAttachment(LegacyPoseTransformLeft); 62 | 63 | DeviceVisualizationRight->SetIsVisualizationActive(true); 64 | DeviceVisualizationRight->SetupAttachment(LegacyPoseTransformRight); 65 | 66 | DemoMenu->SetupAttachment(SpringArm); 67 | DemoMenu->SetRelativeRotation(FRotator::MakeFromEuler(FVector(0.0, 0.0, 180.0))); 68 | 69 | SpringArm->SetupAttachment(LegacyPoseTransformLeft); 70 | SpringArm->TargetArmLength = 0.0; 71 | SpringArm->bInheritYaw = true; 72 | SpringArm->bInheritPitch = true; 73 | SpringArm->bInheritRoll = true; 74 | 75 | WidgetInteraction->SetupAttachment(LegacyPoseTransformRight); 76 | 77 | Spline->SetupAttachment(LegacyPoseTransformRight); 78 | 79 | SplineMesh->SetupAttachment(Spline); 80 | SplineMesh->SetMobility(EComponentMobility::Movable); 81 | static ConstructorHelpers::FObjectFinder BeamMeshFinder(TEXT("/Game/Common/Models/SM_BeamMesh")); 82 | if (BeamMeshFinder.Succeeded()) 83 | { 84 | SplineMesh->SetStaticMesh(BeamMeshFinder.Object); 85 | } 86 | 87 | static ConstructorHelpers::FObjectFinder BeamMaterialFinder(TEXT("/Game/Common/Materials/M_Beam")); 88 | if (BeamMaterialFinder.Succeeded()) 89 | { 90 | SplineMesh->SetMaterial(0, BeamMaterialFinder.Object); 91 | } 92 | SplineMesh->SetStartPosition(FVector::ZeroVector); 93 | SplineMesh->SetStartTangent(FVector(100.0, 0.0, 0.0)); 94 | SplineMesh->SetEndPosition(FVector(100.0, 0.0, 0.0)); 95 | SplineMesh->SetEndTangent(FVector(100.0, 0.0, 0.0)); 96 | 97 | // Load default input context 98 | static ConstructorHelpers::FObjectFinder InputMappingContextFinder(TEXT("/Game/Common/Input/IMC_Default")); 99 | if (InputMappingContextFinder.Succeeded()) 100 | { 101 | InputMapping = InputMappingContextFinder.Object; 102 | } 103 | 104 | // Load default input actions 105 | 106 | static ConstructorHelpers::FObjectFinder InputActionSelectFinder(TEXT("/Game/Common/Input/Actions/IA_Select")); 107 | if (InputActionSelectFinder.Succeeded()) 108 | { 109 | ClickAction = InputActionSelectFinder.Object; 110 | } 111 | 112 | static ConstructorHelpers::FObjectFinder InputActionShowMenuFinder(TEXT("/Game/Common/Input/Actions/IA_ShowMenu")); 113 | if (InputActionShowMenuFinder.Succeeded()) 114 | { 115 | MenuAction = InputActionShowMenuFinder.Object; 116 | } 117 | } 118 | 119 | void AVRPawn::BeginPlay() 120 | { 121 | Super::BeginPlay(); 122 | 123 | if (!InputMapping.IsNull()) 124 | { 125 | if (const auto PlayerController = Cast(GetController())) 126 | { 127 | if (const auto InputSubsystem = ULocalPlayer::GetSubsystem(PlayerController->GetLocalPlayer())) 128 | { 129 | InputSubsystem->AddMappingContext(InputMapping.LoadSynchronous(), 0); 130 | } 131 | } 132 | } 133 | } 134 | 135 | void AVRPawn::Tick(float DeltaTime) 136 | { 137 | Super::Tick(DeltaTime); 138 | 139 | UpdateWidgetBeam(); 140 | ShowHideControllers(); 141 | } 142 | 143 | void AVRPawn::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) 144 | { 145 | if (const auto EnhancedInputComponent = CastChecked(PlayerInputComponent)) 146 | { 147 | EnhancedInputComponent->BindAction(MenuAction, ETriggerEvent::Completed, this, &AVRPawn::InputMenu); 148 | EnhancedInputComponent->BindAction(ClickAction, ETriggerEvent::Triggered, this, &AVRPawn::InputClick); 149 | EnhancedInputComponent->BindAction(ClickAction, ETriggerEvent::Completed, this, &AVRPawn::InputRelease); 150 | } 151 | } 152 | 153 | void AVRPawn::InputMenu(const FInputActionValue& Value) 154 | { 155 | const bool Pressed = Value.Get(); 156 | // Toggle visibility of DemoMenu 157 | DemoMenu->SetVisibility(!DemoMenu->IsVisible(), Pressed); 158 | } 159 | 160 | void AVRPawn::InputClick(const FInputActionValue& Value) 161 | { 162 | WidgetInteraction->PressPointerKey(EKeys::LeftMouseButton); 163 | } 164 | 165 | void AVRPawn::InputRelease(const FInputActionValue& Value) 166 | { 167 | WidgetInteraction->ReleasePointerKey(EKeys::LeftMouseButton); 168 | } 169 | 170 | void AVRPawn::UpdateWidgetBeam() const 171 | { 172 | if (WidgetInteraction->bEnableHitTesting && WidgetInteraction->IsOverHitTestVisibleWidget()) 173 | { 174 | const FVector HitLocation = WidgetInteraction->GetLastHitResult().Location; 175 | Spline->SetLocationAtSplinePoint(1, HitLocation, ESplineCoordinateSpace::World, true); 176 | } 177 | else 178 | { 179 | const FVector Location = Spline->GetLocationAtSplinePoint(0, ESplineCoordinateSpace::World); 180 | Spline->SetLocationAtSplinePoint(1, Location, ESplineCoordinateSpace::World, true); 181 | } 182 | 183 | FVector StartLocation{}; 184 | FVector StartTangent{}; 185 | Spline->GetLocationAndTangentAtSplinePoint(0, StartLocation, StartTangent, ESplineCoordinateSpace::Local); 186 | 187 | FVector EndLocation{}; 188 | FVector EndTangent{}; 189 | Spline->GetLocationAndTangentAtSplinePoint(1, EndLocation, EndTangent, ESplineCoordinateSpace::Local); 190 | 191 | SplineMesh->SetStartAndEnd(StartLocation, StartTangent, EndLocation, EndTangent, true); 192 | } 193 | 194 | void AVRPawn::ShowHideControllers() const 195 | { 196 | // Hide controllers if game is paused 197 | const bool HasInputFocus = UOculusXRFunctionLibrary::HasInputFocus(); 198 | MotionControllerLeft->SetHiddenInGame(!HasInputFocus, true); 199 | MotionControllerRight->SetHiddenInGame(!HasInputFocus, true); 200 | } 201 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSample/Private/VRPawn.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) Meta Platforms, Inc. and affiliates. 3 | All rights reserved. 4 | 5 | This source code is licensed under the license found in the 6 | LICENSE file in the root directory of this source tree. 7 | */ 8 | #pragma once 9 | 10 | #include "CoreMinimal.h" 11 | #include "GameFramework/Pawn.h" 12 | #include "InputActionValue.h" 13 | #include "OculusXRLegacyPoseTransformComponent.h" 14 | #include "VRPawn.generated.h" 15 | 16 | UCLASS() 17 | class AVRPawn : public APawn 18 | { 19 | GENERATED_BODY() 20 | 21 | public: 22 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 23 | class USceneComponent* Root; 24 | 25 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 26 | class UMotionControllerComponent* MotionControllerLeft; 27 | 28 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 29 | class UMotionControllerComponent* MotionControllerRight; 30 | 31 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 32 | class UOculusXRLegacyPoseTransformComponent* LegacyPoseTransformLeft; 33 | 34 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 35 | class UOculusXRLegacyPoseTransformComponent* LegacyPoseTransformRight; 36 | 37 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 38 | class UXRDeviceVisualizationComponent* DeviceVisualizationLeft; 39 | 40 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 41 | class UXRDeviceVisualizationComponent* DeviceVisualizationRight; 42 | 43 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 44 | class USpringArmComponent* SpringArm; 45 | 46 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 47 | class UWidgetComponent* DemoMenu; 48 | 49 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 50 | class UWidgetInteractionComponent* WidgetInteraction; 51 | 52 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 53 | class USplineComponent* Spline; 54 | 55 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 56 | class USplineMeshComponent* SplineMesh; 57 | 58 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 59 | class UCameraComponent* Camera; 60 | 61 | UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Input") 62 | TSoftObjectPtr InputMapping; 63 | 64 | UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Input") 65 | class UInputAction* MenuAction; 66 | 67 | UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Input") 68 | class UInputAction* ClickAction; 69 | 70 | public: 71 | AVRPawn(); 72 | 73 | void BeginPlay() override; 74 | void Tick(float DeltaTime) override; 75 | 76 | void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override; 77 | 78 | protected: 79 | void InputMenu(const FInputActionValue& Value); 80 | void InputClick(const FInputActionValue& Value); 81 | void InputRelease(const FInputActionValue& Value); 82 | 83 | private: 84 | void UpdateWidgetBeam() const; 85 | void ShowHideControllers() const; 86 | }; 87 | -------------------------------------------------------------------------------- /Source/MRUtilityKitSampleEditor.Target.cs: -------------------------------------------------------------------------------- 1 | using UnrealBuildTool; 2 | using System.Collections.Generic; 3 | 4 | public class MRUtilityKitSampleEditorTarget : TargetRules 5 | { 6 | public MRUtilityKitSampleEditorTarget(TargetInfo Target) : base(Target) 7 | { 8 | Type = TargetType.Editor; 9 | DefaultBuildSettings = BuildSettingsVersion.Latest; 10 | IncludeOrderVersion = EngineIncludeOrderVersion.Latest; 11 | 12 | ExtraModuleNames.AddRange(new string[] { "MRUtilityKitSample" }); 13 | } 14 | } 15 | --------------------------------------------------------------------------------