Search Unity

The wait is over, and Unity 5.4 has been released! You can download it here.

As we announced in March, we’ve put extra resources into beta testing Unity 5.4 so we can deliver the highest level of quality and stability. We couldn’t have done it without the help of our beta users: thank you for your feedback and bug reports! We’d like to show our appreciation and reward for your efforts; for more details, see further down the post.

As well as spending recent months polishing Unity 5.4, we’ve been hard at work improving Unity 5.3.x to make it a rock-solid platform for the projects you have in production.

If you’re in a hurry, here’s a quick overview of Unity 5.4:

  • Graphics & rendering performance improvements:
    • Better multithreaded rendering
    • Fewer draw calls with GPU Instancing — available on Windows, OSX, Linux, PlayStation 4, and Xbox One
    • Improved low level graphics features: texture arrays, compute shaders, and more
  • For Artists:
    • Thanks to sizing controls, a new trigger module, and better lighting with Light Probe Proxy Volumes (LPPV) particles are now more customizable.
    • In-engine support for motion vector rendering
  • VR Improvements: more built-in multiplatform VR support and better performance
  • IL2CPP for Android is now an officially supported platform (previously it was labelled ‘experimental’)
  • The editor now supports Mac Retina displays (Windows HiDPI support is in the pipeline) and we’ve added a zoomable game view function (OSX & Windows)
  • Cloud Build setup is now available from the within the editor.  
  • Performance Reporting is now fully integrated in the editor, 1-click activation without plugins or code
  • A major Analytics feature update with Raw Data Export, Heatmaps, Livestream, and Ads data in the dashboard
  • In-App Purchasing now supports the Amazon Appstore
  • Web Player and PS3 Build target options have been removed along with iOS 6 support (we now support iOS 7.x and above)

Now read on for the details:

Graphics & rendering performance improvements

Improved multithreaded rendering

Unity 5.4 takes our multithreaded rendering support to the next level. Depending on your project and the 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 main CPU core scripts used by physics and scripts, work is reallocated to multiple CPU cores, removing potential bottlenecks and enabling complex scenes to run faster.

Fewer draw calls with GPU instancing

Fewer draw calls means better performance. By implementing GPU instancing support, we’re allowing you to render vast numbers of identical geometries that share the same materials with very few draw calls.

GPU instancing support is available on Windows (DX11/12 with Shader Model 4.0 and up), OSX, and Linux (OpenGL 4.1 and up) as well as on PlayStation 4 and Xbox One.More platforms are in the pipeline, so stay tuned.

The scene contains 3 types of rock mesh. Each rock is tinted with a different gray scale color using a material property block. The first scene uses an instanced version of the standard shader, the second scene uses the built-in standard shader. The data is captured with 5.4 beta on Windows / D3D11, with an Intel Core i7-4980HQ@2.8GHz CPU & an nVidia GeForce GT 750M GPU.

Improved low level 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. 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. 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. You can perform fast texture copies with a new CopyTexture function, and 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 multithreaded  rendering for Metal graphics. Finally, image effects can be applied on a scene view camera with a new ImageEffectAllowedInSceneView attribute.

For Artists: Better particle lighting and motion vectors illustrated with improved cinematic image effects

New particle controls

Unity 5.4 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, but, by using a custom scripting callback, it’s now also possible to modify all particle properties. You can see this in action in the viscous volume effect below.

Large particle systems can now be lit more realistically with Light Probe Proxy Volumes (“LPPV”).  It’s a way of getting baked lighting information into large dynamic objects that can’t use baked lightmaps.

LPPV works by generating a 3D grid of interpolated light probes inside a bounding volume and allows 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 also use it on large dynamic objects.

Cinematic Image Effects and Motion Vector Support

Finally let’s not forget about the Cinematic Image Effects (like Screenspace Raytraced Reflections, Depth of Field, Tonemapping and Colour Grading and more) available as an open source package from the Asset Store (and open for contribution on our repo). Cinematic Image Effects were put to good use in our Adam demo.


