Skip to content

Commit 321d65a

Browse files
authored
Merge pull request #339 from De-Panther/auto_load_from_webxrsettings
Added options to auto-load WebXRManager and WebXRInputSystem
2 parents 6bf7e41 + 9eb9e66 commit 321d65a

File tree

16 files changed

+91
-111
lines changed

16 files changed

+91
-111
lines changed

DebugProjects/Unity2020.3/Assets/XR/Settings/Web XR Settings.asset

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,8 @@ MonoBehaviour:
1616
VROptionalFeatures: 2
1717
ARRequiredReferenceSpace: 2
1818
AROptionalFeatures: -1
19+
UseFramebufferScaleFactor: 0
20+
UseNativeResolution: 0
21+
FramebufferScaleFactor: 1
22+
AutoLoadWebXRManager: 1
23+
AutoLoadWebXRInputSystem: 0

DebugProjects/Unity2020.3/Packages/packages-lock.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"depth": 0,
2424
"source": "embedded",
2525
"dependencies": {
26-
"com.de-panther.webxr": "0.20.0"
26+
"com.de-panther.webxr": "0.20.1-preview"
2727
}
2828
},
2929
"com.unity.burst": {

MainProject/Assets/XR/Settings/Web XR Settings.asset

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,5 @@ MonoBehaviour:
1919
UseFramebufferScaleFactor: 0
2020
UseNativeResolution: 0
2121
FramebufferScaleFactor: 1
22+
AutoLoadWebXRManager: 1
23+
AutoLoadWebXRInputSystem: 1

MainProject/Packages/packages-lock.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"depth": 0,
2424
"source": "embedded",
2525
"dependencies": {
26-
"com.de-panther.webxr": "0.20.0"
26+
"com.de-panther.webxr": "0.20.1-preview"
2727
}
2828
},
2929
"com.unity.burst": {

MainProject/ProjectSettings/GraphicsSettings.asset

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ GraphicsSettings:
2929
m_AlwaysIncludedShaders:
3030
- {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
3131
- {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
32-
- {fileID: -6465566751694194690, guid: 90c26dfde11bf4ff69ef936c6e6b1ed1, type: 3}
33-
- {fileID: -6465566751694194690, guid: ba6d401c74b2c4f96af7edf0fe32241e, type: 3}
32+
- {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3}
3433
m_PreloadedShaders: []
3534
m_PreloadShadersBatchTimeLimit: -1
3635
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,

Packages/webxr-interactions/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased]
88

9+
### Added
10+
- An option to auto-load WebXRInputSystem on start in WebXRSettings.
11+
912
### Changed
1013
- Minimum WebXR Input Profiles Loader version 0.6.0.
1114

Packages/webxr-interactions/Runtime/InputSystem/WebXRInputSystem.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public static string[] GetRightProfiles()
3939
}
4040
#if UNITY_INPUT_SYSTEM_1_4_4_OR_NEWER
4141
private static bool initialized = false;
42+
private static int instances = 0;
4243
private static WebXRController left = null;
4344
private static WebXRController right = null;
4445
private static bool hasLeftProfiles = false;
@@ -49,6 +50,18 @@ public static string[] GetRightProfiles()
4950
private static XRHandProviderUtility.SubsystemUpdater subsystemUpdater;
5051
#endif
5152

53+
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
54+
private static void TryAutoLoad()
55+
{
56+
WebXRSettings settings = WebXRSettings.GetSettings();
57+
if (settings?.AutoLoadWebXRInputSystem == true)
58+
{
59+
var webxrInputSystem = new GameObject("WebXRInputSystem");
60+
webxrInputSystem.AddComponent<WebXRInputSystem>();
61+
DontDestroyOnLoad(webxrInputSystem);
62+
}
63+
}
64+
5265
private void Awake()
5366
{
5467
if (initialized)
@@ -77,6 +90,11 @@ private void Awake()
7790

7891
private void OnEnable()
7992
{
93+
instances++;
94+
if (instances > 1)
95+
{
96+
return;
97+
}
8098
unsafe
8199
{
82100
InputSystem.onDeviceCommand += HandleOnDeviceCommand;
@@ -92,6 +110,11 @@ private void OnEnable()
92110

93111
private void OnDisable()
94112
{
113+
instances--;
114+
if (instances > 0)
115+
{
116+
return;
117+
}
95118
unsafe
96119
{
97120
InputSystem.onDeviceCommand -= HandleOnDeviceCommand;
@@ -109,6 +132,10 @@ private void OnDisable()
109132
#if XR_HANDS_1_1_OR_NEWER
110133
private void OnDestroy()
111134
{
135+
if (instances > 0)
136+
{
137+
return;
138+
}
112139
if (MetaAimHand.left != null && MetaAimHand.left.added)
113140
{
114141
InputSystem.RemoveDevice(MetaAimHand.left);

Packages/webxr-interactions/Runtime/Prefabs/WebXRCameraSet.prefab

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ GameObject:
99
serializedVersion: 6
1010
m_Component:
1111
- component: {fileID: 4545079059221816}
12-
- component: {fileID: 114038308936181916}
1312
m_Layer: 0
1413
m_Name: WebXRCameraSet
1514
m_TagString: Untagged
@@ -34,18 +33,6 @@ Transform:
3433
m_Father: {fileID: 0}
3534
m_RootOrder: 0
3635
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
37-
--- !u!114 &114038308936181916
38-
MonoBehaviour:
39-
m_ObjectHideFlags: 0
40-
m_CorrespondingSourceObject: {fileID: 0}
41-
m_PrefabInstance: {fileID: 0}
42-
m_PrefabAsset: {fileID: 0}
43-
m_GameObject: {fileID: 1611361787474004}
44-
m_Enabled: 1
45-
m_EditorHideFlags: 0
46-
m_Script: {fileID: 11500000, guid: 519f6ee6510174b44bbe9a8a2d3b6a6a, type: 3}
47-
m_Name:
48-
m_EditorClassIdentifier:
4936
--- !u!1 &1799026754646168
5037
GameObject:
5138
m_ObjectHideFlags: 0
@@ -108,6 +95,7 @@ FixedJoint:
10895
m_PrefabAsset: {fileID: 0}
10996
m_GameObject: {fileID: 1799026754646168}
11097
m_ConnectedBody: {fileID: 0}
98+
m_ConnectedArticulationBody: {fileID: 0}
11199
m_BreakForce: Infinity
112100
m_BreakTorque: Infinity
113101
m_EnableCollision: 0
@@ -144,8 +132,7 @@ MonoBehaviour:
144132
animationStateName:
145133
controllerVisuals:
146134
- {fileID: 3858442981242374931}
147-
handJointPrefab: {fileID: 8513787482403080262, guid: 67541c9d1fd5e2c4798986ee73c07923,
148-
type: 3}
135+
handJointPrefab: {fileID: 8513787482403080262, guid: 67541c9d1fd5e2c4798986ee73c07923, type: 3}
149136
useCollidersForHandJoints: 1
150137
useInputProfile: 1
151138
inputProfileObject: {fileID: 1611361787474004}
@@ -363,6 +350,7 @@ FixedJoint:
363350
m_PrefabAsset: {fileID: 0}
364351
m_GameObject: {fileID: 1986733487743170}
365352
m_ConnectedBody: {fileID: 0}
353+
m_ConnectedArticulationBody: {fileID: 0}
366354
m_BreakForce: Infinity
367355
m_BreakTorque: Infinity
368356
m_EnableCollision: 0
@@ -399,8 +387,7 @@ MonoBehaviour:
399387
animationStateName:
400388
controllerVisuals:
401389
- {fileID: 2954843634523120171}
402-
handJointPrefab: {fileID: 8513787482403080262, guid: 67541c9d1fd5e2c4798986ee73c07923,
403-
type: 3}
390+
handJointPrefab: {fileID: 8513787482403080262, guid: 67541c9d1fd5e2c4798986ee73c07923, type: 3}
404391
useCollidersForHandJoints: 1
405392
useInputProfile: 1
406393
inputProfileObject: {fileID: 1611361787474004}
@@ -569,6 +556,7 @@ MeshRenderer:
569556
m_LightProbeUsage: 1
570557
m_ReflectionProbeUsage: 1
571558
m_RayTracingMode: 2
559+
m_RayTraceProcedural: 0
572560
m_RenderingLayerMask: 1
573561
m_RendererPriority: 0
574562
m_Materials:
@@ -593,6 +581,7 @@ MeshRenderer:
593581
m_SortingLayerID: 0
594582
m_SortingLayer: 0
595583
m_SortingOrder: 0
584+
m_AdditionalVertexStreams: {fileID: 0}
596585
--- !u!65 &4365337428889893541
597586
BoxCollider:
598587
m_ObjectHideFlags: 0
@@ -692,6 +681,7 @@ MeshRenderer:
692681
m_LightProbeUsage: 1
693682
m_ReflectionProbeUsage: 1
694683
m_RayTracingMode: 2
684+
m_RayTraceProcedural: 0
695685
m_RenderingLayerMask: 1
696686
m_RendererPriority: 0
697687
m_Materials:
@@ -716,6 +706,7 @@ MeshRenderer:
716706
m_SortingLayerID: 0
717707
m_SortingLayer: 0
718708
m_SortingOrder: 0
709+
m_AdditionalVertexStreams: {fileID: 0}
719710
--- !u!65 &2314441812177900445
720711
BoxCollider:
721712
m_ObjectHideFlags: 0

Packages/webxr-interactions/Samples~/Desert/Prefabs/WebXRCameraSet.prefab

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ SkinnedMeshRenderer:
138138
m_LightProbeUsage: 1
139139
m_ReflectionProbeUsage: 1
140140
m_RayTracingMode: 0
141+
m_RayTraceProcedural: 0
141142
m_RenderingLayerMask: 4294967295
142143
m_RendererPriority: 0
143144
m_Materials:
@@ -744,7 +745,6 @@ GameObject:
744745
serializedVersion: 6
745746
m_Component:
746747
- component: {fileID: 4545079059221816}
747-
- component: {fileID: 114038308936181916}
748748
m_Layer: 0
749749
m_Name: WebXRCameraSet
750750
m_TagString: Untagged
@@ -769,18 +769,6 @@ Transform:
769769
m_Father: {fileID: 0}
770770
m_RootOrder: 0
771771
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
772-
--- !u!114 &114038308936181916
773-
MonoBehaviour:
774-
m_ObjectHideFlags: 0
775-
m_CorrespondingSourceObject: {fileID: 0}
776-
m_PrefabInstance: {fileID: 0}
777-
m_PrefabAsset: {fileID: 0}
778-
m_GameObject: {fileID: 1611361787474004}
779-
m_Enabled: 1
780-
m_EditorHideFlags: 0
781-
m_Script: {fileID: 11500000, guid: 519f6ee6510174b44bbe9a8a2d3b6a6a, type: 3}
782-
m_Name:
783-
m_EditorClassIdentifier:
784772
--- !u!1 &1644691530447244
785773
GameObject:
786774
m_ObjectHideFlags: 0
@@ -950,6 +938,7 @@ SkinnedMeshRenderer:
950938
m_LightProbeUsage: 1
951939
m_ReflectionProbeUsage: 1
952940
m_RayTracingMode: 0
941+
m_RayTraceProcedural: 0
953942
m_RenderingLayerMask: 4294967295
954943
m_RendererPriority: 0
955944
m_Materials:
@@ -1141,6 +1130,7 @@ FixedJoint:
11411130
m_PrefabAsset: {fileID: 0}
11421131
m_GameObject: {fileID: 1799026754646168}
11431132
m_ConnectedBody: {fileID: 0}
1133+
m_ConnectedArticulationBody: {fileID: 0}
11441134
m_BreakForce: Infinity
11451135
m_BreakTorque: Infinity
11461136
m_EnableCollision: 0
@@ -1197,8 +1187,7 @@ MonoBehaviour:
11971187
controllerVisuals:
11981188
- {fileID: 1136128897566686}
11991189
- {fileID: 1664295426898042}
1200-
handJointPrefab: {fileID: 8513787482403080262, guid: 67541c9d1fd5e2c4798986ee73c07923,
1201-
type: 3}
1190+
handJointPrefab: {fileID: 8513787482403080262, guid: 67541c9d1fd5e2c4798986ee73c07923, type: 3}
12021191
useCollidersForHandJoints: 1
12031192
useInputProfile: 1
12041193
inputProfileObject: {fileID: 1611361787474004}
@@ -1663,6 +1652,7 @@ FixedJoint:
16631652
m_PrefabAsset: {fileID: 0}
16641653
m_GameObject: {fileID: 1986733487743170}
16651654
m_ConnectedBody: {fileID: 0}
1655+
m_ConnectedArticulationBody: {fileID: 0}
16661656
m_BreakForce: Infinity
16671657
m_BreakTorque: Infinity
16681658
m_EnableCollision: 0
@@ -1719,8 +1709,7 @@ MonoBehaviour:
17191709
controllerVisuals:
17201710
- {fileID: 1644997114004198}
17211711
- {fileID: 1091283458777958}
1722-
handJointPrefab: {fileID: 8513787482403080262, guid: 67541c9d1fd5e2c4798986ee73c07923,
1723-
type: 3}
1712+
handJointPrefab: {fileID: 8513787482403080262, guid: 67541c9d1fd5e2c4798986ee73c07923, type: 3}
17241713
useCollidersForHandJoints: 1
17251714
useInputProfile: 1
17261715
inputProfileObject: {fileID: 1611361787474004}

Packages/webxr-interactions/Samples~/XRInteractionToolkit/Prefabs/XR Interaction WebXR Hands Setup.prefab

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ Transform:
3232
- {fileID: 4763085287912399982}
3333
- {fileID: 4763085286836561809}
3434
- {fileID: 4763085287379932445}
35-
- {fileID: 2735015572710088185}
3635
- {fileID: 104277457138784657}
3736
m_Father: {fileID: 0}
3837
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -224,50 +223,6 @@ MonoBehaviour:
224223
m_ActionAssets:
225224
- {fileID: -944628639613478452, guid: c348712bda248c246b8c49b3db54643f, type: 3}
226225
- {fileID: -944628639613478452, guid: 256061f5afc1f4c49bfcb9ca2bc787e1, type: 3}
227-
--- !u!1 &6691460237591051992
228-
GameObject:
229-
m_ObjectHideFlags: 0
230-
m_CorrespondingSourceObject: {fileID: 0}
231-
m_PrefabInstance: {fileID: 0}
232-
m_PrefabAsset: {fileID: 0}
233-
serializedVersion: 6
234-
m_Component:
235-
- component: {fileID: 2735015572710088185}
236-
- component: {fileID: 635145867105466161}
237-
m_Layer: 0
238-
m_Name: WebXRInputSystem
239-
m_TagString: Untagged
240-
m_Icon: {fileID: 0}
241-
m_NavMeshLayer: 0
242-
m_StaticEditorFlags: 0
243-
m_IsActive: 1
244-
--- !u!4 &2735015572710088185
245-
Transform:
246-
m_ObjectHideFlags: 0
247-
m_CorrespondingSourceObject: {fileID: 0}
248-
m_PrefabInstance: {fileID: 0}
249-
m_PrefabAsset: {fileID: 0}
250-
m_GameObject: {fileID: 6691460237591051992}
251-
serializedVersion: 2
252-
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
253-
m_LocalPosition: {x: 0, y: 0, z: 0}
254-
m_LocalScale: {x: 1, y: 1, z: 1}
255-
m_ConstrainProportionsScale: 0
256-
m_Children: []
257-
m_Father: {fileID: 5773256366622995465}
258-
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
259-
--- !u!114 &635145867105466161
260-
MonoBehaviour:
261-
m_ObjectHideFlags: 0
262-
m_CorrespondingSourceObject: {fileID: 0}
263-
m_PrefabInstance: {fileID: 0}
264-
m_PrefabAsset: {fileID: 0}
265-
m_GameObject: {fileID: 6691460237591051992}
266-
m_Enabled: 1
267-
m_EditorHideFlags: 0
268-
m_Script: {fileID: 11500000, guid: 30257f473861cfd4a9269b5bf4020e6c, type: 3}
269-
m_Name:
270-
m_EditorClassIdentifier:
271226
--- !u!1001 &405369273336542956
272227
PrefabInstance:
273228
m_ObjectHideFlags: 0

0 commit comments

Comments
 (0)