Search Issue Tracker

Fixed in 2021.1.X

Fixed in 2018.4.X, 2019.4.X, 2020.1.X, 2020.2.X

Votes

0

Found in

2018.4

2021.1

Issue ID

1284215

Regression

No

[WebGL][macOS] Builds do not run when using Big Sur

WebGL

-

How to reproduce:
1. Create an empty project
2. In the Build Settings, select WebGL
3. Build and run

Expected result: No errors are thrown
Actual result: UnityLoader.js throws an error

Reproducible with: 2018.4.29f1, 2019.4.15f1, 2020.1.15f1, 2020.2.0b13, 2021.1.0a1

  1. Resolution Note (fix version 2021.1):

    Fixed in Unity 2021.1.0a2 and above

  2. Resolution Note (fix version 2020.2):

    Fixed in 2020.2.0b12

  3. Resolution Note (fix version 2019.4):

    Fixed in 2019.4.21f1

Comments (15)

  1. Doffyulis

    Jul 31, 2021 05:42

    ggg

  2. Doffy123

    Jul 03, 2021 10:38

    bfvbfbf

  3. Richard85

    Jun 10, 2021 11:18

    Can Unity provide instructions for how to patch this in older versions such as 2017?

    Upgrading is not always possible and it looks like some people here have a work-around.

  4. nooxouille

    May 17, 2021 09:09

    Hi ! When building from MacOS (BigSur, m1 SoC) to a wegGL build in 2020.3.x, the said build ain't working. With the same parameters, no issue when building from w10.
    This make me unable to "fully" WFH with my mbp.

  5. Shaolin-Dave

    Apr 27, 2021 04:55

    Having issues off and on, today I hit it again with 2021.1.4 while older 2021.1 versions were able to build. It's really frustrating.

  6. greggman

    Jan 29, 2021 01:45

    Fixed in 2019.4.18f1 (didn't check versions before that)

    Did notice 99% of the unity webgl games on itch.io don't run on Big Sur Chrome because of this Unity bug.

    Filed a bug on Chrome just incase they want to revisit the userAgent string to work around unity's bug

    bugs.chromium.org/p/chromium/issues/detail?id=1171998

  7. omer_unity939

    Dec 28, 2020 09:03

    PERPLEX_BCN thanks ! thats a quick and easy hack :]

  8. justadropofwater

    Dec 21, 2020 15:27

    Why is it acceptable that this is broken for almost two months for the LTS version?

  9. Franzeus

    Nov 30, 2020 10:54

    We did kind of a small hack to fix it. Basically we overwrite the userAgent to a working version and set it back:

    /**
    * Overwriting the UnityLoader to fix a bug in their regular expression for Mac OS X 11+
    */
    (function() {
    if (!window["UnityLoader"]) return;

    // Get OS Version (Intel Mac OS X 11_0)
    var os_version = /Mac OS X ([\.\_\d]+)/.exec(navigator.userAgent);
    if (os_version && os_version[1]) {
    // Extract "10_15_7" -> 10
    os_version = parseInt(os_version[1].split("_")[0], 10);
    }

    // The issue occured with Mac OS X 11+
    if (os_version && os_version >= 11) {

    UnityLoader.OriginalSystemInfo = UnityLoader.SystemInfo;

    UnityLoader.SystemInfo = function() {
    try {
    return UnityLoader.OriginalSystemInfo();
    } catch () {
    var original_ua = navigator.userAgent;

    // Overwrite the user agent with a one we know was working:
    var valid_ua = navigator.userAgent.replace(/Mac OS X ([\.\_\d]+)/, "Mac OS X 10_15_7");
    window.navigator.__defineGetter__('userAgent', function () {
    return valid_ua;
    });

    var result = UnityLoader.OriginalSystemInfo();

    // Restore original userAgent
    window.navigator.__defineGetter__('userAgent', function () {
    return original_ua;
    });

    return result;
    }
    };
    }

    })();

    Obviously this script has to get loaded after the UnityLoader.js

  10. roy_tangelogames

    Nov 25, 2020 10:48

    Will you support it in the next 2019 patch as well?
    Unfortunately we have games which were developed in older versions then 2021.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.