Unity Rtx



Unity Rtx

The LTS stream offers a stable version of Unity for those who want to lock in their productions on a specific version of Unity for maximum stability.

The latest long-term support release of Unity

Unity's NVIDIA PCSS shadows also include NVIDIA Cascaded Shadow Maps and high-quality shadow filtering to further improves the quality of shadowing, and to reduce shadow aliasing. Together, the three technologies greatly improve the realism and fidelity of Unity's world, though understandably some will prefer sharp, unrealistic shadows everywhere, and as such should select the High option in. Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers.

With the LTS and the TECH stream releases to choose from, you can pick the release that best fits your needs, depending on where you are in your development cycle. For creators who are about to embark on projects that are past the prototyping phase, Unity 2019.4 LTS provides stable, high-quality features that are supported for two years. You can confidently create your projects with that version during development and release.

Unity 2019 LTS stream has the same feature set as the 2019.3 TECH stream release.

Explore Unity 2019 features

Since the release of 2018 LTS, we’ve added hundreds of improvements and new features. Unity 2019 LTS makes artists and designers more productive with better tools and a new Editor UI. Our Scriptable Render Pipeline (SRP) technology, now out of Preview, helps you achieve best-in-class graphics on all platforms. We’ve also optimized Unity under the hood to facilitate more immersive experiences at runtime and to accelerate your project iterations.

Graphics

If you need scalability for all supported platforms, high performance, and best-in-class visual quality, the Universal Render Pipeline is our recommended production-ready solution. To help you achieve stunning high-fidelity graphics on high-end hardware (PC, consoles, and future hardware), the High Definition Render Pipeline (HDRP) is now out of Preview, which means those of you already working with it will have a consistent upgrade path.

Scripting

Our default code editor is now Visual Studio 2019, and IDE support has moved to packages. This LTS release also brings huge improvements to profiling, such as Player Deep Profiling and Call Stacks support. In Unity 2019 LTS, the Burst Compiler optimizes your output for the platform you’re compiling for, which can lead to huge performance improvements. Burst Compiler 1.3 offers native debugging and improved scalability and usability. .NET 4.x is now the default scripting runtime. Incremental Garbage Collection minimizes garbage collection spikes. Also, several quality-of-life improvements to scripting workflows reduce iteration times and make you more productive.

Artist and designer tools

Shader Graph is now our production-ready solution for building shaders visually. Visual Effect Graph empowers you to create beautiful VFX in real-time, without coding, and is now compatible with Shader Graph. Unity 2019 also helps artists achieve more, directly within the Unity Editor, with new and improved terrain tools, as well as ProBuilder, our unique hybrid of 3D modeling and level design tools.

Editor updates

We’ve given the Editor UI a new look and feel by updating icons, fonts, and user feedback systems. Unity 2019 LTS increases clarity in the Editor, so creators can focus more on their content. Since Unity 2018 LTS, we’ve also added loads of workflow improvements to make you more productive in the Editor, such as Prefab Asset Editing in Inspector, Quick Search, Presets and Shortcut Manager. Unity 2019 LTS uses Asset Import Pipeline V2 to provide you with asset-dependency tracking and many other improvements, laying the foundation of a more reliable, performant and scalable pipeline and speeding up your import times significantly.

Platforms

For mobile developers who aim to push mobile graphics and performance, Unity 2019 LTS brings improvements such as on-demand rendering, Adaptive Performance and improved OpenGL support.

Throughout 2019, we’ve also added and polished lots of tools for augmented reality (AR) and virtual reality (VR) developers. AR Foundation, our framework for multiplatform AR development, gives you the power to build your app once and deploy across ARKit, ARCore, Magic Leap and HoloLens platforms. With the High Definition Render Pipeline for VR, you can push your VR experiences to the next level of fidelity without sacrificing performance.

We now also offer support for approved developers to create and ship their games on Google’s Stadia cloud gaming platform.

2D Tools

Unity now has the 2D feature sets and workflows you need for bone-based 2D animation, tile-based and organic world-building, and 2D physics, for projects of any scale on any platform.

Addressables

