Search Unity

  1. Get all the Unite Berlin 2018 news on the blog.
    Dismiss Notice
  2. Unity 2018.2 has arrived! Read about it here.
    Dismiss Notice
  3. We're looking for your feedback on the platforms you use and how you use them. Let us know!
    Dismiss Notice
  4. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  5. Improve your Unity skills with a certified instructor in a private, interactive classroom. Learn more.
    Dismiss Notice
  6. ARCore is out of developer preview! Read about it here.
    Dismiss Notice
  7. Magic Leap’s Lumin SDK Technical Preview for Unity lets you get started creating content for Magic Leap One™. Find more information on our blog!
    Dismiss Notice
  8. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Feedback Wanted: Lightweight Render Pipeline

Discussion in 'Graphics Experimental Previews' started by Tim-C, Feb 19, 2018.

  1. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,043
    Lightweight Pipeline
    The Lightweight Pipeline is a Scriptable Render Pipeline available with Unity 2018.1. The LT pipe performs a single-pass forward rendering with light culling per-object with the advantage that all lights are shaded in a single pass. Compared to the vanilla unity forward rendering, which performs and additional pass per pixel light, using the LT pipeline will result in less draw calls at the expense of slightly extra shader complexity.

    The pipeline supports at most 8 lights per-object and only supports a subset of vanilla Unity rendering features. A feature comparison table of Lightweight Pipeline vs stock Unity pipeline can be found here.

    Lightweight Sample Project
    We are providing a Lightweight Pipeline Template via Unity Hub. The project is already setup to render properly Lightweight Pipeline so you can easily experiment developing with the Lightweight Pipeline workflow.



    Nightmares modified scene rendering with Lightweight Pipeline

    How to use Lightweight Pipeline
    The Lightweight Pipeline does not work with the Unity stock lit shaders. We have developed a new set of Standard shaders that are located under Lightweight Pipeline group in the material’s shader selection dropdown.



    Lightweight Pipeline shaders

    Standard (Physically Based): Single shader with both Metallic and Specular workflows. Light model similar and upgradable from stock Unity standard shaders. BRDF: Lambertian Diffuse + Simplified Cook Torrance (GGX, Simplified KSK and Schlick) Specular

    Standard (Simple Lighting): Replaces the legacy mobile/lit shaders. It performs a non-energy conserving Blinn-Phong shading. Should be used for games that target devices with very limited bandwidth and that therefore cannot use Physically Based Shading.

    Standard Terrain: Same as Unity’s stock terrain shader. (WIP)

    Standard Unlit: Unlit shader with the option to sample GI. This replaces Unity’s stock unlit shaders.

    Particles: Standard and Standard Unlit particles for lightweight pipeline. Same as Unity’s stock standard particles shaders with the exception of Distortion effect. (WIP)

    Additionally, all Unity’s unlit stock shaders work with Lightweight Pipeline. That means you can use legacy particles, UI, skybox, and sprite shaders with the pipeline with no additional setup.

    When the Lightweight Pipeline is set as the active rendering pipeline all game objects will be created with the correct shaders. This is achieved because the pipeline overrides the default materials in the engine.

    The Lightweight Pipeline also provide material upgraders to upgrade Unity’s stock lit shaders to Lightweight ones. In order to upgrade materials go to Edit -> Render Pipeline -> Upgrade -> Lightweight. Check Upgradable Shaders section below to see what unity stock shaders can be upgraded to Lightweight.

    1. Upgrade Project Materials: upgrades all materials in the Asset folder to Lightweight materials.

    2. Upgrade Selected Materials upgrade all currently selected materials to Lightweight materials.

    Material Upgraders

    Lightweight Pipeline Asset
    The pipeline asset controls the global rendering quality settings and is responsible for creating the pipeline instance. The pipeline instance contains intermediate resources and the render loop implementation.




    Lightweight Pipeline Asset


    Rendering

    Render Scale
    Scales the camera render target allowing the game to render at a resolution different than native resolution. UI is always rendered at native resolution. When in VR mode, VR scaling configuration is used instead.

    Pixel Lights
    Controls the amount of pixel lights that run in fragment light loop. Lights are sorted and culled per-object.

    Enable Vertex Lighting
    If enabled shades additional lights exceeding the maximum number of pixel lights per-vertex up to the maximum of 8 lights.

    Camera Depth Texture
    If enabled the pipeline will generate camera's depth that can be bound in shaders as _CameraDepthTexture. This is necessary for some effect like Soft Particles.

    Anti Aliasing (MSAA)
    Controls the global anti aliasing settings.

    Shadows

    Shadow Type
    Global shadow settings. Options are NO_SHADOW, HARD_SHADOWS and SOFT_SHADOWS.

    Shadowmap Resolution
    Resolution of shadow map texture. If cascades are enabled, cascades will be packed into an atlas and this setting controls the max shadows atlas resolution.

    Shadow Near Plane Offset
    Offset shadow near plane to account for large triangles being distorted by pancaking.

    Shadow Distance
    Max shadow rendering distance.

    Shadow Cascades
    Number of cascades in directional light shadows.


    In order to create a pipeline asset click on Asset -> Create -> Render Pipeline -> Lightweight -> Pipeline Asset




    You can create multiple pipeline assets containing different quality levels. Assets can be set by either manually selecting a pipeline asset in Graphics Settings or by setting the GraphicsSettings.renderPipelineAsset property.


    Q&A


    What is scriptable render pipeline (SRP)?
    SRP allow developers to write how Unity renders a frame in C#. We will release two builtin render pipelines with Unity: Lightweight Pipeline and HD Pipeline. This allows us to develop each pipeline focused on a set of target platforms, speeding up the development type. By exposing the rendering pipelines to C# we also make Unity less of a black box as one can see what is explicitly happening in the rendering. Developers can use the builtin pipelines we are providing, develop their own pipeline from scratch or even modify the ones we provide to adapt to their game specific requirements.

    How does Lightweight Pipeline compare to Unity builtin pipelines?

    Here’s a feature comparison table

    Who should use Lightweight Pipeline?

    Developers targeting a broad range of mobile platforms, VR and that develop games with limited realtime light capabilities.


    What's the development status of Lightweight Pipeline?


    We are undergoing QA and optimization.

    Where’s the Lightweight Pipeline source? How can I modify it or create my own pipeline?

    Lightweight Pipeline resources are embedded in a package that gets downloaded by the Unity Package Manager. The package contents lie inside an internal Unity cache and they are not visible in the project folder. If you want to have access to Lightweight Pipeline source take a look at the Scriptable Rende Pipeline github page. We are working on the API and shader documentation at the moment.


    I found an issue. How should I report it?

    You can report any issues found in our github page.
     
  2. Malmer

    Malmer

    Joined:
    Nov 10, 2013
    Posts:
    17
    Been looking into the LWRP now, and if I'm not mistaken, the thing that strikes me as problematic is that if I want to make a smaller change/addition I more or less need to copy the whole thing in order to retain the featureset. This is fine once, but it will in the end mean quite a lot of work trying to maintain it and keep it up to date with the official changes.

    I would prefer the LWRP to be a bit less object oriented, and more library-like. So that methods like for instance SetupShadowReceiverConstants are not private methods of the pipeline class, but rather public utility functions of a support class. That way one can keep a pretty small custom core pipeline class, and reuse most of the LWRP functionallity except for the things you want to specifically change.

    At least the methods and fields should be protected rather than private so that I can inherit the LWRP and call the functions from a subclass. Allthough in my view this is not as good as a utility library part of the same package.
     
    Jes28, Le_Tai, Desoxi and 1 other person like this.
  3. Huknar

    Huknar

    Joined:
    Mar 6, 2015
    Posts:
    38
    The thing that concerns me the most with the ScriptableRenderPipelines is that to change and modify them, that still seems to require a pretty indepth amount of graphical programming knowledge.

    There doesn't seem to be a suitable mid-range between the HDRP and the LWRP, meaning a very black and white choice for people unable to modify them.
     
  4. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    22,530
    But that's just the nature of things. Some things will always require a little more specialisation. You can't expect every racing driver to also be a top quality mechanic, at least not until AI is good enough to fill in the blanks.

    Seems to me that I could achieve most of builtin Unity with LW give or take a few quality tweaks. I would like to for instance add tessellation so I'll be looking into that.
     
    marserMD, NateReese77, Jes28 and 2 others like this.
  5. Huknar

    Huknar

    Joined:
    Mar 6, 2015
    Posts:
    38
    The problem is the current renderer is just way more dynamic. Thus moving to the scriptable render pipelines is a loss of function and ability for the engine.

    Yes, we get some performance and graphic improvements (in theory), but for a lot of indie developers, these pipelines are just going to block them in more than the original rendering engine does.
     
    soleron and dmennenoh like this.
  6. Malmer

    Malmer

    Joined:
    Nov 10, 2013
    Posts:
    17
    I have no problem with it requiring deep graphics programming skills. But the current architecture seems too rigid in my opinion, making it time-consuming to maintain smaller customizations over time, while still staying up to date with Unity's improvements.
     
    LouisHong and Le_Tai like this.
  7. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    22,530
    But making SRP exactly like the existing builtin engine will cause the same problems. What SRP asks you to do is make a decision, and then use shader graph to continue.

    That you're posting on lightweight means you want performance. But at the same time you want all the old features. That does not make sense. The reason LW is faster is because it does not do what the existing engine does. It does a lot less, and what it does do, it does differently. It is not necessarily faster either.

    That's my findings so far though, I'm sure you might find things different from your game's perspective. Tried the shader graph?
     
    Llockham-Industries likes this.
  8. Hafazeh

    Hafazeh

    Joined:
    Mar 26, 2017
    Posts:
    15

    but won't the old basic setup be available as a choice as well? (i thought i read that somewhere). And I'm sure the asset store will be brimming with other "User created Pipelines" ... in the near future.
     
  9. Tenebris_Lab

    Tenebris_Lab

    Joined:
    May 23, 2017
    Posts:
    31
    This sounds much like Valve's implementation for Single Pass with shadows? Very excited for the render pipeline and what magicians are going to do with Unity.
     
    Llockham-Industries likes this.
  10. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    284
    I just tried to get my Editor Extension running with SRP and apparently the camera events OnPreCull, OnPreRender and OnPostRender are not triggered. The manual seems to provide no information if these events have been deprecated.

    @Tim-C: Shall I report this as a bug or is there a new way to subscribe to these events?

    Edit: Reported as Case 1004625.
     
    Last edited: Feb 21, 2018
  11. Kiori

    Kiori

    Joined:
    Jun 25, 2014
    Posts:
    154
    So basically artists of a 2d game can author content in 1x and scale down, as expected, on each screen, at runtime(because the renderer is accessible at runtime), while having a guarantee that the UI will stay crisp?
     
  12. Malmer

    Malmer

    Joined:
    Nov 10, 2013
    Posts:
    17
    [Potential bug]: Seems as if the Environment Lighting settings in the Lithting Window does nothing. And whenever I hit play they are reset to the default settings of skybox + intensity 1.
     
  13. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Technologies

    Joined:
    May 5, 2014
    Posts:
    948
    I have seen a mention that this is fixed in 2018.1b9. :)
     
  14. FreeGameDev

    FreeGameDev

    Joined:
    Dec 1, 2015
    Posts:
    65
    Is there some info on how to setup the lightweight render pipeline in a new project? In a new project I have tried to right click to create the lightweightrender asset, but there is no option there. I have also tried dragging and dropping the asset from the lightweightandshadergraph project into a new project and it does not seam to recognize it. What am I missing?

    Thanks
     
  15. Malmer

    Malmer

    Joined:
    Nov 10, 2013
    Posts:
    17
    Open up the package manager (Window menu) and make sure the LWRP package is added to your project. Or you can clone the repo from github into your project. If you want to edit the code that is.
     
    FreeGameDev likes this.
  16. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Technologies

    Joined:
    May 5, 2014
    Posts:
    948
    These steps are based off of 2018.1b8 and are really easy to follow:

    1) Open the Package Manager (Window -> Package Manager)
    2) Select 'All' and then select 'Render-pipelines.lightweight' and then 'Install'.
    3) Once the installation as (successfully) finished, go to the Project Window and 'Create -> Rendering -> Lightweight Pipeline Asset'.
    4) Open the Graphics Settings Window and set the newly-made Lightweight asset as the Scriptable Render Pipeline Asset.
    5) Done! :) However, some of your materials might render in error-magenta and you might want to update these to use shaders that are compatible with the Lightweight Render Pipeline. You can do this manually (By selecting the desired Lightweight Shader in a Material's Inspector's Shader Menu; a set are included in the LW package when it is installed) or by using the Upgrade Material Tool (Edit -> Render Pipeline -> Upgrade Materials to Lightweight Materials).
     
  17. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    284
    @Andy-Touch: Do you have any information regarding the problem mentioned in my previous post?
     
  18. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Technologies

    Joined:
    May 5, 2014
    Posts:
    948
    Nope; probably better for someone more knowledgable (like @Tim-C) to respond. :D
     
  19. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,043
    I'm writing a response to this today. It's a long one so taking time.
     
  20. Noob_Vulcan

    Noob_Vulcan

    Joined:
    Mar 20, 2014
    Posts:
    6
    Hi,

    I just installed Unity 2018.1.0b9 and made a new project with LightWeight Pipeline (Both VR n normal ) ... but the moment the unity opens it gives an error

    Shader error in 'LightweightPipeline/Standard (Physically Based)': failed to open source file: 'LWRP/ShaderLibrary/LightweightPassLit.hlsl' (on metal)

    Compiling Vertex program
    Platform defines: UNITY_NO_DXT5nm UNITY_ENABLE_REFLECTION_BUFFERS UNITY_NO_CUBEMAP_ARRAY UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_DLDR_ENCODING


    I cant see any object in the scene and the Lightweight shaders are in the section of FAILED TO COMPILE .... Please tell me how to solve this problem.

    I tried switching the platform to Android and Standalone but all the same
     
  21. CaptainScience

    CaptainScience

    Joined:
    Jul 8, 2013
    Posts:
    16
    I was attempting to build the Lightweight Render Pipeline for Google Daydream, but I am running into a shader compiler error. Specifically:

    Code (csharp):
    1.  
    2. Shader error in 'graphs/PBRMetallicShaderGraphExample': Did not find shader kernel 'ShadowPassFragment' to compile (on gles3)
    3.  
    Is gles3 not supported yet, or is there a way to get it to work? Will using the LWRP be viable on Daydream/GearVR any time soon? I am very interested in the extra flexibility of the LWRP for mobile VR because it requires careful balancing of quality/performance, and I've been running into a few issues that are a headache to work around with the built-in renderer (like how it turns off vertex lights when lighting is baked).
     
  22. bgolus

    bgolus

    Joined:
    Dec 7, 2012
    Posts:
    4,682
    It looks like recent updates to the LWRP have moved from doing the directional shadow sampling in the shader to doing a pre-pass similar to the built in Unity forward renderer. While there are obviously performance benefits to this, (as is why Unity did it to begin with) it's terrible for VR as it fights against MSAA. It's been a long time problem with Unity for quality VR. I know several devs have chosen to reimplement lights and shadows themselves, or use some kind of nearest depth fixup hack like I posted here (and used variants of in two shipping PSVR titles):
    https://forum.unity.com/threads/fixing-screen-space-directional-shadows-and-anti-aliasing.379902/

    Though, it kind of doesn't matter since MSAA hasn't worked in the LW pipeline for months ...
     
  23. FreeGameDev

    FreeGameDev

    Joined:
    Dec 1, 2015
    Posts:
    65
    Thanks guys, that is exactly what I was looking for.
     
  24. Cybexx

    Cybexx

    Joined:
    Dec 4, 2008
    Posts:
    23
    VR realtime shadows seem broken right now with 1.0.0-beta. It renders fine in editor view but in headset it seems like the worldspace is broken. Reproduced in 2018.1.0b8 and 2018.1.0b9. Blank project with LWRP package imported.
    LWRP_Shadows_HMD.gif LWRP_Shadows_Editor.JPG
     
  25. bgolus

    bgolus

    Joined:
    Dec 7, 2012
    Posts:
    4,682
    That's the new screen space shadows being broken in single pass.
     
    Harinezumi likes this.
  26. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,043
    Cybexx likes this.
  27. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,043
    Agree 100%. We will be bringing back the non screen space shadows for 18.2 after some additional core unity work lands. The issue was that we had too many shader combinations due to supporting so many shadow modes, this made the shader cache on ios for example be like 600mb! crazybig. What we have now was a compromise to ship v1. We are adding better stripping api's for 18.2 so we can have all the options and not blow out the shader cache :)
     
    eobet and bgolus like this.
  28. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,043
    Seems like you have the latest lightweight, but not not the latest shader graph. Did you upgrade using package manager? if so the dependencies were modified. Please remove shader graph from package manger. It should be pulled in via lightweight now.
     
  29. Falagard

    Falagard

    Joined:
    Jan 8, 2014
    Posts:
    36
    Has anyone else tried subtractive mixed mode lighting with the LWRP mixing baked and realtime shadows?

    If I have lightmap static enabled on a renderer it won't receive realtime shadows.

    Pretty easy to reproduce:

    Set your lighting settings to Mixed Lighting - Baked - Subtractive.
    Set your directional light to mixed mode.
    Create a plane, set it to lightmap static, assign a material with LW standard shader.
    Create a cube, set it to lightmap static, place it so it casts a shadow onto the plane, assign a material with LW standard shader.
    Create a sphere, place it so it casts a shadow onto the plane, assign LW material.

    The sphere won't cast a shadow onto the plane. If you turn off lightmap static on the plane, the sphere casts a shadow appropriately.
     
  30. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Technologies

    Joined:
    May 5, 2014
    Posts:
    948
    According to the comparison chart (https://blogs.unity3d.com/2018/02/2...er-pipeline-optimizing-real-time-performance/) Subtractive Mixed Mode is not supported on LWRP.
     
  31. Falagard

    Falagard

    Joined:
    Jan 8, 2014
    Posts:
    36
  32. CaptainScience

    CaptainScience

    Joined:
    Jul 8, 2013
    Posts:
    16
    Yes, I did upgraded it through the package manager starting from the Lightweight template. I had better luck starting from a blank 3D project, adding the lightweight pipeline through the package manager, and then creating and assigning a pipeline asset in the graphics tab.

    I was able to successfully get Google's "HelloVR" scene to build for both my Daydream devices, but all I get on device is a dark blue-ish color and a constant stream of this error:

    Code (csharp):
    1.  
    2. OPENGL NATIVE PLUG-IN ERROR: GL_INVALID_OPERATION: Operation illegal in current state
    3. (Filename: /Users/builduser/buildslave/unity/build/Runtime/GfxDevice/opengles/GfxDeviceGLES.cpp Line: 336)
    4.  
    Standard Unity Unlit materials seem to render normally if I assign them, but anything with a lightweight pipeline material is invisible on device.

    I don't get that error with multi-pass VR, but I get a black screen and a message saying that scriptable render pipelines requires single-pass stereo.

    I have been playing with some of the other settings but haven't found anything that made a difference. I am open to suggestions, otherwise I will keep trying it as newer versions of the pipeline are released and see if I can get it going.
     
  33. SkyClimbersVR

    SkyClimbersVR

    Joined:
    Jun 27, 2017
    Posts:
    19
    I am having the same exact issue when trying to create a new project using the LightWeight VR Pipeline Template in 2018.1.0b9
     
  34. Falagard

    Falagard

    Joined:
    Jan 8, 2014
    Posts:
    36
    Open the package manager window and upgrade the Lightweight Render Pipeline and the shader graph to the latest version.
     
  35. Falagard

    Falagard

    Joined:
    Jan 8, 2014
    Posts:
    36
    To be clear, the comparison chart is wrong. The shaders for the LWRP clearly show that the only mixed mode lighting that it supports is subtractive, and on my local machine this doesn't appear to be working.

    https://github.com/Unity-Technologi...ightPipeline/LWRP/ShaderLibrary/Lighting.hlsl

    Look at LightweightFragmentPBR, which is the LW standard fragment entry point, which in turn calls MixRealtimeAndBakedGI which uses _MIXED_LIGHTING_SUBTRACTIVE
     
  36. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,043
    Yeah we support mixed mode subtractive. We'll take a look into the issue next week :)
     
  37. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,043
    We have a lot of VR modifications coming to LW. We have the updated package going into QA on Monday. If you want to try it you can change your manifest to be:

    Code (csharp):
    1.  
    2. {
    3.     "registry": "https://staging-packages.unity.com",
    4.     "dependencies": {
    5.         "com.unity.render-pipelines.lightweight" : "1.1.0-beta",
    6.     }
    7. }
    8.  
    Side note: This isn't public yet because it's have literally 0 QA and may have serious issues. We'll be testing this for promotion next week.
     
  38. Falagard

    Falagard

    Joined:
    Jan 8, 2014
    Posts:
    36
    Thanks!
     
  39. SkyClimbersVR

    SkyClimbersVR

    Joined:
    Jun 27, 2017
    Posts:
    19
    Thanks for making this available to me, I will try it out.

    This fixed the issue, many thanks.
     
  40. buFFalo94

    buFFalo94

    Joined:
    Sep 14, 2015
    Posts:
    149
    is shadowmask will be supported in 2018.1?
     
  41. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,043
    Shadowmask in LW is scheduled for after 18.2.
     
    Last edited: Mar 5, 2018
    buFFalo94 likes this.
  42. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,111
    LW 101-beta 2018.1.0 beta 9
    It seems lightbounce from lightmap not working.
    Skybox environment light are working fine, but lightbounce from direct light doesn't work.
    Happened in PGLM and Enlighten, lightmap mode subtractive.
    is this known issues?
    upload_2018-3-5_18-10-18.png
     
  43. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,111
    Okay found a workaround for my issues, For some reason in need to increase the Indirect Intensity and Albedo Boost to 2 or more to make the lightbounce working again
    upload_2018-3-5_18-28-22.png
    Also need to increase the indirect multiplier on light settings, Hmm. . . .
     
    Last edited: Mar 5, 2018
  44. phil_lira

    phil_lira

    Unity Technologies

    Joined:
    Dec 17, 2014
    Posts:
    133
    @Falagard The mixed light mode not working is a regression. We just fixed it and it will be available soon.
    @Reanimate_L The bounce issue is fixed as well. Should be available soon.
     
    Reanimate_L likes this.
  45. KYL3R

    KYL3R

    Joined:
    Nov 16, 2012
    Posts:
    28
    My feedback on Lightweight Pipeline, tested on Android (LG G4, Android 6.0)

    1. The UI won't show, not supported yet?
    2.1 I got 40-50 fps using my 5-second camera-movement benchmark. (flying over some trees and units)
    Screenshot_2018-03-05-14-04-17.png

    2.2 The same "benchmark" is currently giving me ~20 fps on standard-pipeline (forward rendering, 1 directional light)
    I really have to optimize my scripts and drawcalls in general. I wanted to note this, because the average performance gain is quite high, in my opinion.
    Screenshot_2018-03-05-14-06-50.png

    3.1 Transparency doesn't work yet? Not sure because my shader had vertex-movement (wind effect) and didn't convert. I used default lightweight shader instead. As you can see the leaves won't render transparent and the shadows are affected too. This needs to be noted when you compare performance. (of course this is faster)

    Screenshot_2018-03-05-14-05-48.png

    3.2 My Trees usually look like this:
    Screenshot_2018-03-05-14-07-07.png



    4.1 This tree looked especially buggy. It shows/hides depending on zoom (seems to be dependend from the shadow distance) and flickers when zoomed out.

    Screenshot_2018-03-05-14-07-21.png



    Overall I'm excited to see results from others. I might give the Visual Shader Graph a chance, afaik it's supported for Lightweight. I'd be happy to see the existing issues resolved because even considering the missing transparency, the performance looks promising.
     
  46. buFFalo94

    buFFalo94

    Joined:
    Sep 14, 2015
    Posts:
    149
    That's interesting but IMHO the test is not 100% accurate because too many things doesn't even work like transparency, UI....
     
  47. Falagard

    Falagard

    Joined:
    Jan 8, 2014
    Posts:
    36
    Thanks, saw the fix in the bug fix branch.
     
  48. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,043
    Should be supported we have tests for this.

    Nice. Would like to get it all rendering before confirming the gain, but this looks positive.

    You'll need to also enable transparency on the material used by the shader.


    Would you be able to log a bug with the project attached. These issues looks pretty easy to fix, but also pretty important for us to fix. Normal Unity bug report should be fine, scene before running the upgrader preferred.
     
    Harinezumi likes this.
  49. Cybexx

    Cybexx

    Joined:
    Dec 4, 2008
    Posts:
    23
    Seems like 1.1.0-beta requires a version of Unity newer than the publically available 2018.1.0b9?
    Code (csharp):
    1. `UnityEngine.Experimental.Rendering.RenderPipeline' does not contain a definition for `BeginCameraRendering'
     
    russ_avegant likes this.
  50. KYL3R

    KYL3R

    Joined:
    Nov 16, 2012
    Posts:
    28
    Thanks a lot for your Feedback on my Feedback.


    1. Do you mean I submit a bug report with that buggy tree?
    I'd strip the project down a bit.
    2. "Before running the upgrader" So can I just upload the 2017.3 project?

    Edit: I just submitted both, a non-converted 2017.3 project, and a 2018.1b7 project that reproduces the bug. Added a pingPongCamera etc. Projects contain only some trees and some text. Really stripped down. It only happens on android, so I packed the apk to test it, apk is included. Hope it helps :)
     
    Last edited: Mar 5, 2018