Search Issue Tracker
Not Reproducible
Votes
0
Found in
3.5
Issue ID
467272
Regression
No
UnityObject.js infinite loop in detecting installed Web Player when Chrome 'Click to Play' plugin option is set
Browser support detection for Unity through the UnityObject.js script has a flaw. If the user has a plugin that prevents the automatic loading of plugins (Unity/Flash/etc), or has turned on "Click to play" or "Block all" in Chrome's Content Settings panel, UnityObject.js will endlessly attempt to load and unload a small Unity scene. The small scene is used for determining the capabilities of the particular install, most notably the version number.
Javascript can be used to determine whether Unity is installed or not without loading an actual Unity scene. Instead of telling a user who has already installed Unity to install it, the page should have a separate message stating that Unity is blocked, and provide a clickable "Load Anyway" link that will load the scene normally. Those users with some click to play functionality would then only need to click again. I might also suggest linking to a utility site that shows users how to disable the plugin blocking for this particular site if they don't have click to play capabilities. Something like what they do for http://activatejavascript.org/
I have attached the code for my detection suite that I used to determine Unity installs, Flash capabilities, and other things. I have disabled the code that sends the information to our servers, and instead only displays its information directly to the page. You need to run the index.html page from within a server (local or remote) due to Flash access rules. Try running this page with Chrome's Click to play feature on.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- “[Worker0] Could not generate preview image“ error when opening macOS native plugin in the Inspector with Architecture to build for set to ARM 64-bit
- [iOS] Application.absoluteURL is empty on Awake/Start when opening via deep link with Splash Screen disabled
- Crash on MemoryManager::Deallocate when rapidly calling Addressables.LoadAssetAsync
- Crash on physx::shdfnd::atomicIncrement when adjusting values on a character controller component after entering Play mode in Prefab edit mode
- [Rendering Debugger] [NewInputSystem] Debug Overlays in Play mode throws InvalidOperationException when using New Input System
Add comment