Are there browser/system security measures that can block Unity WebGL projects? - c#

The PROBLEM
I am currently building a simple website containing Unity WebGL projects for a client. The games are working on all browsers for me, my teammates, and my producer, but one of the games does NOT work for our client (on any browser, Mac, or Windows).
All the games are embedded in a div in the exact same manner. There are no discernible differences between the build settings or output for each of the games. Unfortunately, I only have access to the Unity project for the game that is not loading for the client.
THE CLUES
While on a call with the client where he shared his problems, he specified the game in question did not load at all in Chrome (not even a rectangle appeared) and crashed in Safari (rectangle appeared first). The other games on the website loaded for him normally. Over the course of the conversation, he mentioned that he could not share his screen due to security limitations/software on his device from work. All of the games are built with 2019.4.15f1.
The only odd thing happening on my end is that the Unity logo is not appearing while the game loads as it typically does for games w/the free license.
THE QUESTION
Are there any settings or known problems within Unity for WebGL that can cause this type of issue? Due to the fact the other games work fine for him, I suspect there is some setting in my build that is causing it to trigger his security. Thank you for any and all suggestions!
Edit: We are hoping to avoid asking our client to print and share their console, just to maintain professionalism.

Related

Unity 3D freezing after leaving Game Mode (MRTK)

I've been working in a project some weeks now in a Mixed Reality project using Unity and MRTK and I've found a strange behaviour when adding screen capture to the application. I'm using Unity 2019.4.26f1, and I haven't found any issues so far but after adding this line of code
ScreenCapture.CaptureScreenshot("test.png");
into a script, I've realised that when I press Play and go into Game mode, everything goes correctly (the game starts, the screenshot is taken). BUT when I stop it and try to go into Play mode again, Unity freezes. If I don't press Play again, Unity still works until it tries to compile scripts or some heavy task like that, when it freezes and can only be closed with the task manager.
If I remove that line, Unity goes back to normal.
This issue cannot be reproduced in Unity 2020.3 LTS. Does this happen when the remoting play or in Editor? According to Choosing a Unity version and XR plugin - Mixed Reality | Microsoft Docs, if you target to HoloLens 2, please upgrade to the recommended 2020.3 LTS version that is stated in the document.
In addition, ScreenCapture is a Unity built-in class and if there are any usage questions, you may find support from Unity forum.

Is there a fast way to debug mobile vibrations in Unity?

I'm trying to rapidly preview and iterate on different Android vibrations that I'm making through Unity3D. Currently, the only way that I know how to successfully do this is to build the project each time. This is really tedious and takes a very long time. Are there any ways to rapidly test different vibrations?
I've tried using UnityRemote, which works great for quickly debugging just about everything Android related except vibrations. Vibrations don't really work in Unity Remote since it's mirroring the Unity player.
There is no way around the build process with Unity, other than the Unity Remote app. I would try to place as many Android vibrations in a single build as you can, and make an interface to test them all.

Unity Webgl game never finishes loading.Browser tab freezes

I'm developing a quiz game and want it to run on browsers.So far the game only loads to about 90% of the progress bar, then the tab freezes. A browser warning shows up at the top saying that something is making the page slow. This happens both when the game is run locally or from a server.
The PC works fine and I wasn't able to find the problem so far. I tried playing wwith the build player configs and reducing all textre max sizes (solved the problem in this post https://forum.unity.com/threads/webgl-stuck-at-90-loading.532707/).
The last lines shown on the console before the load freezing are the json files readings. So I think it might have something to do with them.
If anyone has any idea it would be a great help.
You should also make sure that WebAssembly streaming is disabled in the player settings, that 100% causes webgl to get stuck at 90% loading.

Does Google Cardboard SDK work with Unity 5?

I have converted my working project from Unity into Unity 5 and now the stereoscopic display doesnt work.
It seems like the stereoscopic effect doesnt work. The display is split in the middle, and the shader is applied, but it seems like there is only once camera. Like there are no eye cameras.
The weirdest thing is that everything works perfectly in the editor, but when I run it on device it seems like the cameras are disabled.
I went through and tried everything in the "known issues" in Cardboard SDK Release Notes, but nothing works.
Has anyone succesfully run a Cardboard game on Unity 5?
Yes, I have done. Mine isn't big one but has major things that can be said to be using UNITY features as well. I cant predict your problem as such but Answer to this post is certainly YES.
I don't think that anyone has posted this yet, but it appears that the SDK is currently broken in Unity 5.
From: Cardboard SDK Release Notes
Unity 5 rendering issues: As of Unity build 5.0.0f4, the following steps should be taken to fix or ameliorate any rendering issues, such as an all-black screen, flashing textures, or non-stereo views:
Enable the Development Build option in the Build dialog. This seems to fix various rendering glitches, like flashing textures.
The root cause of the rendering glitches is under analysis, with assistance from Unity.
I have also found that the app has rendering issues when it initially runs when you hit "Build and Run". Closing the app from the task switcher and restarting seems to resolve the issue.

C# XNA code on the web for a standard browser

Apparently, there is a way to add C# XNA projects to websites such that they can be viewed on the site from a normal web browser, presumably there are concessions to safety that the browser will enforce.
How is this done?
edit: I think the C# project might only ever runs on the server, the client being sent something it can understand.
There is http://jsil.org which will convert a compiled .Net application into a client side Javascript "app" ... and has been demonstrated to work rather successfully on XNA games.
It only handles 2D stuff and sound is / was needing to manually rewritten last time I checked but it does a pretty impressive job from what I've seen of it.
It should be noted that whilst this may get the job done, it's certainly not going to produce JS that is anywhere near the quality (i.e. maintainability) of a game that was written in JS from the start (using something like three.js or easle.js)... so if this for a commercial product, you may wish to explore rewriting / porting the game specifically for web as a serious alternative.
This isn't possible without a plugin. The plugin would work only on Windows, obviously, since XNA is built on DirectX.
There's no plugin that currently does this, to my knowledge.
It's not difficult to write a plugin, however, you'd have to do this for each browser you want the plugin to run in.
If you want your game content on the web, a better route is probably HTML5 and its Canvas functionality, which works on all modern browsers. You might be interested in this article, which discusses porting a 2D XNA game to HTML5 Canvas.
If you need 3D support, you could go the HTML5 WebGL route, although Internet Explorer doesn't support it.
Probably what you want is Google Native Client (NaCl). I haven't played with it (yet), but as far as I know, some game engines like Unity works on it.
Hope it helps.

Categories

Resources