What’s New in Unity 5: Summary
In this article, you’ll give an overview of some of the new shiny features in Unity 5. By Brian Moakley.
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Contents
What’s New in Unity 5: Summary
20 mins
Animator
If you’ve done any work with Unity’s animator, you will have quickly run into situations where you have connections going everywhere. With Unity 5, we’ve been giving state machine transitions so now we can hook up state machines with each other. Each individual state machine has its own entry and exit nodes allowing you to customize the animations for a particular behavior.
For example, you could create an expansive set of animations for your idle behavior, but have it all self contained in the individual state machine. Once a user stops moving their avatar, you could then transition them into the Idle machine, and from the entry point, randomly select a particular Idle animation.
How would write such code?
Easy! By using state behaviors! State behaviors, simply put, are callbacks for your state machines. We now have OnStateEnter, OnStateUpdate, OnStateExit, OnStateMove, and OnStateIK. This will allow you to call your code for particular events in your state machine.
What’s even cooler is that Unity now has something known as a Asset Creation API. This means you can create Controllers, StateMachines, States, BlendTress, and Layers all in your own code.
WebGL
While the Unity player is pretty awesome, it requires the user to download software to their computer, then enable the plugin on their browser. For those knowledgable Unity, this is not a problem at all, but for those who did not know anything of Unity, this is may be asking too much of them. With the amount of malware, adware, and spyware out there, the Unity player gives people pause. From a security point, this is a good thing, but from a game developer’s perspective, this is just another hurdle for the user.
With Unity 5, you will soon have the option to publish your content to WebGL. This means that your game will be able to played in any browser that supports WebGL. This means no plugins. No players. All the user has to do is navigate to a web page and they can start playing right away.
Unfortunately, at the time of this writing, the WebGL player still isn’t ready for primetime. Unity has stated the current Unity player will continue to ship throughout the Unity 5.x lifetime. In fact when the WebGL player is first released, it will only support Chrome and Firefox. You also lose a few features as well such as webcam and microphone access for starters.
That said, it will probably be awhile before it reaches mature status, but when it does, the WebGL player will be a welcome relief for users uneasy with downloading third party software and that’s always a good thing.
Metal & IL2CPP
In the 2014, Apple released a new API called Metal that allowed for better graphics performance on their devices. Unity Technologies was quick to respond that were planning to take advantage of the API. Well, many months later, you now can leverage the performance benefits of Metal in your own game. When you build for an iOS device, the graphics API is set to automatic, meaning it will use Metal if it is available. You can also manually select Metal, meaning your game will only run on a A7 based device. As the years progress, Metal will ultimately be available on all iOS devices which means faster games for everyone.
Unity 5 also introduces a technology called IL2CPP which simply translates to “Intermediate Language to C Plus Plus”. In short, Unity is now taking our compiled script assemblies from our game, and rewriting them in C++. What this means is that we are getting native performance on certain platforms. Being still a very new technology, it currently will only be available on iOS and WebGL. Unity plans to extend this to all platforms in the future. From Unity’s GDC keynote, the performance benefits were impressive. I’m sure we’ll be hearing more about this technology as it matures.
64 Bit Editor
One of the strongest criticisms leveraged against the Unity development environment was that it was 32 bit. Jeff LaMarche wrote a blog post not too long ago about why he was switching from Unity to Unreal and one of the primary reasons was because the editor was 32 bit. Jeff was working on a game at his company MartianCraft and with all the assets involved, he quickly ran into that 32 bit ceiling. Once you hit that ceiling, the app becomes unstable.
Thankfully, Unity 5 is now a 64 bit application so unless you are truly making an unbelievably massive game, you shouldn’t run into any memory issues.
Cloud Builds
Unity also unveiled their product known as Cloud Builds. While it is not exactly a Unity 5 specific feature, it still bears mentioning.
In short, you keep your project in a source control repository whether it be Git, Subversion, or Perforce. Once you commit a change to your project, Unity pulls a copy of your project into the cloud and builds it for you. Once the build is complete, an email is sent out to all the stakeholders who can then download the build to their devices and start testing it.
The service does start with a free version and then, like the editor, quickly scales up on price depending on your needs. The free allows you to create projects up to 1 gig is size.
Licensing
In previous versions of Unity, various features were gated, depending on whether you were using the free version or the professional version. Thankfully, with the release of Unity 5, everything is now unlocked by default. This isn’t too much of a big deal as these features were quite specific to certain needs such as audio filters and advanced water. It does make sure that everyone is on equal footing.
Like Unity 4, we still have two versions of Unity: Unity Personal and Unity Pro. Unity Personal is only for developers or studios making less that 100K per year, so if you just scored big time with your latest Kickstarter, you’ll have to start paying for the professional version.
As for cost, well, that’s a matter of perspective. Game engines used to cost hundreds of thousands of dollars. In such light, Unity is actually a steal. The base editor will set you back $1,500. After that, you may want to purchases add-ons for both iOS and Android. Those add-ons will also cost you an extra $1,500 a piece, so if you are looking to create a truly cross platform game, you’ll be paying $4,500.
Keep in mind that you can publish to mobile devices without the pro add-ons so you don’t necessarily have to purchase them. The pro-addons basically provide a profiler so that you can determine any performance related issues. They also provide Occlusion Culling for those platforms which also gives your game a performance boost by not drawing unnecessary geometry.