Reconsider supporting a HTML5 + WebGL Javascript API Exporter

I’ve been keeping an eye on the upcoming technology (HTML5 + WebGL Javascript API) and I must say, I’ve never seen so much activity surrounding any one technology in my entire life such as WebGL. Microsoft IE is rumored they’re now onboard.

http://webglstats.com

I strongly recommend the Unity 3D group reconsider supporting a HTML5 + WebGL Javascript API exporter for the near future. I’ll be relieved to know directly from the horses mouth that at lease you’ll reconsider this fabulous technology.

Thanks
CSDG

There’s a feedback section :wink:
Unity Feedback.
Btw, welcome to the forums.

It would make 0 sense from unity, it’s just not possible to port to that as it’s not just “not the same technology”, but even “not the same type of technology”. You can’t just “port mono to html5” and be done with it.
Doing anything in that scale is probably more work than ALL the other platform ports combined, and in exchange you get pretty much nothing (unless you expect triple A source code included games with 100M+ of JS download on the web requiring unity lv graphics and being paid for 50$ to actually be viable).

Fallibilism! Does the Unity group actually hold such attitudes? Our little world is constantly evolving and I hope that this is true for the Unity Company. Lets discuss the Pros and Cons on the WebGL technology. As with any “experiment” such as many are doing with WebGL today, Unity can do a feasibility study and apply it in some corner of their R&D labs. This does not require incorporating it into the present unity technology but a “unit” that can by incorporated later… Of course I could go on… Please, open you minds.

Thanks
CSDG

There’s 0 need to do a “feasibility study”, it’s painfully obvious how feasible or not it is, as i said it’s not comparable to porting to another platform, i can tell you exactly what this would involve to port the core at least

  1. Write a C# to JS converter and port ALL of the supported mono subset to javascript, including marking any native feature as not supported or redirecting those to html calls (you’re talking man years just for that)

  2. Write a C# and js assembly parser to raw unmanaged javascript converter to export the actual games

  3. Write a additional renderer for webgl (this is the easy part most likely, and what already needs to be done when porting to other platforms)

  4. Port all the C++ parts of the engine to raw javascript too, rewrite all the C++ / C# interop to work for ported js (from C++) to ported js (from C#/unityscript)

  5. Get rid and write compatible versions of all the runtime middleware (or licence it for source and rewrite it from scratch) for javascript

It’s just so painfully obvious that it’s not feasible that it doesn’t require a feasability study.

If you see a car and ask “could we add a wing to the bottom of this city car without changing mileage much because it is cool?” this requires a usability study, if you see a car and ask “do you think we could toss in a spaceship behind it, and have the car unmodified haul it while it weights 200 megatons because it looks cool?” it doesn’t need a study at all. This falls in the 2nd category and i went very lightly earlier, i’d actually guess the proper estimate is closer to “this would require more work than the sum of all work unity employees have produced since unity exist just to port to this if simply supporting it as a compatible platform”

@Ronan

(1) What has the Unity Company done so far with WebGL?

(2) WebGL, a javascript API where WebGL is less but similar to OpenGL which Unity is presently using!

(3) Not once have you spoken (written) about WebGL, OpenGL or DirectX.

