Search Unity

The upcoming Unity 5.3 release is the fourth version of Unity to support WebGL publishing. We have made a lot of progress since we first shipped WebGL support as a Preview in Unity 5.0, so we would like to share some updates.

Changes in Unity 5.3

Unity 5.3 brings a series of improvements which are relevant to WebGL developers:

  • The Unity Standard Shader now uses Desktop-quality reflection functions for WebGL. Previously, Unity WebGL would use a simplified version of the Standard Shader built for mobile devices using the OpenGL ES 2.0 graphics library. Now WebGL uses the same reflection functions as we use on the desktop, resulting in much better quality materials.
  • Soft shadow support.
  • Unity WebGL will now handle compression for you if the server is not configured to do it. Previously, WebGL would require you to set up your web server to serve gzip-compressed versions of your files to the clients. Otherwise, you would serve uncompressed data which would mean that downloads would be several times larger than they should be. As this turned to be confusing and difficult to set up, our WebGL runtime will now automatically download gzip-compressed versions of the data if the web server is not configured correctly to serve the compressed data. It will then decompress the gzip in JavaScript on the client side – which adds a small extra delay to having the compression handled on the protocol level (which still works if your web server is configured correctly), but which means that you no longer need to read your server manual to avoid unnecessarily huge downloads. (See Distribution size here).
  • Data files will now be LZ4 compressed in memory. In WebGL, you don’t have access to a real file system. For this reason, we will keep all your assets in memory all the time. In Unity 5.3, asset data in memory is compressed using LZ4, and will only be decompressed when assets are loaded. This means that your asset data will use less space in memory, and you will be less likely to run out of memory.
  • WebGL build files can now be more easily relocated to different urls. All files generated by the build process are now referenced directly in the generated index.html file. So if you want to deploy your build data to an external hosting solution it is now easier to configure, as all the urls you need to set are handily in one place. (See Moving build output files here).
  • WebGL in Unity Cloud Build is now a platform option. Team members can directly test the game/application in the browser.
  • Improved documentation. For 5.3, we gave the WebGL documentation a makeover and added a lot of additional information. It was important for us to document, in detail, what things are currently not supported on the WebGL platform, or supported only on specific browsers.
  • Numerous bug fixes. Unity 5.3 has 28 WebGL-specific bug fixes compared to 5.2.x – and many other fixes which benefit WebGL users but are not specific to the platform. Additionally, several other WebGL-specific bug fixes have been deployed in various patch releases during the 5.2.x release cycle, which are now all being rolled into 5.3.

Making WebGL an officially supported Unity Build Target

So far, WebGL in Unity has been available as an unsupported preview technology. With Unity 5.3, we are dropping the “Preview” label and making WebGL an officially supported build target. Our Premium and Enterprise support plans will now cover support tickets for the WebGL platform.

Unity 5.3 delivers a bunch of improvements to WebGL developers as listed above. 5.2 and 5.1 have delivered similar improvements in the past. So we feel that WebGL in Unity has come a long way since we launched it in 5.0. Similarly, browser technology has improved over that timeframe. Microsoft shipped its new Edge browser in Windows 10, which supports asm.js and which runs Unity WebGL content much better the Internet Explorer 11 ever did, giving you a wider potential audience for Unity WebGL content.

So, the WebGL platform has significantly improved since we shipped the Preview in 5.0. However, this does not mean that all features of Unity will now suddenly work in WebGL, or that performance will now match native builds, or even that any content will reliably run on any browser. There are improvements in each of these areas, but they happen very gradually. Overall, however, we feel that we have a product which works well within the constraints of the platform, and we think that this is a good time to start officially supporting the WebGL build target. We have put a lot of work into our documentation to make it clearly state what limitations you are expected to run into and on what browsers.

Working with the browser vendors

Our WebGL deployment solution relies heavily on web technologies provided by the browsers. We have been working closely with all the major browser vendors over the past few years to drive incremental improvements of these technologies.

Mozilla’s Director of Platform Product Management, Martin Best said “Today marks a milestone as Unity takes the next steps to provide full support for the WebGL export target. Mozilla pioneered technologies such as asm.js, WebGL, and Emscripten that make this possible and we are energized to continue working closely with Unity and other browser makers to create the best gaming experiences on the Web.” More info on Mozilla’s blog.

