Unity 2019.1 is available now and brings a lot of interesting new features that will help mobile devs to deliver better experiences for gamers on Android.
Unity is the most popular IDE and game engine used by Android game developers. It provides powerful tools to make building 2D and 3D environments and complex gameplay mechanics as simple as possible. With this new release, it will be getting considerably more powerful and adaptable – especially when it comes to mobile.
A lot of the new Unity 2019.1 features were first introduced when Unity 2018.1 launched, but only in “preview.” Now these updates are considered stable and ready for prime time, meaning that developers can begin to confidently implement them – while others have been introduced for the first time. Whether you make games or just like playing them, this is good news.
I had the opportunity to speak directly with some of the engineers at Unity, who helped fill me in on the details. So let’s dive into what’s new in Unity 19.1.
Lightweight render pipeline may mean more games coming to Android
Perhaps the biggest new Unity 2019.1 feature here is the Lightweight Render Pipeline (LWRP), which is now out of preview. For the uninitiated, a render pipeline is essentially a series of steps taken to help render graphics on the screen – the process of going from a 3D model to what you actually see through the camera. That might mean prioritizing which things to draw first for example, or whether to use single or multipass rendering.
The more control a developer has over the pipeline, the more extra performance they can squeeze out in order to produce the very best graphics possible. But this also represents a huge amount of work on their part.
The LWRP offers the best of both worlds, providing a ready-made-but-flexible pipeline that is optimized for mobile and customizable using C#. That means scalable graphics that will hopefully make it simpler for devs to port their creations to Android, and that will allow them to get the very best performance from each device. Read more over at the Unity blog.
A Unity rep told me that the company was also working on a pipeline specifically for 2D games – which will likely apply to a lot of the mobile games currently on the Play Store. There is also a High Definition Render Pipeline that will serve as the counterpoint to LWRP for high-end PCs. Perhaps Unity will be able to give Unreal a run for its money soon in this department?
Mobile adaptive performance will boost graphics and performance on Galaxy devices!
Speaking of getting the best performance from each device, more considerable improvement in that regard will hopefully come from the new Mobile Adaptive Performance. The basic idea here is that Unity will be able to scale the graphical fidelity of a game in order to maintain a more stable framerate in real-time and avoid throttling. Largely, this is going to mean handling overheating by monitoring internal temperatures. This will be controlled entirely by the developers, who will be able to choose to lower texture quality or resolution for example, or perhaps lock the framerate at a stable 30fps rather than risk sudden drops.
For now, the feature will only be available on Samsung devices, specifically the Galaxy S10 and Galaxy Fold. Considering the number of games made using Unity, this is a big win for Samsung, but perhaps less exciting for the broader Android user base.
Support for more Galaxy devices will follow later in the year, and a representative told me that Unity is also speaking with other manufacturers.
More features for mobile devs
A new Unity 2019.1 feature specific for mobile is the Mobile Notifications Preview package, which will help developers increase engagement with their audience. This might not be quite such good news for gamers though, as it probably means more free-to-play games on the way. Still, we need devs to earn money if we want to get the best games on the platform!
There are also some quality-of-life improvements that should make life easier for developers: you can now download and set-up the Android SDK and NDK directly through the Unity Hub for instance, which should streamline the set-up process for new developers. Better yet is native Android logcat support for simpler debugging, currently in preview. This is going to make debugging considerably quicker and easier.
What will also make things quicker and easier is the Scripts Only Build option for APKs. That means you can patch the APK on your target device to update your code without having to build the entire thing from scratch – perfect if your builds take hours due to baked lighting or similar.
Got to say, we’re liking the Android-love Unity!
Lots more to get excited about for Unity 2019.1
While that pretty much covers the mobile-specific advancements in Unity 2019.1, there are also a lot more general improvements that should prove beneficial to Android developers. On the UI-front, the new quick search tool (currently in preview) will provide a more powerful search across entire projects.
The new preview Animation Rigging Package should provide greater control over animations, while the no-longer-in-preview Shader Graph allows devs to test shading effects in real time.
But it’s the performance that is seeing the most overhaul, with Unity gradually undergoing a total rethink to the way it handles data management and performance. Unity is rebuilding its core foundation using a multithreaded Data-Oriented Technology Stack or “DOTS.”
Responsible for producing the highly optimized native code to make all this possible is the Burst Compiler, which is out of preview in Unity 2019.1. Without getting into too much technical detail (here is a good blog post on the topic), this allows developers to recruit unused CPU resources through the C# job system and ECS (Entity Component System). The former allows efficient multithreading to take advantage of unused cores, while the latter improves data management for greater efficiency.
Again, it’s a matter of letting developers get more plates spinning in order to really eek out the very best performance and creating end-products that are highly scalable. Right now, we’re already seeing performance gains and new features in Unity 2019.1, but the impact will be felt even more going forward. The good news is that from a developer perspective, the process of adding components to game objects will remain largely unchanged unless they want to get their hands dirty.
A more low-key upgrade is an improvement to the Sprite Shape package, which will make it easier to create colliders that perfectly match the shape of sprites. That basically means better collision detection for 2D games. The C# job system should also provide performance gains in 2D animation.
Then there’s the new AR features, the Linux support, and more. Be sure to check out the full release notes if you’re interested.
In short, the focus of this update (as with other recent updates) seems to be making Unity better looking, faster, and more adaptable. This is all really good news for the state of gaming on Android, and we’re excited to see how developers take full advantage of the new tools at their disposal going forward.
Let us know in the comments below what you make of all this. Are you a Unity developer? Will any of these new features in Unity 2019.1 benefit your creations?