Live data from Hacker News

Why NASA Switched from Unity to Blend4Web

gamedev.net

1–10 of 47 posts

Re: Why NASA Switched from Unity to Blend4Web

#2
It's very simple: Unity was never designed with a target platform as radical as HTML5/JS/WebGL in mind. It's stuck with an older version of the Mono runtime for its scripting language, and they've pulled off some crazy tricks to get it to work on WebGL: Mono IL code is cross-compiled to C++, which then gets cross-compiled again to JS/WebGL using Emscripten. That it works at all is nothing short of a miracle. However, compatibility and performance will be really hard to get up to a decent standard, especially when compared to engines that were built from the ground up for WebGL, such as Blend4Web.

Long story short: if WebGL is your primary target platform, Unity is not exactly the first place you should look.

Re: Why NASA Switched from Unity to Blend4Web

#4
post #2

It's very simple: Unity was never designed with a target platform as radical as HTML5/JS/WebGL in mind. It's stuck with an older version of the Mono runtime for its scripting language, and they've pulled off some crazy tricks to get it to work on WebGL: Mono IL code is cross-compiled to C++, which then gets cross-compiled again to JS/WebGL using Emscripten. That it works at all is nothing short of a miracle. However,…

Quite true.

If one main goal is WebGL then the best option is to adopt a WebGL native engine, instead of trying to cram a native experience into the browser.

Re: Why NASA Switched from Unity to Blend4Web

#7
post #2

It's very simple: Unity was never designed with a target platform as radical as HTML5/JS/WebGL in mind. It's stuck with an older version of the Mono runtime for its scripting language, and they've pulled off some crazy tricks to get it to work on WebGL: Mono IL code is cross-compiled to C++, which then gets cross-compiled again to JS/WebGL using Emscripten. That it works at all is nothing short of a miracle. However,…

I doubt WebGL will be a serious competitor to any platform 3D engine for at least another decade, probably two.

Re: Why NASA Switched from Unity to Blend4Web

#8

What about Unreal 4? I read that they support HTML5 pretty decently by using Emscripten. I really do not know what is their current status on that subject.

It's a push to call the Unreal 4 support decent. Unity at least have it as part of their product feature set. Unreal seem to do it only as a demonstration piece.

The problem with taking a engine like Unity or Unreal and compiling to javascript is that 1) they end up with very large blobs of javascript (Unity is around 5MB of JS for the webplayer alone) 2) It is impossible to optimize, debug or inspect any of that code in the target setting. Neither of these engines have ever demonstrated code running on mobile browsers for good reasons, they can't.

Meanwhile, engines designed specifically for the web, for example, PlayCanvas [https://playcanvas.com] let you create content that works on every device, down to the likes of the iPhone 4S and comes in much smaller download sizes. e.g.

http://tanx.playcanvas.com (~1MB)

http://mmx.playcanvas.com (~3MB)

http://swooop.playcanvas.com (~10MB)

All of which work on mobile browsers. The future of Web 3D is not compilation of desktop game engines. It's engine's designed to be web (and mobile) first.

Re: Why NASA Switched from Unity to Blend4Web

#10

What about Unreal 4? I read that they support HTML5 pretty decently by using Emscripten. I really do not know what is their current status on that subject.

If you can compile it, runs runs horribly horribly slowly. Sometimes the compiles work... some times not. Some things work, others not, but obviously thats not documented anywhere, its just trial and error.

Dont bother. Its lightyears worse than unity, and thats saying something.

Post reply on HN