At Microsoft, David Catuhe, Principal Program Manager focused on Edge and Open Web Standards commented: “WebGL and asm.js in Microsoft Edge are an important part of providing a complete web experience to Windows 10 users. By releasing its WebGL build target, Unity enables developers to deliver great gaming experiences on the Web to our users. It’s also a great opportunity for us to continue to work together on improving WebGL, asm.js and other enhancements we are bringing to the web platform.”

Google Chrome WebGL team Brandon Jones, Zhenyao Mo and Ken Russell expressed similar sentiment for the developer community, declaring: “Unity’s support for HTML5 and WebGL deployments is one of the most exciting developments in the ecosystem to date. Developers worldwide will bring their amazing content to the web using Unity’s toolchain. We look forward to continuing to improve the performance and functionality of the web platform to enable even more exciting interactive content.”

Your turn

We believe that Unity’s WebGL export is the future of gaming on the web. Join the list of Unity WebGL titles already published to the web today, such as Heroes Of Paragon, Spider Box, Big Buck Hunter.

To get started:

32 replies on “Unity 5.3 WebGL Updates”

[…] La 3D sur le web va enfin pouvoir devenir une réalité, grâce au support du WebGL. Une technologie également supportée par les principaux moteurs de jeu vidéo, dont le fameux Unity. […]

[…] 有好消息要和大家分享!我們的長期合作夥伴「Unity」已宣佈結束 WebGL 匯出功能的預覽階段,成為正式的 Unity 5.3 版本。在過去 6 個月以來,Unity 及瀏覽器開發者均努力突破品質與效能方面的問題,要讓此一技術能完整開發者以達絕妙的視覺效果。 […]

[…] vendors dropping NPAPI, the technology which Unity’s web player relied on, the focus shifted, relatively quickly, to WebGL. While the performance of Unity’s WebGL vs the old Web Player is… well, […]

[…] อย่างไรก็ตาม ตอนนี้ Unity ก็ยังไม่ได้รองรับ WebGL อย่างร้อยเปอเซ็นต์ เพราะฉะนั้นหากใครมีปัญหาตรงไหน หรืออยากจะติชมก็สามารถทำได้ในส่วนนี้ […]

[…] WebGL in Unity, and the work that has gone into bringing WebGL support to the engine, check out our in-depth blog post on the […]

[…] utilizar novamente a Unity para desenvolver o jogo, e vou dar mais uma chance para o exportador do WebGL que finalmente saiu do beta versão 5.3 lançada recentemente. Depois da Ludum Dare vou fazer um […]

WebGL much improved!, but the camera in the web build ends up pointing down. Plays fine in the editor and loads correctly in the web build but as soon as the mouse enters the frame camera points down.

[…] – insbesondere was die Browserkompatibilität angeht – bietet die umfangreiche Dokumentation; der oben genannte Blogpost fasst noch einmal alle Änderungen in Unity 5.3 übersichtlich zusammen. Die neue Version steht auf […]

Fantastic news, WebGL is going to be a big platform for us in our upcoming release, great to hear it has come in leaps and bounds in 5.3 :-)

Thanks Jonas for this update. WebGL is huge for us and we are absolutely excited what Unity is already bringing us today. 2016 will hopefully make haste with experimental webworkers+shared array buffers as that is the key feature that prevents us from porting our 3D GIS webapp to a (performant) WebGL app. Cheers for the Unity team with this milestone 5.3 release!

[…] Unity Technologies ma új verziót ad ki közismert játékfejlesztő platformjából, ami ezúttal a böngészős játékfuttatás terén […]

For the WebGL platform, What are the limitations of Asset bundles? Max # you can have in a project and max size of the bundles? Is there any update to the limits for these?

“WebGL in Unity Cloud Build is now a platform option. Team members can directly test the game/application in the browser.” YYYAAAAAAAYYYY!!!! ^_^

Can You share details on a time of day when it’s going to be released on 8 December ?
And what timezone You’re using in Your road map, Pacific Time?

Does this mean that those of us who have been working to get WebGL working on ARM based Chromebooks are going to see a performance hit as compared to the 5.2.x builds?

Well that didn’t work. I had attempted to do a block quote cite of “The Unity Standard Shader now uses Desktop-quality reflection functions for WebGL.” but it didn’t work and I can’t edit the old message. Thus, my question is in the context of the standard shader feature.

Right, and how about render texture support? This is preventing me from building my projects for webGL, and with the looming death of the Webplayer the situation is looking dire.

Nice improvements! what about global illumination? any chance of using it in webgl builds?

Thanks and great work!

Comments are closed.