Universal Render Pipeline (URP) Configuration

URP Versions Supported by EasyAR

Universal Render Pipeline (URP) versions 7.0.0 or later are supported. See Getting started with URP for more details on switching to URP.

Attention

Announcement for Unity 6 URP 17+ render graph support

Although EasyAR is supporting Unity 6 URP 17+ render graph now, there are still unresolved issues at Unity side. So, it is still suggested to use URP compatibility mode if you find anything unusual.

Known issues on Unity 6000.0.32f1 render graph (works fine in compatibility mode) include but not limited to,

  1. [unresolved] Glitches and artifacts are observed on iOS/Mac when you retrieve camera texture from EasyAR (as the sample ImageTracking_Coloring3D and Camera_VideoCamera does). We have reproduced this issue using pure Unity packages and reported to Unity: Glitches on iOS with AR Camera Image Rendering (URP 17 render graph). Please follow Unity Issue UUM-87787 update or future Unity release notes for further infomation. (partial mitigation measure in EasyAR, default off)

  2. [unresolved] Screen will be black on iOS/Mac if you set Render Scale to a value other than 1 (like the Unity template Mobile_RPAsset.asset) and when you retrieve camera texture from EasyAR (as the sample ImageTracking_Coloring3D and Camera_VideoCamera does). We are going to report to Unity later.

  3. [has workaround in EasyAR (default on)] The camera image makes the scene objects rendering unpredictable on Windows DX11. We are going to report to Unity later.

It is suggested to check updates in Unity issue links and give feedback to Unity directly.

Import URP Unity Package

Import URP Unity Package using Unity Package Manager if it is not in the project,

../_images/image_g6_1.png

Create URP Render Pipeline Asset

Configration may differ in different URP version. Please read URP documents carefully. This page shows configration in URP 11.

Skip this step if your project was created from the URP Project Template or already you have a UniversalRenderPipelineAsset and UniversalRenderPipelineAsset_Renderer (Pipeline Asset (Forward Renderer)) in your Project.

In Project window, right click in some folder and select Create > Rendering > Universal Render Pipeline > Pipeline Asset (Forward Renderer) to create a Pipeline Asset,

../_images/image_g6_2.png

This creates two Assets in the folder,

../_images/image_g6_3.png

Configuring URP to work with EasyAR

Configration may differ in different URP version. Please read official URP documents carefully. This page shows configration in URP 11.

Select your Forward Renderer asset and add an EasyARCameraImageRendererFeature to the list of Renderer Features. If you created your Project from the URP Project Template then this will be located in the Settings folder in your project’s Assets folder.

../_images/image_g6_4.png

Access the Graphics section of the Project Settings window (menu: Edit > Project Settings, then select Graphics), and select the UniversalRenderPipelineAsset for the Scriptable Render Pipeline Settings

../_images/image_g6_5.png

In some URP versions, you need also to access the Quality section of the Project Settings window, and select the UniversalRenderPipelineAsset for the Render Pipeline Asset. Make sure to set all levels you use as different device may use different levels.

If you are using EasyAR samples or converting from an existing project, make sure to follow Upgrading your Shaders to upgrade sample and other assets. Go to menu Edit > Render Pipeline > Universal Render Pipeline, select either Upgrade Project Materials to URP Materials or Upgrade Selected Materials to URP Materials according to your needs.

../_images/image_g6_6.png

In some URP versions, you need to use different menu and tools, please read offical URP documents carefully.