Changelog | Package Manager UI website
docs.unity3d.com

    Changelog

    All notable changes to this package will be documented in this file.

    The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

    [4.0.1-preview] - 2018-10-01

    Fixed

    • Fixed compiler warnings on new mono

    [4.0.0-preview] - 2018-09-28

    Added

    • When you have enabled Gizmos, they now appear correctly in the Game view.
    • Added requiresDepthPrepass field to RenderingData struct to tell if the runtime platform requires a depth prepass to generate a camera depth texture.
    • The RenderingData struct now holds a reference to CullResults.
    • When HDR is enabled in the Camera but disabled in the Asset, an information box in the Camera Inspector informs you about it.
    • When MSAA is enabled in the Camera but disabled in the Asset, an information box in the Camera Inspector informs you about it.
    • Enabled instancing on the terrain shader.
    • Sorting of opaque objects now respects camera opaqueSortMode setting.
    • Sorting of opaque objects disables front-to-back sorting flag, when camera settings allow that and the GPU has hidden surface removal.
    • LWRP now has a Custom Light Explorer that suits its feature set.
    • LWRP now supports Vertex Lit shaders for detail meshes on terrain.
    • LWRP now has three interactive Autodesk shaders: Autodesk Interactive, Autodesk Interactive Masked and Autodesk Interactive Transparent.
    • [Shader API] The GetMainLight and GetAdditionalLight functions can now compute shadow attenuation and store it in the new shadowAttenuation field in LightData struct.
    • [Shader API] Added a VertexPositionInputs struct that contains vertex position in difference spaces (world, view, hclip).
    • [Shader API] Added a GetVertexPositionInputs function to get an initialized VertexPositionInputs.
    • [Shader API] Added a GetPerObjectLightIndex function to return the per-object index given a for-loop index.
    • [Shader API] Added a GetShadowCoord function that takes a VertexPositionInputs as input.
    • [ShaderLibrary] Added VertexNormalInputs struct that contains data for per-pixel normal computation.
    • [ShaderLibrary] Added GetVertexNormalInputs function to return an initialized VertexNormalInputs.

    Changed

    • The RenderingData struct is now read-only.
    • ScriptableRendereralways performs a Clear before calling IRendererSetup::Setup.
    • ScriptableRenderPass::Execute no longer takes CullResults as input. Instead, use RenderingDataas input, since that references CullResults.
    • IRendererSetup_Setup no longer takes ScriptableRenderContext and CullResults as input.
    • Shader includes are now referenced via package relative paths instead of via the deprecated shader export path mechanism https://docs.unity3d.com/2018.3/Documentation/ScriptReference/ShaderIncludePathAttribute.html.
    • The LWRP Asset settings were re-organized to be more clear.
    • Vertex lighting now controls if additional lights should be shaded per-vertex or per-pixel.
    • Renamed all Local Lights nomenclature to Additional Lights.
    • Changed shader naming to conform to our SRP shader code convention.
    • [Shader API] Renamed SpotAttenuation function to AngleAttenuation.
    • [Shader API] Renamed _SHADOWS_ENABLED keyword to _MAIN_LIGHT_SHADOWS
    • [Shader API] Renamed _SHADOWS_CASCADE keyword to _MAIN_LIGHT_SHADOWS_CASCADE
    • [Shader API] Renamed _VERTEX_LIGHTS keyword to _ADDITIONAL_LIGHTS_VERTEX.
    • [Shader API] Renamed _LOCAL_SHADOWS_ENABLED to _ADDITIONAL_LIGHT_SHADOWS
    • [Shader API] Renamed GetLight function to GetAdditionalLight.
    • [Shader API] Renamed GetPixelLightCount function to GetAdditionalLightsCount.
    • [Shader API] Renamed attenuation to distanceAttenuation in LightData.
    • [Shader API] Renamed GetLocalLightShadowStrength function to GetAdditionalLightShadowStrength.
    • [Shader API] Renamed SampleScreenSpaceShadowMap functions to SampleScreenSpaceShadowmap.
    • [Shader API] Renamed MainLightRealtimeShadowAttenuation function to MainLightRealtimeShadow.
    • [Shader API] Renamed light constants from Directional and Local to MainLight and AdditionalLights.
    • [Shader API] Renamed GetLocalLightShadowSamplingData function to GetAdditionalLightShadowSamplingData.
    • [Shader API] Removed OUTPUT_NORMAL macro.
    • [Shader API] Removed lightIndex and substractiveAttenuation from LightData.
    • [Shader API] Removed ComputeShadowCoord function. GetShadowCoord is provided instead.
    • All LightweightPipeline references in API and classes are now named LightweightRenderPipeline.
    • Files no longer have the Lightweight prefix.
    • Renamed Physically Based shaders to Lit, ParticlesLit, and TerrainLit.
    • Renamed Simple Lighting shaders to SimpleLit, and ParticlesSimpleLit.
    • [ShaderLibrary] Renamed InputSurfacePBR.hlsl, InputSurfaceSimple.hlsl, and InputSurfaceUnlit to LitInput.hlsl, SimpleLitInput.hlsl, and UnlitInput.hlsl. These files were moved from the ShaderLibrary folder to theShaders.
    • [ShaderLibrary] Renamed LightweightPassLit.hlsl and LightweightPassLitSimple.hlsl to LitForwardPass.hlsl and SimpleLitForwardPass.hlsl. These files were moved from the ShaderLibrary folder to Shaders.
    • [ShaderLibrary] Renamed LightweightPassMetaPBR.hlsl, LightweightPassMetaSimple.hlsl and LighweightPassMetaUnlit to LitMetaPass.hlsl, SimpleLitMetaPass.hlsl and UnlitMetaPass.hlsl. These files were moved from the ShaderLibrary folder to Shaders.
    • [ShaderLibrary] Renamed LightweightPassShadow.hlsl to ShadowCasterPass.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed LightweightPassDepthOnly.hlsl to DepthOnlyPass.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed InputSurfaceTerrain.hlsl to TerrainLitInput.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed LightweightPassLitTerrain.hlsl to TerrainLitPases.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed ParticlesPBR.hlsl to ParticlesLitInput.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed InputSurfacePBR.hlsl to LitInput.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed InputSurfaceUnlit.hlsl to UnlitInput.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed InputBuiltin.hlsl to UnityInput.hlsl.
    • [ShaderLibrary] Renamed LightweightPassMetaCommon.hlsl to MetaInput.hlsl.
    • [ShaderLibrary] Renamed InputSurfaceCommon.hlsl to SurfaceInput.hlsl.
    • [ShaderLibrary] Removed LightInput struct and GetLightDirectionAndAttenuation. Use GetAdditionalLight function instead.
    • [ShaderLibrary] Removed ApplyFog and ApplyFogColor functions. Use MixFog and MixFogColor instead.
    • [ShaderLibrary] Removed TangentWorldToNormal function. Use TransformTangentToWorld instead.
    • [ShaderLibrary] Removed view direction normalization functions. View direction should always be normalized per pixel for accurate results.
    • [ShaderLibrary] Renamed FragmentNormalWS function to NormalizeNormalPerPixel.

    Fixed

    • If you have more than 16 lights in a scene, LWRP no longer causes random glitches while rendering lights.
    • The Unlit shader now samples Global Illumination correctly.
    • The Inspector window for the Unlit shader now displays correctly.
    • Reduced GC pressure by removing several per-frame memory allocations.
    • The tooltip for the the camera MSAA property now appears correctly.
    • Fixed multiple C# code analysis rule violations.
    • The fullscreen mesh is no longer recreated upon every call to ScriptableRenderer.fullscreenMesh.

    [3.3.0-preview]

    Added

    • Added callbacks to LWRP that can be attached to a camera (IBeforeCameraRender, IAfterDepthPrePass, IAfterOpaquePass, IAfterOpaquePostProcess, IAfterSkyboxPass, IAfterTransparentPass, IAfterRender)

    Changed

    • Clean up LWRP creation of render textures. If we are not going straight to screen ensure that we create both depth and color targets.
    • UNITY_DECLARE_FRAMEBUFFER_INPUT and UNITY_READ_FRAMEBUFFER_INPUT macros were added. They are necessary for reading transient attachments.
    • UNITY_MATRIX_I_VP is now defined.
    • Renamed LightweightForwardRenderer to ScriptableRenderer.
    • Moved all light constants to _LightBuffer CBUFFER. Now _PerCamera CBUFFER contains all other per camera constants.
    • Change real-time attenuation to inverse square.
    • Change attenuation for baked GI to inverse square, to match real-time attenuation.
    • Small optimization in light attenuation shader code.

    Fixed

    • Lightweight Unlit shader UI doesn't throw an error about missing receive shadow property anymore.

    [3.2.0-preview]

    Changed

    • Receive Shadows property is now exposed in the material instead of in the renderer.
    • The UI for Lightweight asset has been updated with new categories. A more clean structure and foldouts has been added to keep things organized.

    Fixed

    • Shadow casters are now properly culled per cascade. (case 1059142)
    • Rendering no longer breaks when Android platform is selected in Build Settings. (case 1058812)
    • Scriptable passes no longer have missing material references. Now they access cached materials in the renderer.(case 1061353)
    • When you change a Shadow Cascade option in the Pipeline Asset, this no longer warns you that you've exceeded the array size for the _WorldToShadow property.
    • Terrain shader optimizations.

    [3.1.0-preview]

    Fixed

    • Fixed assert errors caused by multi spot lights
    • Fixed LWRP-DirectionalShadowConstantBuffer params setting

    [3.0.0-preview]

    Added

    • Added camera additional data component to control shadows, depth and color texture.
    • pipeline now uses XRSEttings.eyeTextureResolutionScale as renderScale when in XR.
    • New pass architecture. Allows for custom passes to be written and then used on a per camera basis in LWRP

    Changed

    • Shadow rendering has been optimized for the Mali Utgard architecture by removing indexing and avoiding divisions for orthographic projections. This reduces the frame time by 25% on the Overdraw benchmark.
    • Removed 7x7 tent filtering when using cascades.
    • Screenspace shadow resolve is now only done when rendering shadow cascades.
    • Updated the UI for the Lighweight pipeline asset.
    • Update assembly definitions to output assemblies that match Unity naming convention (Unity.*).

    Fixed

    • Post-processing now works with VR on PC.
    • PS4 compiler error
    • Fixed VR multiview rendering by forcing MSAA to be off. There's a current issue in engine that breaks MSAA and Texture2DArray.
    • Fixed UnityPerDraw CB layout
    • GLCore compute buffer compiler error
    • Occlusion strength not being applied on LW standard shaders
    • CopyDepth pass is being called even when a depth from prepass is available
    • GLES2 shader compiler error in IntegrationTests
    • Can't set RenderScale and ShadowDistance by script
    • VR Single Pass Instancing shadows
    • Fixed compilation errors on Nintendo Switch (limited XRSetting support).

    [2.0.0-preview]

    Added

    • Explicit render target load/store actions were added to improve tile utilization
    • Camera opaque color can be requested on the pipeline asset. It can be accessed in the shader by defining a _CameraOpaqueTexture. This can be used as an alternative to GrabPass.
    • Dynamic Batching can be enabled in the pipeline asset
    • Pipeline now strips unused or invalid variants and passes based on selected pipeline capabilities in the asset. This reduces build and memory consuption on target.
    • Shader stripping settings were added to pipeline asset

    Changed

    Pipeline

    • Pipeline code is now more modular and extensible. A ForwardRenderer class is initialized by the pipeline with RenderingData and it's responsible for enqueueing and executing passes. In the future pluggable renderers will be supported.
    • On mobile 1 directional light + up to 4 local lights (point or spot) are computed
    • On other platforms 1 directional light + up to 8 local lights are computed
    • Multiple shadow casting lights are supported. Currently only 1 directional + 4 spots light shadows. #### Shading Framework
    • Directional Lights are always considered a main light in shader. They have a fast shading path with no branching and no indexing.
    • GetMainLight() is provided in shader to initialize Light struct with main light shading data.
    • Directional lights have a dedicated shadowmap for performance reasons. Shadow coord always comes from interpolator.
    • MainLigthRealtimeShadowAttenuation(float4 shadowCoord) is provided to compute main light realtime shadows.
    • Spot and Point lights are always shaded in the light loop. Branching on uniform and indexing happens when shading them.
    • GetLight(half index, float3 positionWS) is provided in shader to initialize Light struct for spot and point lights.
    • Spot light shadows are baked into a single shadow atlas.
    • Shadow coord for spot lights is always computed on fragment.
    • Use LocalLightShadowAttenuation(int lightIndex, float3 positionWS) to comppute realtime shadows for spot lights.

    Fixed

    • Issue that was causing VR on Android to render black
    • Camera viewport issues
    • UWP build issues
    • Prevent nested camera rendering in the pipeline

    [1.1.4-preview]

    Added

    • Terrain and grass shaders ported
    • Updated materials and shader default albedo and specular color to midgrey.
    • Exposed _ScaledScreenParams to shader. It works the same as _ScreenParams but takes pipeline RenderScale into consideration
    • Performance Improvements in mobile

    Fixed

    • SRP Shader library issue that was causing all constants to be highp in mobile
    • shader error that prevented LWRP to build to UWP
    • shader compilation errors in Linux due to case sensitive includes
    • Rendering Texture flipping issue
    • Standard Particles shader cutout and blending modes
    • crash caused by using projectors
    • issue that was causing Shadow Strength to not be computed on mobile
    • Material Upgrader issue that caused editor to SoftLocks
    • GI in Unlit shader
    • Null reference in the Unlit material shader GUI

    [1.1.2-preview]

    Changed

    • Performance improvements in mobile

    Fixed

    • Shadows on GLES 2.0
    • CPU performance regression in shadow rendering
    • Alpha clip shadow issues
    • Unmatched command buffer error message
    • Null reference exception caused by missing resource in LWRP
    • Issue that was causing Camera clear flags was being ignored in mobile

    [1.1.1-preview]

    Added

    • Added Cascade Split selection UI
    • Added SHADER_HINT_NICE_QUALITY. If user defines this to 1 in the shader Lightweight pipeline will favor quality even on mobile platforms.

    Changed

    • Shadowmap uses 16bit format instead of 32bit.
    • Small shader performance improvements

    Fixed

    • Subtractive Mode
    • Shadow Distance does not accept negative values anymore

    [0.1.24]

    Added

    • Added Light abstraction layer on lightweight shader library.
    • Added HDR global setting on pipeline asset.
    • Added Soft Particles settings on pipeline asset.
    • Ported particles shaders to SRP library

    Changed

    • HDR RT now uses what format is configured in Tier settings.
    • Refactored lightweight standard shaders and shader library to improve ease of use.
    • Optimized tile LOAD op on mobile.
    • Reduced GC pressure
    • Reduced shader variant count by ~56% by improving fog and lightmap keywords
    • Converted LW shader library files to use real/half when necessary.

    Fixed

    • Realtime shadows on OpenGL
    • Shader compiler errors in GLES 2.0
    • Issue sorting issues when BeforeTransparent custom fx was enabled.
    • VR single pass rendering.
    • Viewport rendering issues when rendering to backbuffer.
    • Viewport rendering issues when rendering to with MSAA turned off.
    • Multi-camera rendering.

    [0.1.23]

    Added

    • UI Improvements (Rendering features not supported by LW are hidden)

    Changed

    • Shaders were ported to the new SRP shader library.
    • Constant Buffer refactor to use new Batcher
    • Shadow filtering and bias improved.
    • Pipeline now updates color constants in gamma when in Gamma colorspace.
    • Optimized ALU and CB usage on Shadows.
    • Reduced shader variant count by ~33% by improving shadow and light classification keywords
    • Default resources were removed from the pipeline asset.

    Fixed

    • Fixed shader include path when using SRP from package manager.
    • Fixed spot light attenuation to match Unity Built-in pipeline.
    • Fixed depth pre-pass clearing issue.

    [0.1.12]

    Added

    • Standard Unlit shader now has an option to sample GI.
    • Added Material Upgrader for stock Unity Mobile and Legacy Shaders.
    • UI improvements

    Changed

    • Realtime shadow filtering was improved.

    Fixed

    • Fixed an issue that was including unreferenced shaders in the build.
    • Fixed a null reference caused by Particle System component lights.

    [0.1.11]

    Initial Release.

    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023