(4) Your Cons have no correlation to the WebGL technology, not even OpenGL…(http://www.khronos.org).

(5) Why is your mind so closed, to the future of modern commerce.

Thanks
CSDG

It’s not that impossible, they say they did a port “in 4 days” (although it’s a marketing press release):

http://news.softpedia.com/news/Mozilla-and-Epic-Port-Unreal-Engine-3-to-the-Web-in-4-Days-340946.shtml

My mind is not closed to anything, i’m just telling you that it’s not possible, it’s not about the pro cons, it’s about technology limits, it’s physically not possible, there’s no need checking pro and cons when the main con is “it’s not possible”.

The issue is NOT webgl, webgl is perfectly capable and you’ll probably see many 3D engine for webgl, but what is not possible is it take a generalist engine like unity that is based heavily on native code and mono, and expect to add webgl as a platform, it’s not possible that’s all, at least not withought absolutely insane amount of ressources

This has nothing to do with webgl html5, they ported the engine to the browser is all, unity can already run in browser.
Porting unity to firefox like unreal did is a thing, exporting native code to JS including the whole very large (millions of lines of code) frameworks and re providing the native (os specific) functionality to native JS with dom+HTML5 is a whole other thing.

Once again the issue is “not” webgl, it’s “just taking a unity project and porting that to JS + html5 + webgl”, webgl is a capable technology, it doesn’t mean you can automagically port native code / managed code / middleware to it.

They already did that for the Flash export (porting everything to Actionscript, well most things anyway), so it’s far more possible than you seem to think.

It has everything to do with it…read the article again, specifically the second paragraph. It’s not a web plugin like the Unity web player.

–Eric

Doesn’t sound in the same difficulty league to me at all, and honestly they’re very far from having done it, i mean just check the limited not supported list! Buggy shadows, Unityscript language not well supported, no GUI at all most .net features missing etc etc, it’s a really limited port very far from “taking a unity project and just pushing it to flash”.

Hell when i tried it first i couldn’t even get a simple terrain + basic water with a character controler working in flash! So think how it’d be with something where you’d need to test a dozen web platforms before release

edit: hell it doesn’t even support terrain! sounds to me like it supports pretty much “nothing” most everyone uses : http://docs.unity3d.com/Documentation/Manual/flash-whatssupported.html
I’m not trying to undermine the effort, it sure is a great effort, but to me it sounds much easier to port to actionscript than to js+webgl in browser, and it’s already not looking quite bright.

RONAN - You are so closed!

DONT USE THE UNITY ENGINE. START ANEW, A SEPARATE UNIT THAT CAN BE ADDED LATER!

Use what you can already with OpenGL,then scale down to WebGL.

CSDG

PS - You’re faster at the keyboard.

No, i’m informed, you come here, ask if something is possible, seemingly have no technical clue, and when pointed to reasons why something doesn’t sound possible, do not reply with technical information but diss people as closed.
Either you know better than i and you should explain your thoughts in technical terms, or you don’t and you should try and understand what i’m saying. Sure it’d be nice to support more platforms, i just don’t see how they can reasonably (in terms of budget) support that one, it sounds massively complex and expensive, pretty much impossible to support, and IMOH is unlikely to generate much revenue short term.

I didn’t read everything in this subject that is out there, but in theory, since Mono runs as managed code on top of a CLR, it would be a matter of translating the CIL (pseudo-machine code) to AsmJS.

They already ported hard-coded C++ UE3 to it, and, like the marketing guys like to say, in 4 days.

From asm.js - frequently asked questions
“Q. Can asm.js serve as a VM for managed languages, like the JVM or CLR?
A. Right now, asm.js has no direct access to garbage-collected data; an asm.js program can only interact indirectly with external data via numeric handles. In future versions we intend to introduce garbage collection and structured data based on the ES6 structured binary data API, which will make asm.js an even better target for managed languages.”

What has the Unity Group done so far with WebGL?

Dr. McCoy: My God Man, the technology is out there, just use it.

CSDG

This has nothing to do with MONO but HTML5 (OUTPUT - EXPORT - INTERNAL)

Again, it’s far more possible than you think. It’s not trivial by any means (or it would be done by now), but you’re over-exaggerating the technical issues. As I pointed out, they’ve essentially done it already for Flash. Not all features are supported, but the groundwork is done, so they could expand on it if there was more interest in the Flash export. Read the article about Unreal on the web again for some technical details as to how it’s done.

–Eric

They didn’t port hard coded C++ UE3 TO THIS AT ALL, they ported it to firefox, by making something custom for firefox, that is firefox specific and has nothing to do with javascript.
I’m not talking about managed being harder than unmanaged, both are hard to port to JS in a web browser, i’m just pointing that unity needs to port both as it uses both, so twice the work.
And not it’s not like that at all, the CLI isn’t “pseudo machine code”, it’s the runtime engine and associated components, but it’s not remotely thinkable they’d do that for speed reasons, they’d have to convert code to native JS, not to .net in JS. The CLR works by jitting MSIL code, you can’t do that in JS as you can’t generate native code there to run, so you’d still have to export as raw JS, which is very diferent from just porting mono to another platform and having everything based on it automagically work (like it’s possible for pretty much any native platform be it a console or pc os or even phone)

I actually can’t find any details about unreal on the web, i find many articles about it “saying it works in firefox but not stating which tech it uses” usually correlated with “oh look at game X too, tiny web game done in webgl”, but none stating how it’s done for unreal, since it only supports firefox i’m assuming it’s not exporting to JS+html5+webgl however, else it’d work on all modern browsers.

Like I said before, there is a lot going on, for example,
the Goo Engine: http://www.gootechnologies.com ,
the CopperCube: CopperCube - free easy to use 3D engine ,
the Chrome Experiments: http://www.chromeexperiments.com/webgl/ ,
the AWWWARDS: 30 Experimental WebGL Websites ,
MANY MORE LIKE: http://www.webgl.com

And lots and lots of rumors…, for example:
http://news.softpedia.com/news/Mozilla-and-Epic-Port-Unreal-Engine-3-to-the-Web-in-4-Days-340946.shtml

Unity: Its too hard. ( I’m not sure if I inferred correctly that this is Unity’s response or position on WebGL, so I apologize if it is not.)

More importantly (review the entire site): http://webglstats.com

CSDG

PS Ronan out does me again on the keyboard.