Efficiently manage complex live content. The new Addressable Asset System gives you an easy way to load assets by “address,” while also handling asset management overhead by simplifying content pack creation and deployment.

Visual Effect Graph with Shader Graph integration

Visual Effect Graph now lets you use Shader Graph to create high-fidelity visual effects, so you can visually author your own pixel and fragment shaders and use them in VFX Graph to create custom looks.

Timeline Signals

Timeline Signals offers an easy way for Timeline to interact with objects in a scene. Timeline Signals lets relevant systems know that it’s time to react to a specific event, for example, when a cutscene created with Timeline ends and you want to load a new scene and enable a physics system.

UI Toolkit

UI Toolkit(formerly UIElements), a retained-mode API, helps you create Editor tools. You build your UI hierarchy of objects while the system renders it optimally, for better overall performance. By decoupling hierarchy and styling from functionality, UI authoring is more approachable for both programmers and artists with UI Builder.

Unity as a Library

Unity as a Library lets you insert features powered by Unity directly into your native mobile applications, including 3D or 2D real-time rendering functions, such as augmented reality, 2D mini-games or 3D models, and more.

AR Foundation

AR Foundation combines the full power of the Unity platform with essential core features from ARKit, ARCore, Magic Leap, and HoloLens for rich immersive AR applications that you can build once and deploy across platforms.

Incremental Garbage Collector

With incremental garbage collection, rather than processing garbage collection all at once, we split the operation over a number of frames. This helps reduce occasional spikes in CPU usage due to garbage collection.

We prepared a series of upgrade guides to help you go from Unity 2017 LTS or Unity 2018 LTS to Unity 2019 LTS. For complex productions with a high number of dependencies, find out how our Success Plans can ensure the upgrade process goes smoothly.

What to expect from Unity LTS

Making the current LTS stream the most stable version of Unity is our top priority. Biweekly updates are intended to address crashes, regressions, issues that affect the wider community or console SDK/XDKs, and any major issues that would prevent a large number of developers from shipping their projects.

Unity release plans

We’re committed to supporting 2019.4 LTS releases with biweekly fixes until mid-2021, and then monthly updates until mid-2022.

Unity 2018.4 is now the legacy LTS and will be updated once every month until it reaches the end of its support cycle in spring 2021.

Archive

Looking for a specific Unity LTS release? We’ve organized all LTS releases in one simple archive page. Or subscribe to our RSS feed and get access to the latest LTS as soon as it’s released.

What’s an LTS release?

The last TECH stream release of the year becomes a Long-Term Support (LTS) release and receives continued support for another two years in the form of biweekly updates with bug fixes. In terms of versioning, we increment the final TECH stream release of the year by one and add “LTS” (for example, TECH stream release 2018.3 became 2018.4 LTS).

The LTS releases do not include any new features or breaking API changes compared to the TECH stream releases that they are based on. Their updates address crashes, regressions, issues that affect the wider community or console SDK/XDKs, and any major issues that would prevent a large number of developers from shipping their games or apps.

The LTS stream is for developers who want to develop and ship their projects on the most-stable version and remain on this version for an extended period.

What is a TECH stream release?

TECH stream releases are for developers who want to access the latest features and capabilities. The 2019 TECH stream had three releases (2019.1, 2019.2, and 2019.3). We add updates and bug fixes to the current TECH stream release on a weekly basis until the next TECH release is officially launched; then the cycle begins again.

What new features does Unity 2019.4 have?

Unity 2019.4, which we also refer to as Unity 2019 LTS, doesn’t have any new features, compared to Unity 2019.3. Updates to Unity 2019.4 include only fixes for crashes, regressions, issues that affect the wider community or console SDK/XDKs, and any major issues that would prevent a large number of developers from shipping their games or apps.

Which version of Unity should I use?

If you are in production or close to release, we recommend the latest LTS release. If you want to use the latest Unity features in your project or are just getting started with production, the TECH stream is recommended.

How often is Unity 2019 updated?

The 2019.4 LTS releases will receive biweekly fixes until mid-2021, and then monthly updates until mid-2022.

