Unity 5, first impressions

I’m on the Unity 5 beta now. I’ve decided after fiddling with it for a few days,  that the time for jumping over to 5 is now. After these few days of fiddling, here are my first impressions:

The good

Enlighten: In Unity studios, we often joked that there should be a “make nice game” button as a feature i Unity. With Unity 5, it almost seems like that button is there: The new Enlighten GI stuff is simply gorgeous. There are no two ways about it, it just looks significantly better, with the same assets (almost: You need to upgrade materials). Also: The new lighting window seems much more intuitive to use. Also: reflection probes…..

Standard shader: Unity has had the same pack of standard shaders since forever. They did the job, but messing around with shaders always felt like a bit of magic and fingerspitzgefühl. A shader setting on an object would look good only in very specific lighting setup. You would often feel you needed mutually exclusive features from two shaders. The standard shader changes this, with one (well … three … well … I say three .. really more like six…) standard shader(s).  The thing is the “one” standard shader comes in six setups: Standard / Standard (Specular setup) and three variants of those two: Opaque, transparent and cutout.  Mostly, you’ll use the standard shader though, and then use transparency variants as needed. The really nice thing about this, is you mess with the settings of ONE shader, and you get to know that one shader really, really well. Plus, so far it feels totally intuitive to play around with.

Automatic upgrade: “The meek” is a 12 GB project, filled to the brim with all kinds of asset store stuff. I made a backup, then fired up Unity 5 on the new project. It took a while… as in maybe an hour or two, but then the project was ported and I could see it in Unity 5. THEN Unity crashed, and continued crashing  :-). I never found out why, but it seemed the porting went just fine. I decided it was time to clean up the project a bit anyway, so I simply exported the scene I was working on as a package with all dependencies, made that into a new much smaller Unity 4.5 project, then autoported that: This time, it Just Worked ™. It even automatically updated API changes, and updated to enlighten.  A few things broke (Flux from asset store, I’m looking at you !), but the author of that package has openly stated that he was using unsupported Unity APIs.

Mute audio: Its a small thing, but something I have missed in a long time: You can now mute the audio in playmode. very nice.

The bad

Crash: Unity 5 is a little crashy. I’m on Beta 14, and of course it’s Beta, so there are crashes. Which sucks. But if you want the latest stuff, you need to accept the crashes. That suck. Cause they do.

Bug reporter: This has been a problem since Unity 1.6 really, and a problem that hasn’t ever been really solved. I acknowledge that its difficult, but it IS annoying: The bug reporter very much wants you to upload your project and provide a repro case. Remember the crash I told about, with the 12 GB project ? Am I going to spend a day uploading 12 GB project to Unity ? Nope. I want to help, and provide meaningful, useful bug reports, and I understand why this is important, so when I put this down as a “bad thing” I don’t really point my finger at Unity Tech: I can’t see what they should do differently. It’s just …ach. wish there was a good solution for this.

Asset store local cache: Not a new problem, but something I became extra aware of. : I have a primary SSD HD, of about 100 GB, plus a secondary of about 1 TB, standard HD. I have my projects and files and other really heavy stuff on my secondary, because I want my primary for fast stuff. I don’t think this is an exotic or weird setup. I can save my projects where I want, and specify my GI cache location (edit/preference/GI cache, you might want to do this too), but I cannot specify where to put my local asset store packages: This is a problem for me: My SSD capacity is expensive, my standard HD is not. And its a silly thing not to let us decide that save location … come on Unity Tech…

The Ugly

Iterative lightmap calculation: Also known as continuous baking: this is something that is sold pretty hard by Unity on their promotional videos of Unity, and in theory it’s an awesome idea: Set continuous baking on, and Unity bakes lightmaps in the background while you work. In practice, as of b14, it is useless. I have a quadcore PC: I would expect “in the background” to mean that Unity would bake lightmaps on 3 of my cores, leaving the fourth to run Unity, but no: When Unity bakes, it fucking BAKES.  all four CPUs working to full capacity. This has the entirely foreseeable result that the editor is about as responsive as a slug taking a bath in syrop. Which means that I click “continuous baking” of, and just do as I used to do, which is to mess around wih lights until I hope its good, then start baking lightmaps, and go watch a movie while Unity finishes up.
Also, I’m not sure, but it seems like as soon as I add something to the lightmap calculation everything needs to be recalculated. Which means, If I have continuous baking running, every time I make the slightest change, Unity starts over, and the more complex my scene becomes, the worse this problem becomes. So. Continuous baking needs a lot of extra work before it is actually nice.

The first impression:

So far, I’m happy with Unity 5. It’s a beta and has its issues as expected, but all in all , there are so many super, super nice things in the new Unity that I felt it was the right thing to make the switch now. I worry a little about my asset tore purchases, but since I mostly buy art, I’m not too worried. So, from me, it’s a clear thumbs up for Unity 5. Of course… I am a fanboy. 🙂