We’re often asked about the differences between our software and the WebGL version of the popular game engine Unity. To answer this question, I used the official Unity3D manual and some information found on their community forums and compared certain aspects of Verge3D and Unity WebGL implementations.
In Verge3D content is created using your favorite 3D editing software such as 3ds Max or Blender. This has benefits of a streamlined graphics pipeline without redundant imports/exports so that models can be tweaked/edited right in place. This also significantly reduces learning time, as a 3D artist can already be familiar with the material/lighting/animation system of the corresponding 3D suite and developed working skills in the past.
Unity3D is a game engine with its own editor that is tailored to game development. Models are usually imported in the editor from external 3D packages and often require certain tweaks before they can be used in the engine. It also offers its own material/lighting/animation system to be learned and dealt with.
Contrary to that, Unity developers are themselves responsible for finding and setting correct memory consumption limits for their apps which can sometimes lead to unpredictable behavior and crashes for some users.
Verge3D has been offering an intuitive and easy-to-grasp visual logic system called Puzzles. With Puzzles, it is possible to implement complex interactions even if you never programmed before. This logic system additionally offers functionality that is specific for the Web.
Although there are third-party add-ons for Unity3D that allow for adding interactivity without coding, they are primarily aimed at desktop and mobile game development. With Unity3D you have to be a skilled programmer for coding non-trivial stuff.
Verge3D can leverage native HTML/CSS for creating sophisticated, responsible user interfaces. Buttons, infoboxes, and menus can easily be integrated with the 3D scene with Puzzles to work in a bidirectional manner.
It is quite difficult to link a 3D scene to external web page elements in Unity3D. As such, Unity3D developers rather prefer to leverage its internal UI system, which is neither web- nor SEO-friendly.
Verge3D apps are self-hosted by nature. However, if there is such a need, you can quickly deploy your app on a cloud with a single button click, so that it becomes accessible via a private link, or shareable in social media.
With Unity3D you are on your own with deploying your apps on the Web.
There are probably many more differences between Unity WebGL and Verge3D left out of the scope of this article. I believe that even Unity fans would agree that if there is a platform-specific solution to a problem (such as creating 3D web interactives), it is most likely to work better than a universal approach that strives to cover all platforms at once. So if you are targeting the Web, choose a web-friendly engine!
Nothing that runs in a browser is either fast or compact, no matter how much you’d wish that to be the case.
Thanks for your comment! I used “native” here as an opposite to “transpiled” – perhaps I should have made it more clear in the text.
You may not have to install anything, but you do have to download it. Sure, you don’t have to download all of it immediately, but you do have to download every single time you play it. With unmetered Internet, that’s not a problem, but for mobile users it most certainly is. Yes, I know how caches work, but they’re not unlimited and will fill up pretty quickly if you’re throwing games at them instead of web pages.
There’s undoubtedly some niche where HTML5 is appropriate, but I don’t think it’s games. Not high quality games anyway. There’s a lot of dross in the various app stores, some games take longer to install than you end up playing them for. So maybe for that kind of throwaway experience you’re on to a winner. But if I’m going to be spending any time at all playing something, then of course I’m going to want it installed as an app. It’ll be ten times prettier, I could play it on my commute (patchy Internet in the metro), and it won’t burn through all my phone’s battery before I get to work.
Although I agree that the issues you mentioned exists with browser gaming, I’d like to point it out that HTML5/WebGL is a logical continuation of Java/Flash/Unity plugin-based techs (extremely popular in the past). In fact, HTML5 being a “native” browser technology is by its nature faster and consumes less battery than plug-ins. These were the main reasons why Apple refused to support Flash on iOS in the first place.
In pursuit of the above post, Chrome OS is a popular operating system built around the browser.