Be among the first to see what new features and enhancements Unity has for you in the next 2019 TECH stream release. In this beta, we’ve included the popular Polybrush tool as a package, added the Unity Distribution Portal to get your games and apps to new global audiences, improved and expanded the toolsets for mobile, lighting, 2D, XR, and more.
Unity 2019.2b is available right now via the Unity Hub (under Installs > Beta Releases), which you can download on the official beta landing page. Joining the beta enables you to evaluate the next Unity version and its features/packages for your project and workflow. We’re eager to get your feedback before our official release to make sure we deliver the best tools and experience to your team. Additionally, you will have the chance to win a Samsung S10+ device. See the end of this post for details.
Optimized Frame Pacing for Android, developed in partnership with Google’s Android Gaming and Graphics team, provides consistent frame rates by enabling frames to be distributed with less variance. This results in a smoother gameplay experience.
We have added OpenGL multithreading support (iOS) to improve performance on low-end iOS devices that don’t support Metal. For both iOS and Android, we have added OpenGL support for SRP Batcher to improve CPU performance in projects that use the Lightweight Render Pipeline (LWRP).
Additionally, we have introduced screen brightness controls via the new Screen.brightness property (iOS and Android); improved the ReplayKit API (iOS); and to make it easier to adjust your UI, we’ve added support for detecting the bounding box around the notch(es) (or camera hole) on Android via the new Screen.cutouts property. We also added an APK size check using Android App Bundle so it’s easier to know the final application size for different targets.
Here's how you can implement the Screen.cutouts function to visualize the safe area and cutout information in your project:
var res = Screen.currentResolution; var safeArea = Screen.safeArea; var cutouts = Screen.cutouts; StringBuilder safeAreaInfo = new StringBuilder($"Resolution (Width × Height): {res.width}x{res.height}\n"); safeAreaInfo.Append($"safeArea (X x Y / Width × Height):\n"); safeAreaInfo.Append($"{safeArea.x} x {safeArea.y} / {safeArea.width} x {safeArea.height} \n"); if (cutouts.Length > 0) { foreach (var c in cutouts) { GUIDrawRect(c, Color.green, ""); safeAreaInfo.Append($"cutout (X x Y / Width × Height):\n"); safeAreaInfo.Append($"{c.x} x {c.y} / {c.width} x {c.height}\n"); } } Else safeAreaInfo.Append("No cutouts detected"); GUIDrawRect(safeArea, Color.red, safeAreaInfo.ToString());
You can now sculpt complex shapes from any 3D model, position detail meshes, paint in custom lighting or coloring, and blend textures across meshes directly in the Editor. Compatible with Unity since 2018.1, Polybrush 1.0.0 is now available via the Package Manager. This version includes a Mesh and Prefab scattering mode.
Soon after this release, the Lightweight Render Pipeline (LWRP) will be updated with the experimental 2D Renderer, which contains 2D Pixel Perfect and the new 2D Lights. Learn more about 2D lighting in this talk from GDC 2019.
Additionally, Shader Graph now has 2D Masternodes to create 2D Unlit and Lit sprite shaders.
Lightmap denoising now works on all Editor platforms, regardless of GPU manufacturer. We have also made a fundamental change in how you configure the baking – any object can contribute to a global illumination bake, regardless of whether it’s probe-lit or lightmapped. This opens up new possibilities for probe workflows, which we will continue to improve. In addition, this release includes major speed improvements, especially during lighting iterations with GPU Lightmapper.
This new cross-platform library from Intel is an AI-based denoising filter. In Unity, it will improve your lightmapping workflow and lightmap quality by post-processing lightmaps. This produces smooth, noise-free lightmaps that use far fewer samples. For details, watch our Unity GDC 2019 talk on the subject.
We have changed the terminology for objects that are Lightmap Static, which from now on will Contribute GI instead. You may choose if objects that Contribute GI should receive GI from Light Probes or lightmaps. A new drop-down menu on mesh renderers, skinned mesh renderers, and terrains lets you choose if the object should get GI from lightmaps or from Light Probes.
In this release, the GPU Lightmapper (Preview) takes some important steps towards feature parity with the CPU Lightmapper. The GPU Lightmapper now has:
The NVIDIA OptiX AI Denoiser has been upgraded for better performance, lower memory usage, and to add support for NVIDIA Turing GPUs.
Users can now take screenshots asynchronously and log bug reports while playing games and apps on Windows and UWP, which significantly reduces the performance impact. To enable this feature, switch the UserReportingPlatform to Async on the UserReporting GameObject.
Learn more about the new Cloud Diagnostics User Reporting SDK on our documentation page on GitHub. To reach more platforms see a Unity Cloud Diagnostics upgrade.
TypeCache provides a fast way to access types or methods marked with specific attributes, as well as types derived from a specific class or interface. It utilizes an internal native cache that is built for all assemblies loaded by the Editor. Access this feature via the new UnityEditor.TypeCache C# API.
using UnityEditor; using System; using System.Collections.Generic; using System.Linq; public class VolumeComponent {} public class Example { static List<Type> s_VolumeComponents; static Example() { s_VolumeComponents = TypeCache.GetTypesDerivedFrom<VolumeComponent>().ToList(); } }
The Unity Distribution Portal (UDP) lets you scale your business and significantly expand your user base by easily distributing mobile games and apps on app stores in local markets around the world. UDP automatically creates builds for each of the participating stores and enables distribution regardless of individual store requirements.
UPD (currently in preview) enables you to publish on Catappult/Aptoide (worldwide) and MOO Store (Southeast Asia), and it will soon be connected to ONE Store (Korea) and Jio Games Store (India), with more to follow. Get started now.
In this release, AR Foundation includes support for face-tracking, 2D image-tracking, 3D object-tracking, and environment probes (all in preview).
The High-Definition Render Pipeline (HDRP) is a prebuilt, high-fidelity Scriptable Render Pipeline designed for projects running on compute-shader-compatible platforms. By design, HDRP provides you with tools to create anything from games to technical demos at the highest resolution. In this release, HDRP includes support for your VR projects (Preview). This support is currently limited to Windows 10 and Direct3D11 devices, and must use Single Pass Stereo rendering for VR in HDRP. A full list of constraints can be found here.
Some features are now available as packages, making the Editor leaner and more modular. For example, Ads, 2D Sprite Editor, and 2D Tilemap Editor are now easy to integrate, upgrade or remove via the Package Manager.
You can get access to all these new features and more by downloading the beta from the Unity Hub or here.
As a participant in the Unity Beta Program, you can provide us with valuable feedback on the new Unity version, which will help us improve and finalize it before the full release (if you haven’t participated in a Unity beta release before, see this guide for how to be an effective beta tester). As a token of our appreciation, 5 lucky beta testers will win a Samsung Galaxy S10+ device.
To enter the sweepstakes, you have to identify and report at least one original bug during the 2019.2b cycle and tag your report with #Unity2019Beta in the report description (the “Submission”). You can find the official rules and conditions here. We will announce the winners in the 2019.2 official release blog post and on the Beta forum.
We developed the new Adaptive Performance feature (in Preview) in partnership with Samsung. The Samsung Galaxy S10 is one of the first devices to support the feature. Learn more here.
As always, refer to the release notes for the full list of new features, improvements, and fixes. You can provide us with feedback for the features on our forums as well.