In 5.4, we’ve also added motion vector support. Motion vectors track frame-to-frame motion at pixel level, and can be utilized to great effect when creating your own post-processing effects such as motion blur and temporal anti-aliasing. As an example, the current beta of our Cinematic Image Effects package makes good use of this feature to create a convincing motion blur effect:

More multiplatform VR support and better performance

Unity 5.4 now includes built-in and optimized rendering support for OpenVR (SteamVR/HTC Vive), Oculus Rift, Gear VR, and Playstation VR platforms. Through a single API you can easily build for multiple platforms 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. On the performance side, we’ve added the Optimized Single-Pass Stereo Rendering feature (previously called Double Wide Rendering), so now both viewports are rendered in a single pass, to help sustain high frame rates.

If you’re looking to get started with VR, these handy tutorials and the associated free assets will help you get up to speed quickly.

Finally, as announced at Google IO, Unity will be natively supporting the new Daydream platform. If you can’t wait for the native integration, go to the Google developer portal and get the Google Daydream VR Dev Kit for Unity.

IL2CPP available for Android

In case you are new to Unity, IL2CPP is our scripting backend that converts IL (Intermediate Language) code from scripts and assemblies in a Unity project to C++ code which is then compiled using platform native compilers. The obvious benefit is a performance gain when Unity runs your scripts (game logic). Introduced with Unity 5.0 and initially implemented for use with WebGL, today IL2CPP is also fully supported on iOS, PS4, and PS Vita, with experimental support available for Windows Store/UWP and Xbox One.

Furthermore, today we’re excited to announce that we removed the experimental tag from IL2CPP for Android and fully support it!   

WebGL build times shorter and WebGL 2.0 experimental available

In 5.4 we’ve focused our energy on reducing build time for WebGL, by caching IL2CPP artifacts and offering an option for using a pre-built runtime components in Development builds, so only user code will need to be rebuilt. Your first build will still take as much time, but subsequent ones will be incremental, hence much faster (and remember that you can easily offload the build to Cloud Build — see below).

WebGL is fully supported and a viable build target you can use to make web games right now. We’re thrilled to see developers adopting WebGL as a deployment option for their games, for example check out Nordeus’ story about Bringing Top Eleven to WebGL presented at Unite Europe 2016. They provide useful tips to get to WebGL and … [*Spoiler Alert*] announced a +30% increase in revenue!

We’re also excited to announce that WebGL 2.0 is available in Unity as an experimental target. While the WebGL 2.0 spec is still a draft and not yet in current releases of the web browsers, you can get a head start with Firefox or Chrome, by enabling it in Unity. Simply uncheck the “Auto Graphics API” property and add “WebGL 2.0” at the top of the list:


Retina editor 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.

Cloud Build setup is now done right from the editor

With Cloud Build you offload the process of compiling and creating builds across platforms, speeding up iteration time within your team. With Unity 5.4, we’ve simplified setup by enabling Cloud Build config right from the editor. Additionally, you can now view the status of Cloud Build right from the Services tab saving you a roundtrip to the dashboard. Convenient!


Have a couple more minutes?  Check out this Getting Started video.

Performance Reporting fully integrated in the editor, 1-click activation

Unity Performance Reporting automatically collects application errors, across devices and platforms, so you can find and address issues in real time. With Unity 5.4, Performance Reporting come fully integrated in the editor with a 1-click activation. It takes seconds. Watch:

Error logs will then appear in your developer dashboard:

This is just the beginning. Performance Reporting aims to be a suite of tools to help you better understand the inner workings of your games. Exception reporting is the first feature we’ve built, but there’s more to come (check our recent blog post for more information).

Analytics major feature updates: revenue reports, real time events, new heatmaps, raw data export

We’re rolling out major Unity Analytics feature updates with the release of Unity 5.4. You can view ads revenue and ARPDAU (Average Revenue Per Daily Active User) through the new Analytics Dashboard, track real time game events using the Livestream feature (Unity Plus and Unity Pro only), map critical game metrics of your choice using the new Heatmaps feature, and conveniently download all the data to build customized insights with the Raw Data Export feature (Unity Pro only).

