# Unity Scriptable Render Pipeline The Scriptable Render Pipeline (SRP) is a new Unity feature in active development. SRP has been designed to give artists and developers the tools they need to create modern, high-fidelity graphics in Unity. Including a built-in Lightweight Render Pipeline for use on all platforms, and a High Definition Render Pipeline (HDRP) for use on compute shader compatible platforms. We hope to release both of these versions in beta with Unity version 2018.1. We are committed to an open and transparent development process, and as such you are welcome to take a look around if you are really curious, but we cannot provide support for this feature yet. For a more detailed overview of the planned features and philosophy behind SRP, refer to the following Gdoc: [ScriptableRenderPipeline](https://docs.google.com/document/d/1e2jkr_-v5iaZRuHdnMrSv978LuJKYZhsIYnrDkNAuvQ/edit?usp=sharing) This feature is currently a work in progress. We cannot promise that features will work as expected in their current state. Some features may change or be removed before we move to a full release. ## How to use the latest version __Note: The Master branch is our current development branch and may not work on the latest publicly available version of Unity. You should always use the latest release tag and latest Unity beta version for testing purposes.__ To use the latest version of the SRP, follow the instructions below: This repository consists of a folder that needs to be placed in the Assets\ folder of your Unity project. We recommend creating a new project to test SRP. Do not clone this repo into an existing project unless you want to break it, or unless you are updating to a newer version of the SRP repo. You can use the GitHub desktop app to clone the latest version of the SRP repo or you can use GitHub console commands. ### To clone the repo using the GitHub Desktop App: 1. Open the GitHub Desktop App and click __Clone a Repository__. 2. Click the __URL__ tab in the __Clone a Repository__ window 3. Enter the following URL: https://github.com/Unity-Technologies/ScriptableRenderPipeline 4. Click the __Choose…__ button to navigate to your project’s Asset folder. 5. Click the __Clone__ button. After the repo has been cloned you will need to run the following console commands from the ScriptableRenderPipeline folder: ``` > git checkout Unity-2018.1.0b2 (or the latest tag) > git submodule update --init --recursive --remote (This command fetches the Postprocessing module, which is needed to use SRP) ``` ### To download the repo using console commands: Enter the following commands in your console application of choice: ``` > cd /Assets > git clone https://github.com/Unity-Technologies/ScriptableRenderPipeline > cd ScriptableRenderPipeline > git checkout Unity-2018.1.0b2 (or the latest tag) > git submodule update --init --recursive --remote (This command fetches the Postprocessing module, which is needed to use SRP) ``` ## Scriptable Render Pipeline Assets The Scriptable Render Pipeline Asset controls the global rendering quality settings of your project and creates the rendering pipeline instance. The rendering pipeline instance contains intermediate resources and the render loop implementation. We have provided a Scriptable Render Pipeline Asset for HDRP and the Lightweight Pipeline. This Asset must be assigned to the Scriptable Render Pipeline Asset field in the Graphics inspector window in order to use the HDRP or Lightweight Pipeline. Navigate to ___Edit > Project Settings > Graphics___ and add the required Asset (HDRP, Lightweight or your own custom asset) to the __Render Pipeline Settings__ field. ## Using the High Definition Render Pipeline (HDRP) or the Lightweight Pipeline ### Using HDRP To use HDRP you must edit your project’s __Player__ and __Graphics__ settings as follows: 1. Navigate to ___Edit > Project Settings > Player___ and set the color space of your project to Linear by selecting __Linear__ from the __Color Space__ dropdown. HDRP does not support Gamma lighting. 2. Navigate to ___Edit > Project Settings > Graphics___ and add the HDRenderPipelineAsset Asset to the __Render Pipeline Settings__ field. Create a copy of the HDRenderPipelineAsset and store it outside of the Scriptable Render Pipeline folder. This ensures that your HDRP settings are not lost when merging new changes from the SRP repo. ### Using Lightweight Pipeline To use the Lightweight Pipeline you must edit your project’s Graphics settings as follows: 1. Navigate to ___Edit > Project Settings > Graphics___ and add the LightweightPipelineAsset Asset to the __Render Pipeline Settings__ field. 2. Create a copy of the LightweightPipelineAsset and store it outside of the Scriptable Render Pipeline folder. This ensures that your Lightweight settings are not lost when merging new changes from the SRP repo.