Unity is one of the most popular IDE and game engine used by game developers to create games for Android and other platforms. While game development is practically an art by itself, Unity makes the process simpler thanks to the tools and features it provides to build 2D and 3D environments and complex mechanics across multiple platforms. Unity 2019.1 (19.1 in short) is now available for game developers, bringing over several “preview” features over in a stable form for game developers to implement them into their game, as well as new preview features of its own.
One of the highlight features of this release for Android is the availability of a preview version of Adaptive Performance for Samsung Galaxy flagships. Unlike PC and consoles, gaming on mobile devices has an inherent limitation of heat management and power consumption. Beautiful-looking and smooth-playing games have intensive processing needs, which can quickly heat up your device. PC and consoles tackle this issue through their active cooling systems, but since phones do not feature active cooling hardware (yet), the phone ends up throttling performance to keep the temperature in check. The issue becomes even more problematic considering the wide range of hardware available, and the varying performance and throttling scenarios.
Game developers tackle this issue through two main approaches: ensuring maximum compatibility by sacrificing graphic fidelity and frame rate, or by anticipating hardware behavior, which is difficult to execute.
Unity and Samsung have collaborated for a feature called “Adaptive Performance“, which provides a better way to manage thermals and performance of games in real time. After you install Adaptive Performance through the Unity Package Manager, Unity will automatically add the Samsung GameSDK subsystem to your project. During runtime and on supported devices, Unity will create and start an Adaptive Performance Manager which will provide feedback about the thermal state of the device. Developers can then choose to subscribe to events or query the information from the Adaptive Performance Manager during runtime to create reactions in real-time with regards to thermal trends. For instance, when the device began throttling in the early stages, the game could tune quality settings, target frame rate and other parameters to ensure that the game can eke out more sustained performance. Once temperature starts declining again, parameters could be tweaked once again to deliver better gameplay performance. By keeping a closer eye on the thermal performance, one can avoid throttling all together by adjusting performance based on real-time feedback. This will lead to a more predictable frame rate and gameplay experience and lower thermal buildup.
A preview version of Adaptive Performance is available for Unity 2019.1, with support for the Galaxy S10 and Galaxy Fold. Support for more Galaxy devices will follow later in the year, and a representative mentioned to Android Authority that Unity is also speaking with other manufacturers.
The Mobile Notifications Preview package will help developers implement retention mechanics and timer-based gameplay by adding support scheduling local repeatable or one-time notifications on Android 4.1 and above.
Android SDK and NDK installation through Unity Hub
The Unity Hub now lets developers install all the required components for Android as part of the Android Build Support option, ensuring that they get the correct dependencies. You also have the option of installing and configuring components manually and use Android Studio.
Android Logcat integration
Unity 2019.1 now integrates logcat functionality, making it easier to debug by controlling and filtering messages from within Unity.
Faster iteration with Scripts Only Build patching on Android
You can now use the Scripts Only Build option to skip through several steps in the build process as it recompiles only scripts and patches an already-existing app package on the device. The final package is built and deployed when you select Build and Run.
Many more platform-independent features
The features listed above are for game development on Android. Unity 2019.1 also packs in several more changes that apply to the whole game engine, extending the benefits to Android as well as other platforms. Unity has posted an extensive change list, with emphasis on features like Burst Compiler, Lightweight Render Pipeline, Shader Graph and so much more.
We recommend reading the full change list if you use Unity in your game or are interested in knowing further changes to the engine.