In-App Purchasing now supports Amazon Appstore

We’ve added Amazon Appstore support to Unity IAP, our cross-platform in-app purchasing technology. Use Unity IAP to integrate support for multiple stores through one API.

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 was the final Unity release to support Web Player deployment. You can, of course, continue to use Unity 5.3.x to ship Web Player games should you wish to. But for now, it’s time to look at WebGL!

Given how quickly iPhone users update to the latest version of iOS (“Games by the Numbers” Q2 2016 report showed 99.2% of iOS game installs on iOS 7.x or above), it 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 eye from supporting PS3 deployment, allowing us to concentrate on helping you build even more great PS4 games.

Beta users, thank you for testing and submitting bug reports!

Thank you to everyone participating in the beta program. We want to recognize your effort and thank people who took the time to upgrade their existing projects and report issues. You are using Unity in so many different ways, so regression bugs are the hardest ones for us to catch.

So, everybody who submitted a valid bug will receive an email to claim their Unity 5.4 beta t-shirt. On top of that, we still have the draw for 100 vouchers for $100 on the Asset Store.
Watch your inbox!



Unity 5.5 beta coming soon

If you’re looking for the Unity 5.5 Beta, never fear, it’s coming soon. While we’re getting it ready, why not take a look at our guide to being an effective Beta tester or check out what’s coming in Unity 5.5 on our Roadmap Page.

For the full low down on Unity 5.4, check out the release notes.

105 replies on “Unity 5.4 is out – here’s what’s in it”

