Skip to content

Commit decf31a

Browse files
authored
Merge pull request #174 from De-Panther/support_unity_2021_2
Added support for Unity 2021.2 (currently beta) and up
2 parents 55cd466 + b62fe52 commit decf31a

File tree

4 files changed

+27
-10
lines changed

4 files changed

+27
-10
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
*[Ll]ogs/
55
*[Tt]emp/
66
*[Oo]bj/
7+
*[Uu]serSettings/
78
*Assets/AssetStoreTools*
89
*Build_*/
9-
**/UserSettings/EditorUserSettings.asset
1010

1111
# Autogenerated VS/MD solution and project files
1212
ExportedObj/

Packages/webxr/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased]
8+
### Added
9+
- Support for Unity 2021.2 (currently beta) and up.
10+
811
### Changed
912
- Actions to delegates in WebXRSubsystem.
1013

Packages/webxr/Runtime/Plugins/WebGL/webxr.jslib

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* functions called from unity */
22
mergeInto(LibraryManager.library, {
33
SetWebXRSettings: function(strJson) {
4-
Module.WebXR.Settings = JSON.parse(Pointer_stringify(strJson));
4+
Module.WebXR.Settings = JSON.parse(UTF8ToString(strJson));
55
console.log(Module.WebXR.Settings);
66
},
77

Packages/webxr/Runtime/Plugins/WebGL/webxr.jspre

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,9 @@ setTimeout(function () {
307307

308308
XRManager.prototype.onRequestARSession = function () {
309309
if (!this.isARSupported) return;
310-
this.BrowserObject.pauseAsyncCallbacks();
310+
if (this.BrowserObject.pauseAsyncCallbacks) {
311+
this.BrowserObject.pauseAsyncCallbacks();
312+
}
311313
this.BrowserObject.mainLoop.pause();
312314
var thisXRMananger = this;
313315
var tempRender = function () {
@@ -325,14 +327,18 @@ setTimeout(function () {
325327
thisXRMananger.xrSession = session;
326328
thisXRMananger.onSessionStarted(session);
327329
}).catch(function (error) {
328-
thisXRMananger.BrowserObject.resumeAsyncCallbacks();
330+
if (thisXRMananger.BrowserObject.resumeAsyncCallbacks) {
331+
thisXRMananger.BrowserObject.resumeAsyncCallbacks();
332+
}
329333
thisXRMananger.BrowserObject.mainLoop.resume();
330334
});
331335
}
332336

333337
XRManager.prototype.onRequestVRSession = function () {
334338
if (!this.isVRSupported) return;
335-
this.BrowserObject.pauseAsyncCallbacks();
339+
if (this.BrowserObject.pauseAsyncCallbacks) {
340+
this.BrowserObject.pauseAsyncCallbacks();
341+
}
336342
this.BrowserObject.mainLoop.pause();
337343
var thisXRMananger = this;
338344
var tempRender = function () {
@@ -350,7 +356,9 @@ setTimeout(function () {
350356
thisXRMananger.xrSession = session;
351357
thisXRMananger.onSessionStarted(session);
352358
}).catch(function (error) {
353-
thisXRMananger.BrowserObject.resumeAsyncCallbacks();
359+
if (thisXRMananger.BrowserObject.resumeAsyncCallbacks) {
360+
thisXRMananger.BrowserObject.resumeAsyncCallbacks();
361+
}
354362
thisXRMananger.BrowserObject.mainLoop.resume();
355363
});
356364
}
@@ -397,14 +405,18 @@ setTimeout(function () {
397405
this.didNotifyUnity = false;
398406
this.canvas.width = this.canvas.parentElement.clientWidth * this.gameModule.asmLibraryArg._JS_SystemInfo_GetPreferredDevicePixelRatio();
399407
this.canvas.height = this.canvas.parentElement.clientHeight * this.gameModule.asmLibraryArg._JS_SystemInfo_GetPreferredDevicePixelRatio();
400-
401-
this.BrowserObject.pauseAsyncCallbacks();
408+
409+
if (this.BrowserObject.pauseAsyncCallbacks) {
410+
this.BrowserObject.pauseAsyncCallbacks();
411+
}
402412
this.BrowserObject.mainLoop.pause();
403413
this.ctx.dontClearAlphaOnly = false;
404414
this.ctx.bindFramebuffer(this.ctx.FRAMEBUFFER);
405415
var thisXRMananger = this;
406416
window.setTimeout(function () {
407-
thisXRMananger.BrowserObject.resumeAsyncCallbacks();
417+
if (thisXRMananger.BrowserObject.resumeAsyncCallbacks) {
418+
thisXRMananger.BrowserObject.resumeAsyncCallbacks();
419+
}
408420
thisXRMananger.BrowserObject.mainLoop.resume();
409421
});
410422
}
@@ -859,7 +871,9 @@ setTimeout(function () {
859871
var tempRaf = function (time, xrFrame) {
860872
if (thisXRMananger.animate(xrFrame))
861873
{
862-
thisXRMananger.BrowserObject.resumeAsyncCallbacks();
874+
if (thisXRMananger.BrowserObject.resumeAsyncCallbacks) {
875+
thisXRMananger.BrowserObject.resumeAsyncCallbacks();
876+
}
863877
thisXRMananger.BrowserObject.mainLoop.resume();
864878
} else {
865879
// No XR session yet

0 commit comments

Comments
 (0)