Unity Technologies has finally released v5.4 of the popular game engine. You can download it here. The company has also
Take a look at a quick overview of Unity 5.4:
And as for the details:
Unity takes some steps to 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.
The company implements GPU instancing support to allow developers 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 said to be supported in the the future.
2D Texture Arrays were created to help developers when they’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.
Unity 5.4 includes new sizing controls for particles, allowing developers 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.
In 5.4, the company has added motion vector support. Motion vectors track frame-to-frame motion at pixel level, and can be utilized to great effect when creating post-processing effects such as motion blur and temporal anti-aliasing.
Unity 5.4 now has built-in and optimized rendering support for OpenVR (SteamVR/HTC Vive), Oculus Rift, Gear VR, and Playstation VR platforms. Through a single API developers can 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.
For the full details on Unity 5.4, check out the release notes.