Are you going to backport fixes from Unity 2020.1 and 2020.2 to Unity 2019 LTS?

Yes. Generally, our process is to fix bugs in the next release of Unity, and then backport the fixes to current TECH streams and LTS branches. The exact mechanics for doing that depend on the nature of the bug, the dependencies it may have to other components, and other factors. We have a team fully engaged to backport fixes to Unity 2019 LTS.

What’s in your alpha and beta releases, and how do I get them?

Alphas are the first public releases of a new TECH stream version of Unity. During the alpha phase, we’re progressively adding all the new features that are scheduled to be part of the final release. At the same time, the features get tested collectively for the first time. While a TECH stream version is in alpha, we release updates with new features on a weekly basis until we reach feature completeness. As such, alphas come with a higher stability risk than beta releases, which are feature-complete and receive only stabilizing updates. With both alphas and betas, you have an opportunity to influence our development process by using the new features and providing feedback via forums and bug reports.

Because there may be feature-stability issues with these early releases, we do not recommend them for projects in production; we highly recommend that you back up any project before you open it with an alpha or beta release.

Both our alpha and beta releases are open to everyone – no signup is required. Get started by downloading them from the Unity Hub.

Ray tracing techniques have long been used in film, television, and visualization for rendering photo-realistic images for a long time but required powerful computers and time to render each image or frame. For film and television, it can take many hours or even days to render out high-quality image sequences, but the final result can create real-life 3D content that can blend seamlessly with real-life ones. For architectural visualization companies, ray tracing has meant creating beautiful renders for the automotive industry or showing what a densely-filled house or office complex could look like when complete all while achieving realistic-looking results.

The power of Unreal Engine 4 (UE4) combined with Real-Time Ray Tracing (RTRT) makes it possible to create interactive experiences with subtle lighting effects comparable with many offline renderers in real time. Ray tracing effects look more natural, producing soft shadowing for lights, accurate ambient occlusion (AO), interactive global illumination, reflections and more.

Real-time rendering of Ray Tracing features in the Archviz Interior sample project available on the Epic Games Launcher.

Ray Tracing in Unreal Engine

Ray tracing in UE4 is composed of two techniques:

  • A hybrid Ray Tracer that couples ray tracing capabilities with our existing raster effects.

  • A Path Tracer for generating reference renders.

Ray Tracer

The Ray Tracer enables ray traced results for shadows, AO, reflections, translucency and global illumination all happening in real-time within your project. It uses a low number of samples coupled with a denoising algorithm that is perceptually close to the ground truth results of the Path Tracer.

Path Tracer

The Path Tracer is an unbiased, physically based path tracer that is good for rendering reference images of your scene. It works similarly to offline renderers by gathering samples over time and, in its current state, is useful for generating ground truth renders of your scene rather than final pixels.

For additional information, see the Path Tracer.

Enabling Ray Tracing in your Project

Follow these steps to enable ray tracing support in your project.

System Requirements

