Thursday, January 06, 2011

Unity3D - WWW support is broken.

Every now and then, I come across something so abysmally stupid that I... I just have to whinge about it to the planet.

Dear Unity Technologies,

The WWW class in Unity3D is rubbish. It is missing a critical feature, that is, the ability to add or modify headers on an outgoing GET web request. Without this feature, any non-trivial usage of HTTP is IMPOSSIBLE. Try it, and you get this:

Error when creating request. GET request with custom headers is not supported.

It would have taken longer to write the code to raise this exception than to actually code the functionality, so WHY IS IT MISSING!?!?! And it's been like this for A LONG TIME SO FIX IT ALREADY!

please.

/rant.

PS: While you're adding the above code, please expose the HTTP STATUS CODE so that I can actually do REAL HTTP WORK, like for instance. distinguish between a 200 response and a 404 response? THAT WOULD BE VERY HANDY!!@#!@#!

PPS: BTW, there is no need to do a DNS query every time a web request is made. It makes things run like treacle up a hill. You can cache things like that. Honestly, did an intern/monkey write this?

PPPS: If you fancy, please, send me the relevant code and I'll do the job.

I've implemented this class, and very happy with it thus far. Although on any SSL calls I receive "SSL Cert Error:RemoteCertificateNotAvailable, RemoteCertificateChainErrors", despite the URL having valid certificates (validated through multiple sites).

Are there any known issues with SSL?

Oh, and very much going to throw some cash your way via donation. This class helped get things properly running on an iOS app in the nick of time.