New update of particles system totally kills my ios/android project performance((

In 5.3.6 all was good (40-60fps ios/android).. but after update to 5.4.0, same particles systems began to fail, especially those particles that use physics collision (4-12fps and app crash).
App release deadline fuck up.. Trying to reverting to 5.3.6..

it’s better to fix your lightmap problems instead of a bunch of useless features.

I’m using unity 4.7.2 just because Enlighten always stuck in Baking a single 1024 lightmap. :-\

Oh man, I’m pretty excited for it! I really want to get into Unity, as it’s such a promising engine, and I know many awesome games they’ve used it. Although…I’m a little intimidated by it to be honest, being a novice game developer. Heh…

I’m in the prototype stage of my first VR game(Gear VR) and I’m very excited about 5.4. At the same time I fear that the change from 5.3 could make a mess in my project… Do you guys think I should move to 5.4?

Might as well give it a try, especially if you are just at the early stages. Just make a copy of your project so you can go back to it if something goes pear shaped.

I love this build. Work with retina support it’s great and right now there is no problem like in the beta (I was unable to see skinned model).

I just want to say that I really appreciate the approach you took — open beta testing, and rewarding beta testers.
Unity is already full of many great features, and now hopefully also more stable.
Thank you, Unity team!
Please keep it up!

Live Stream looks great. (I was asking about this as a feature at last years Unite). Is there a way to share Live Stream data on a web page?

I would like to create game events and have the realtime data show on a web page. Especially geomapped data.

Any plans to integrate the Android/iOS (Windows too if possible) game services (achievements/leader boards, cloud save etc) inside the engine like you did with IAPs? That would save people a lot of headaches!

I’m using Stan’s Android Native asset for the services (which is better in my opinion cuz it has more features), but it would be nice for Unity to support this fully in the future, since setting up game services is a pain in the behind, especially with Android’s «this is torture» dev tools.

Just wondering about these t-shirts: I submitted a valid bug a day before this version was released, does that still count as a beta bug?

I am wondering to. I haven’t received an email yet. I’ve sent my bug report at the begging of June and it was confirmed by QA’s at the end of June.

On our system, Unity 5.4 crashes on load after downloading assets from the Asset Store. The error report says «Debug Assertion Failed! … Expression: (stream != NULL)». The debug option attached to the dialog brings up a blank page in Visual Studio.

While I’m grateful for all the big updates and fixes, I’m disappointed to see mixed lighting still broken after telling us several times it would make 5.4. :(

Also, the ambient intensity slider is completely removed from ambient colour lighting?

I’ve just upgraded to 5.4 but got a serious issue: Unity freezes while building APK. This happens on my OS X El Capitan machine and my colleague’s Windows 10 machine. Switching back to 5.3.6 and it’s working. What can be the problem?

Un-Install any old version of Unity and Web player I use IOBIT Uninstaller Pro 5 to get rid of registry entries and re-Install a fresh copy of Unity! could be a dual conflict I’ve seen these it isn’t fun!

Will IL2CPP make my binaries indiscernible from ‘real’ C or CPP binaries? Meaning it is no longer .NET assembly now thus making it harder to be reverse engineered?

Yes, it will be much harder to reverse engineer with IL2CPP, just as regular cpp software.
This doesn’t mean you will be safe from hack, but at least the code won’t be in plain sight for anybody to steal and reuse in case you made anything worthwhile.

1) «!GetIsActive()» suddenly appears in the console window… not further explanation is given… maybe some debugging code?

2) The old «Made with Unity personal edition» splash screen looked a lot cooler, the new one looks dull and the white background makes it look like the introduction to a boring accounting app… nothing to do with a game.

3) If you build your game for Standalone Windows and you upload it to a web server (like or when your players download your game and try to play it, they will see the following message:

Windows Protected you PC

Windows SmartScreen prevented an unrecognized app from starting. Running this app might put your PC at risk.

…so if you publish for Windows Standalone think twice before upgrading.

That sounds like an assertion was left in the code. Switch the log stack trace mode to full (from the options button above the console), if you are curious where it comes from.

Nested prefabs?
Ignore asset/script/folder from build?
Zoom animation controller node editor?
Drag drop reorder components?
View multiple resolutions at the same time to test UI?

Was a nice release, shame that quite a few asset authors don’t respect customers enough, or Unity doesn’t have enough initiative to push for assets to be updated in time for launch. I guess everyone thinks it’s OK to wait around with busted projects.

In future, more communication. More pushing for assets to be updated in time for launch. With open beta there is no excuse. I am subtracting stars from each asset that did not bother updating in time. Mean? nope, just standards.

Hi Robert, thanks for your note.
Yes, I agree that getting asset publishers to follow along the Unity version evolution is a challenge.
With the public Beta we’ve given access to everyone, we wrote a “how to be an effective beta tester” guide (avail from here, and we will continue to communicate on the beta and improve the beta program to make sure asset store publishers are aware, motivated and understand it’s in their best interest to have their assets ready for the new releases.

Any chance of seeing that PowerVR baking tool for baking down high detail lightmaps? That and mixed mode are the things I hope to see fixed in Unity 5.5… I haven’t done anything major because mixed mode is still messed up. But kudos on the release.

What about a dark skin for the t-shirt?!
Just kidding :)

My upgraded project is working well so far. I’m happy the release did not push till August. Quite a lot of improvements here and things are looking up. Cheers. Now to check out these Cinematic Image Effects…

I was expecting the promised fix to mixed lighting and yet again I’ve been disappointed

So the overall Unity standing with me to date is:broken lighting still not fixed since 5.0no git lfs in cloud build… 25GB per project limit in cloud build for non-enterprise subscribers… disappointed again… and again… and again…

Actually, Cloud Build does support git lfs. This is new. We’re working on a dedicated blog post to wrap up a lot of the new cloud build features that have come out over the past few months. Also, Cloud Build @ 25GB is not a hard limit; it’s just what Cloud Build formally supports. We’ve found that projects greater than 25GB are few and far between. Cloud Build will do its best effort to support projects larger than 25GB.

What are the requirements for motion vectors ?
All I found is «Requires RG16 texture support.» .

What does it mean in terms of compatibility? Can it work on mobile?
If yes, how new the gpu must be to support it?
Couldn’t find much other than the opengl specs. I have no idea which gpu support RG16.

The GPU has to support two-channel half precision floating point textures. In technical terms, on OpenGL that means support for EXT_texture_rg and OES_texture_half_float extensions.

On iOS devices, all devices that support Metal do have support for it (even when using OpenGL ES), so everything since iPhone5S/iPadAir and later.

On Android, like always it’s a wild zoo. Some devices do support it, some don’t. Some OS versions do, some don’t. etc.

Thanks Aras!
What happen when you try to apply a full screen effect and it’s not supported? Does it waste any eat any gpu power repainting an identical pixel or it’s completely disabled?

Where’s the change log? RC2 was a horrible mess — Broken Canvas’ unfinished features (GPU Instancing), lighting problems, etc…

Have those issues been fixed???

Can’t use GI any more in my project, Unity fails calculating, gives a lot of «Failed creating system: 0x75853efb73f3f0941fe66eecd74f2957.» errors, one for each static object…

I also get

«instance: Cube — Floor (6).»
«Failed reading from: ’75/75853efb73f3f0941fe66eecd74f2957.pps’.»

It would be nice to know what all this means. It worked well in 5.3.6.

Ran into the same issue. If you clear your GI Cache via Edit->Preferences->GI Cache->Clean Cache , that fixes the errors/warnings and lets you bake.

WOW! Wish I had found this sooner.. I’ve spent HOURS today trying to fix the issue! I would fix it in one scene by fiddling with object import settings but it would still be broken in another scene etc. Seems to be working now.

I also had this problem. I just upgraded to 5.4 and got this on scenes where I use terrain. After doing this cache clean and pressing bake from lighting panel it takes some time …reports creating jobs … but after that Unity crashes. The Unity crashes on re-start after that. I submitted a bug-report but the project size 1.2 GB was just too big to include so I sent it without.

Unfortunately, for alpha-to-coverage to be any useful, MSAA on HDR targets would have to be available on platforms that support it. As far as I know, Unity imposes this limit to this day, even though it only applies to some of the older dx9 hardware. Are there any plans for lifting this?

That’s an orthogonal problem. Alpha to coverage works where MSAA works. Currently MSAA does not work with HDR cameras out of the box, so yeah if you want HDR, then you don’t get MSAA (and hence no alpha to coverage).

It should be possible to work around it by manually creating a RenderTexture with RGBAHalf format, setting antiAlias to it, and setting it as camera’s target texture; but you’d have to also do image postprocessing manually via scripts or command buffers.

Thanks for providing a workaround. Are there any long term considerations for adding MSAA support for HDR cameras out of the box though? Since HDR rendering is a vital part of PBR and the look of Unity 5, it’s strange that hardware antialiasing support for it takes the short straw.

Performance reporting definitely needs better filtering options for error reports, but otherwise it’s totally awesome!

Is there any way to disable performance reporting from code on the client with the new 5.4 integration? I’d like to be able to offer users the option to opt-out before turning this on!

Thanks Unity, Super Awesome!

Are the «Cinematic Image Effects pre-release» integrated in 5.4 «Standard Assets»?
And where we can find info about how to use «motion vector»?

Weren’t there a bunch of 2D workflow features that were planned for 5.4? What’s the status on those?
Stuff like 9slice tiling for non-UI stuff, built in tile mapping, polygonal terrainer etc.

The 2D features are not yet ready to ship in a final release, but the team are sharing experimental preview builds so you can try it out and give them feedback on how it works for you. (The more feedback they get, the faster it can all be ready to ship properly!)

Cool, thanks for the info.

Unity/ADAM team also talked about releasing some tools they used to create their demo (besides the image effects), like the terrain texture-height map blending tool. Are there any news on the release of that?

The demo team has plans to release tools like tube lights, volumetric fog, realtime area lights… however, for the terrain tool specifically, we’re looking into other options (like potentially putting it on the engine roadmap) but it requires more investigation before we can commit to anything.

Comments are closed.