Yes.

  • Restart the engine to launch the Editor with DX12 and to enable Ray Tracing for your project.

  • Real-Time Ray Tracing Features

    Ray Traced Shadows

    Ray Traced Shadows simulate soft area lighting effects for objects in the environment. This means that based on the light's source size or source angle, an object's shadow will have sharper shadows near the contact surface than farther away where it softens and widens.

    Ray Traced Reflections

    Ray Traced Reflections (RTR) simulates accurate environment representation supporting multiple reflection bounces.

    This example shows a single bounce of ray traced reflections compared to multiple bounces of ray traced reflection. Using multiple bounces creates real-time inter-reflection between reflective surfaces in the scene.

    In contrast, Screen Space Reflections (SSR), Planar Reflections, or even Reflection Capture Actors cannot capture the entire scene dynamically nor does it have some of the limitations present in these other reflection methods.

    In this comparison, SSR is only capable of a single reflection bounce and is limited to what is visible on the screen for representation. On the other hand, RTR is capable of multiple bounces and is not limited to what is visible, meaning that we can visibly see the sides of the book, reflected floor behind the camera, and additional lightings being reflected on surfaces coming through the window.

    Ray Traced Translucency

    Ray Traced Translucency (RTT) accurately represents glass and liquid materials with physically correct reflections, absorption, and refraction on transparent surfaces.

    Ray Traced Ambient Occlusion

    Ray Traced Ambient Occlusion (RTAO) accurately shadows areas blocking ambient lighting better grounding objects in the environment, such as shadowing the corners and edges where walls meet or adding depth to the crevices and wrinkles in skin.

    When compared with Screen Space Ambient Occlusion (SSAO), RTAO grounds objects and adds depth to the scene to produce natural looking shadowing in indirectly lit areas.

    By varying the Intensity and Radius properties of the Ambient Occlusion effect, you can control its size and strength.

    Ray Traced Global Illumination

    Ray Traced Global Illumination (RTGI) adds real-time interactive bounce lighting to areas of your scene not directly lit by a given light source.

    Final Gather Method

    This is currently an experimental RTGI method.

    An alternative ray tracing based global illumination global illumination method using a final gather-based technique has been developed that seeks to give back some runtime performance. This technique is a two-pass algorithm. The first phase distributes shading points—similarly to the original RTGI method—but at a fixed rate of one sample per-pixel. A history of up to 16 shading point samples are stored in screen space during this phase. During the second phase, the algorithm attempts to reconnect to the shading point history, amortizing the cost of the method.

    The original RTGI algorithm intends to emulate the Path Tracer's ground truth reference and is similar in execution of the path tracing result. The new method trades that emulation for performance, which introduces some limitations; it's currently limited to a single bounce of indirect diffuse GI, and reprojection of the previous frame GI sample data is susceptible to ghosting.

    Enable the Final Gather method from the Ray Tracing Global Illumination section of a Post Process Volume using the Types dropdown selection.

    To aid in suppressing temporal ghosting artifacts, you can use the following command to modify the world space rejection criteria.

    It is currently based on a world distance measured from the original shading point. This rejection crieteria defaults to 10 units.

    The Final Gather method also requires the following settings to be used in the Post Process Volume for it to work effectively:

    • Max Bounces: 1

    • Samples Per Pixel: 16

    Any additional Max Bounces beyond 1 are silently discarded and when adjusting the Samples Per Pixel, it's best to increase it by powers of two (for example, 8, 16, 32, 64).

    Using Ray Tracing Features

    Post Process Volume

    Real Time Raytracing

    Use Post Process Volumes in your scene to control Ray Tracing and Path Tracing features and properties. Volumes can be added to different areas for interiors and exteriors to apply the features and settings you want.

    The following Ray Tracing features are controlled using Post Process Volumes:

    • Ambient Occlusion

    • Global Illumination

    • Reflections

    • Translucency

    Click image for full size.

    For additional information about the available post process settings, see Ray Tracing Settings.

    Lights

    Unity rtx github

    The Ray Tracer supports soft area shadows for all types of lights available in UE4.

    Control the softness of the shadow by adjusting the following:

    • On a Directional Light, set the Source Angle.

    • On Point and Spot Lights, set the Source Radius.

    • On a Rect Light, set the Barn Door Angle and Barn Door Length to shape the light and soften the shadow softness.

    Sky Lights

    On the Sky Light, use SLS Captured Scene or SLS Specified Cubemap with raytraced shadowing to capture the distance parts of the level and apply that to the scene as a light. Check the Cast Raytraced Shadow flag to enable sky lighting in your scene.

    For RTGI to work with the Sky Light, enable the experimental console variable r.RayTracing.GlobalIllumination.EvalSkylight.

    Ray Tracing Ambient Occlusion

    Performance and Debugging

    Stat GPU

    Check relevant Ray Tracing GPU performance by using the console command GPU Stats. You'll find relevant information about enabled Ray Tracing features and how much frame time is being spent to render them in the current view.

    Stat D3D12RayTracing

    Check relevant Ray Tracing resource usage using the console command Stat D3D12RayTracing.

    Ray Tracing Debug View Modes

    Under the Level Viewport, select the View Mode dropdown and select Ray Tracing Debug to select from the available debug view modes.

    Click image for full size.

    Evaluating Denoiser Quality

    Evaluate the quality of the Denoiser for different raytracing effects by doing the following:

    • Disable Temporal Anti-Aliasing and Depth of Field

      • Both of these are running in linear color space in Unreal Engine's renderer. They do some HDR color weighting tricks to avoid aliasing between shadows and highlights.

    • Compare the Denoised single sample per pixel with an Undenoised single sample per pixel.

      • The result will look incorrect due to the energy difference and that the denoiser is darkening the shadows too much. However, a single sample per pixel will look brighter due to the tonemapper's non-linear operation.

      • For a better comparison, the Denoised single sample per pixel should be tested against an Undenoised multiple samples per pixel.

    The denoised single sample per pixel will not be perfect due to information loss. However, when compared to undenoised multiple samples per pixel, the results are consistent.

    Also, keep in mind that the Denoiser supports up to four samples per pixel, which improves the quality and more closely matches the undenoised multiple samples per pixel result.

    Other Debugging Notes

    • Use the command r.raytracing.ForceAllRayTracingEffects to quickly enable and disable Ray Tracing in your scene. A value of 0 will disable all effect, 1 will enable all effects, and -1 will use the previous settings enabled for your project.

    Additional Notes

    Materials

    • Testing Material Costs

      • Complex Materials can affect performance of Ray Tracing features. Use the console command r.RayTracing.EnableMaterials to test performance impact.

    • Ray Tracing Quality Switch Replace Node

      • Use this node to replace entire parts of your Material logic to lower the cost of features like RTGI, RT Reflections, and RT Translucency with less complex logic. This is a global change that affects all ray tracing effects.

      • In this example, the Normal logic path renders as seen in the scene. The Ray Tracing path uses less complex logic for effects in Ray Tracing, such as RTGI and Reflections where textures, normals, and roughness can be come an expensive added cost.

    • Cast Ray Traced Shadows Per-Material

      • Use the Cast Ray Traced Shadows checkbox to set whether this Material casts ray traced shadows. This is useful for controlling specific elements of your Materials assigned to geometry that should or should not cast a raytraced shadow.

    Reflections

    • Ray Tracing Reflections can be expensive when rendering multiple bounces with reflections inside of reflections. Without multiple bounces, the intra-reflected material will appear black. Enable r.RayTracing.Reflections.ReflectionCaptures to use Reflection Capture Actors as the last bounce in Ray Traced Reflections.

    Dragging the slider shows a single bounce RTR, two bounces RTR with no reflection capture fallback, and a single bounce with reflection capture fallback.

    Including Translucent Objects in Reflections

    Enable objects with translucent materials to appear in Ray Traced Reflections by enabling Include Translucent Objects in the Post Process Volume's settings under Rendering Features > Ray Tracing Reflections.

    Translucency Index of Refraction (IOR)

    When setting up and using refraction for ray tracing, the Specular material input is used to control the index of refraction, or IOR, in your translucent materials. The ray tracing features of Unreal Engine follows the Disney BRDF model whereby specular and IOR values are coupled and cannot be defined independently.

    When defining the specular value in your Material and setting the refraction properties in your Post Process Volume, you're able to adequately control the IOR for your translucent materials.

    Unity Rtx Raytracing

    Material Setup:

    • Enable Two Sided in your Material.

      • While this is not a requirement, single sided/non-manifold geometry doesn't have a good way of handling volume tracking or ray medium stacking. A two-sided material provides accurate results and is the recommended method for handling all translucent materials when using ray tracing translucency.

    • Set the Lighting Mode to Surface Translucency Volume or Surface Forward Shading.

    • Use the Specular input to control the index of refraction.

      • Note that the Refraction input does not affect ray tracing translucent materials.

    Post Process Volume Rendering Features Setup:

    • Under the Translucency category, set the Type to Ray Tracing.

    • Under the Ray Tracing Translucency category, set the following:

      • Refraction: Enabled

      • Max Refraction Rays: Set the maximum number of rays to use. This should be a high enough value that it allows light to pass through to the other side.

    Use a Material Instance to drive the specular value to easily control the IOR.

    Controlling the amount of Refraction

    The amount of refraction and light transport that takes place is controlled by using the Specular input in your material and using Max Refraction Rays and Refraction properties of the Post Process Volume.

    The following translucent material is using a specular value of 0.04 and is using a max of six refraction rays to pass light through the material. The comparison below shows the difference that refraction makes when it's enabled and disabled for a translucent material.

    Different values applied to the Specular input affect the index of refraction for the translucent material.

    Dragging the slider shows the amount of refraction being applied from 0.01, 0.05, and 0.1.

    Different values for the Max Refraction Rays property of the Post Process Volume also affect light transport through the material. With a single ray, there are not enough to escape the material, leaving it appear dark. With an increase in the ray count, it's possible to see objects through refracted glass. However, depending on the number of rays used, some areas may still appear darkened. Additional rays can ensure that they escape the volume.

    Dragging the slider shows the result of using 1, 3, and 5 refraction rays.

    Single Sided Material Refraction

    While it is possible to have ray traced refraction using a single-sided material, the results are similar but not equal to that of a two-sided material that exhibits physically accurate results.

    Unity

    The Post Process Volume property Max Refraction Rays is available for use with both single-sided and two-sided materials to allow light transport through the volume. However, note that only a two-sided material provides proper results and is the recommended way of handling all translucent materials using ray tracing features.

    Light Transmission for Subsurface Profile Materials

    Light transmission on Subsurface Profile materials is possible when the light source has its Transmission property enabled.

    During the ray tracing shadow computation, a small scattering simulation is run to compute the expected volumetric scattering distance, through the medium, to the shadow-casting light. The scatter distance is used during lighting to compute the in-scattering contribution.

    Sky Lights

    Capturing distant objects, like a Sky Dome should be disabled for Sky Light contribution unless needed. This can save some performance and optmize your scene. For the BP_SkySphere provided with the UE4, this option is disabled by default and will make reflections from the sky look different than expected. You can control an ojects contribution by enabling/disabling the checkbox for Visible in Ray Tracing in its Details panel properties.

    Unity Rtx Forum

    Ray Tracing Features Optimization

    Unity Rtx

    • Setting Reflections and Translucency Maximum Roughness

      • Use Max Roughness to set a threshold for raytraced reflections on Materials. This can be done within the Post Process Volume or using the console command r.RayTracing.Reflections.MaxRoughness.

    • Setting a Maximum Ray Distance for Global Illumination, Reflections, and Translucency

      • This sets a maximum ray distance for each of these features to lower their cost and contribution in the scene.

      • Use the console to set the MaxRayDistance console variable for each of these raytraced features. You can find them under r.RayTracing.*.

    • RTGI Optimizations

      • Screen Percentage and Sample Per-Pixel now defaults to 50 and 4, respectively. If you need to set these to different values, by default, use their console commands to do so: r.RayTracing.GlobalIllumination.ScreenPercentage, and r.RayTracing.GlobalIllumination.SamplesPerPixel.

      • Light contribution to GI can be enabled/disabled with the Affect Global Illumination property on the light.

    Geometry Considerations with Ray Tracing

    • Geometry with small holes or lots of little details can impact performance, such as foliage and fences.

    • Indoor environments are slower to render than outdoors ones.

      • For example, when light enters from outside, areas that are directly lit is faster than points that are indirectly lit.

      • Also, you have to consider that more ray tracing features are being used, such as reflections and translucency

    Supported Ray Tracing Features

    This list is intended to give you an idea of what is currently supported and is not meant to be a comprehensive list of Ray Tracing feature support in Unreal Engine 4.23.

    Feature

    Supported (Y/N/Partially)

    Additional Notes

    Y

    N

    Y

    Y

    Y

    Y

    Y

    Partially

    N

    Y

    Y

    N

    N

    Y

    Y

    Y

    Y

    Y

    Y

    Partially

    Partially

    Y

    Partially

    Y

    Y

    Partially

    Partially

    Y

    Y

    Y

    Y

    Y

    Y

    Y

    Y

    Y

    N

    Y

    N

    Y

    Partially

    N

    Y