Enhanced visuals, better performance, and more: the Unity 5.4 public beta is ready for you to download
As part of our commitment to bringing you stable products, Unity 5.4 is now available as a beta to all Unity users, including everyone using Unity Personal Edition. We encourage you to download it and try out the many graphics and performance updates. As always, your feedback on the release is very important to us and we encourage you to post in the beta forum and to submit your bug reports via the Unity Bug Reporter.
Why is Unity 5.4 being released as a beta?
We listened to what you had to say about the quality of final releases, so in order to get more feedback on real life use before we push anything to final, we’ve decided to release Unity 5.4 as a beta.
Simultaneously, we’re releasing Unity 5.3.4. We’ve put a lot of effort into making it a stable and dependable release, and we will continue to work on further improving the stability of Unity 5.3.x with additional minor and patch releases over the next 6 months.
Learn more about our efforts to improve the quality of Unity releases here, or read on for a full rundown of the new features in the Unity 5.4 beta.
Enhanced visuals, better performance, tighter Unity IAP integration and a major VR rendering upgrade
There are significant visual quality and in-editor artist workflow improvements in the Unity 5.4 beta. We’ve also worked to further optimize our VR rendering pipeline, making it far easier for you to deploy your build across the major VR platforms.
Our cross-platform in-app purchasing service, which you can use to integrate support for multiple stores through one API, is now more tightly integrated with the Unity Editor to make assessing and boosting the revenue performance of your game a smoother experience.
This latest release also comes with faster WebGL development build times, support for Retina displays, and much, much more…
More customizable particles and better lighting
The Unity 5.4 beta includes new sizing controls for particles, allowing you to control their width and height independently and to control mesh particles’ full 3D form.
We’re also rolling out a new trigger module, which allows you to modify particle properties inside a list of colliders. In its simplest form you can destroy particles when they touch the colliders by using a custom scripting callback, and it’s possible to modify all particle properties. This can be seen in the viscous volume effect below.
Finally, large particle systems can now be lit more realistically with Light Probe Proxy Volumes. Light Probe Proxy Volumes (LPPV) are a way of getting baked lighting information into large dynamic objects that can’t use baked lightmaps.
LPPV work by generating a 3D grid of interpolated light probes inside a bounding volume and allowing you to specify the grid resolution. By doing so, you can add a spatial gradient to probe-lit objects. LPPV isn’t just useful for particles; you can use it on any large dynamic objects too.
Artists: Drop your textures into a Unity project and you’re good to go
If you use industry standard tools such as Substance Painter, Quixel DDo Painter, Marmoset Toolbag 2, or Knald, you’ll find that textured meshes imported from these programs now consistently and predictably retain their beautiful appearance when imported into Unity – just drop them straight into your game project and you’re good to go.
To make this happen, we switched the standard shading model from conventional normalized phong to GGX in Unity 5.3. In the Unity 5.4 beta, we’ve also completely overhauled our implementation for cube map convolution to achieve both accurate and noiseless results with low execution times.
Cinematic Image Effects in action
Three months ago, we released a beta of our suite of Cinematic Image Effects tools on the Asset Store including Screen Space Raytraced Reflections (SSRR), Tonemapping, Color Grading, Antialiasing (SMAA), and Depth of Field. They’re freely available for you to download.
As you can see, we’ve made good use of them in our Adam and The Labs demos.
We’re proud that our image effects are entirely open source. You can find the repo on BitBucket and your contributions are most welcome!
More multiplatform VR support and better performance
If you’ve followed the announcements from our recent Vision VR Conference, you’ll know that we revealed support for SteamVR and some impressive performance improvements. Both are available in the Unity 5.4 beta.
More multiplatform VR support
We’re really excited that with this latest version of Unity you can build to SteamVR, Oculus Rift, Gear VR and Playstation VR devices through a single API with device-specific tweaking kept to a minimum. To enable this, we’ve refactored the VR subsystem to eliminate redundant code that duplicated functionalities across VR devices.
Improved VR performance
Thanks to Double Wide Rendering VR developers can now render an image for both viewports in a single pass on Windows and PS4. We’ve also introduced Graphics Jobs, a feature that allows you to move jobs from the main thread to worker threads for significant rendering performance improvements.
If you’re looking to get started with VR, these handy tutorials and the associated free assets we released in conjunction with Unity 5.3 can help you get up to speed quickly.
Deeper In-app Purchase (IAP) integration
With Unity IAP and Analytics now supporting the new App Store for tvOS, we continue to expand our multiplatform support. You can now test your projects in a sandbox environment, read revenue reporting through the Unity Analytics dashboard and validate receipts in real time. It’s never been easier to monetize your game and gain insights through Unity Analytics & IAP.
Better multithreaded rendering
The Unity 5.4 beta release takes our multithreaded rendering support to the next level. Depending on your project and what platform you’re building to, it can significantly improve your frame rate.
Building on the work we did to take particles, sprites, flares, halos, lines and trails off the main thread in Unity 5.3, we’ve introduced parallel command list generation. Instead of building one graphics command list on the same CPU core scripts, physics and other systems are using, it moves the work to multiple CPU cores, removing some potential bottlenecks and enabling many complex scenes to run faster.
Fewer draw calls with GPU instancing
Fewer draw calls means better performance, and, by gradually rolling out GPU instancing support, we’re allowing you to render vast numbers of identical geometries that share the same materials with very few draw calls. Initially GPU instancing support is available for Windows PC builds with DX11 and Shader Model 4.0 and OS X with OpenGL 4.1 and up. More platforms are in the pipeline, so stay tuned.
Improved base graphics features: texture arrays, compute shaders and more
If you’re a graphics programmer building your own shaders, 2D Texture Arrays can help you when you’re optimizing large scenes and implementing rendering systems generally. They work by allowing the GPU to treat 2D textures that share the same size and format as a single object.
We’ve also improved a series of low-level graphics features in this release. Compute shaders can now be chained together via DispatchIndirect, compute buffer counters have been improved, and debug information can be used for compute shader debugging. Fast texture copies can be done with a new CopyTexture function, and proper support for uniform arrays as shader parameters has been added. On Metal, OpenGL and D3D9 platforms, we’ve implemented Alpha-to-coverage, and on iOS we now support multi-threaded rendering when using Metal graphics. Finally, image effects can be applied on a scene view camera with a new ImageEffectAllowedInSceneView attribute.
Collectively, we think all of these small improvements will be very useful for improving your rendering pipelines.
Platform-specific updates and improvements: WebGL, PS3, and WebPlayer
Faster WebGL development builds
Does what it says on the can. Specify WebGL as your target, enable the “Use pre-built engine” option, and build your game. You’ll get a much faster development build build time, speeding up your iterations and making testing more efficient.
A fond farewell to the Web Player, PS3 deployment, and iOS 6 support
As announced previously, and as a consequence of browser vendors’ move to the plug-in-free Web, Unity 5.3 is the final Unity release to support Web Player deployment. You can, of course, continue to use Unity 5.3.4 or earlier Unity builds to ship Web Player games should you wish to.
We continue to see performance improvements from our WebGL build option, and it’s a fully supported and viable build target you can use to make web games right now. Unity will continue to invest heavily in the WebGL platform, and to work with browser vendors to deliver further improvements.
Given how quickly iPhone users update to the latest version of iOS, it also makes abundant sense for us to remove iOS 6 from the list of build targets for this release of Unity. We’re also moving on with a tear in our collective eye from supporting PS3 deployment, allowing us to concentrate more fully on helping you build even more great PS4 games.
Retina support and zoomable game view
If you’re developing on a Mac with a Retina display, the Unity editor will now look great on your monitor. HiDPI support is also in the pipeline for Windows users.
Additionally, if you’re developing for a high-resolution target device, the editor game view now allows you to zoom in and out to fit the entire resolution on-screen. It works on both the OSX and Windows versions of the editor.
Enjoy the Unity 5.4 beta
We encourage you to open your project in the Unity 5.4 beta (be sure to backup your project first), and we hope and expect that your game can benefit from one of the many improvements it contains right now.
As Unity coverage and usage skyrockets, the diversity of applications made with Unity continues to grow, and with them the number of edge cases that our QA passes may miss. We very much appreciate your feedback on releases and encourage you to file bug reports both on betas and on stable Unity releases using the Unity Bug Reporter accessible through the Help menu.