Graphics/com.unity.template-hd
alex-vazquez-unity3d 7e4420c860
Update package.json
2024-07-03 13:37:27 +02:00
..
Assets Update SampleScene.unity 2024-07-03 09:57:16 +02:00
Packages Update package.json 2024-07-03 13:37:27 +02:00
ProjectSettings Restore broken EditorBuildSettings.asset 2024-04-15 07:20:29 +02:00
.buginfo Add buginfo file to the HDRP template. (#7973) 2023-10-12 14:16:40 +02:00
.gitattributes Reenable old gitattributes (#7408) 2022-05-06 16:25:07 +02:00
CONTRIBUTING.md
README.md

README.md

CI Status

master (2020.1): 2019.3:

2019.2:

2019.1:

Public Package Versions

ReleaseBadge ReleaseBadge

About High Definition Project Template

This template is a good starting point for people focused on high-end graphics that want to develop games for platforms that support Shader Model 5.0 (DX11 and above). This template utilizes the High Definition Render Pipeline, a modern rendering pipeline that includes advanced material types and a configurable hybrid tile/cluster deferred/forward lighting architecture. This template also includes the new Shadergraph tool, Post-Processing stack, several Presets to jump start development, and example content.

This Project Template uses the following features:

  • High Definition Render Pipeline - For more information, see the HDRP documentation.
  • Shader Graph tool - This tool allows you to create shaders using a visual node editor instead of writing code. For more information on the Shader Graph, see the Shader Graph documentation.

Note: The High Definition Render Pipeline is currently in development, so consider it incomplete and subject to change (API, UX, scope). As such, it is not covered by regular Unity support. Unity is seeking feedback on the feature. To ask questions about the feature, visit the Unity preview forum.

Template CI

CI has been added to the project and it will test your template on every commit on Yamato. This will validate that the template package as well as embedded packages (if any) have the right structure, have tests and do not create console logs when opened with Unity. The CI will also automatically test the template as it would be used by a user on multiple editor versions and OS. You might need to tweak the list of editors and OS you want to test the template on. For more information, please go here

Note: To make use of the CI, your repository must be added to Yamato. Log in to Yamato and click on the Project + button on the top right. This will open a dialog asking for you to specify a git url and project name.

Trying out your template locally.

If you want to test your template locally from a user's perspective, you will need to make it available to a Unity Editor. This can be accomplished by following these steps:

  1. Use upm-ci tools to test your template

    You need to make sure you have Node.js and npm (install it from here) installed on your machine to package successfully, as the script calls npm under the hood for packaging and publishing. The script is tested with node@v10.16.0 and npm@5.6.0. Install globally the upm-ci package:

    npm install upm-ci-utils -g --registry https://api.bintray.com/npm/unity/unity-npm

    1. To run all your template tests

      1. Open a console (or terminal) window and cd your way inside your template project folder

        upm-ci template test -u 2018.3

        You can test against many versions of Unity with the -u parameter:

        • Testing on a specific version: use -u 2019.1.0a13
        • Testing on a latest release of a version: use -u 2019.1
        • Testing on the latest available trunk build: use -u trunk
        • Testing on a specific branch: use -u team-name/my-branch
        • Testing on a specific revision: use -u 3de2277bb0e6
        • Testing with an editor installed on your machine: use -u /absolute/path/to/the/folder/containing/Unity.app/or/Unity.exe

        By default, this will download the desired version of the editor in a .Editor folder created in the current working directory.

    2. To test what a user would see

      1. Open a console (or terminal) window and cd your way inside your template project folder

        upm-ci template pack This will generate a folder /upm-ci~/templates/ containing a .tgz file of your converted template.

      2. Include the tarballed template package in Unity editor

        You can then copy the template's tgz package file in Unity in one of these paths to make it available in the editor when creating new projects:

        1. Mac: <Unity Editor Root>/Contents/Resources/PackageManager/ProjectTemplates

        2. Windows: <Unity Editor Root>/Data/Resources/PackageManager/ProjectTemplates

      3. Preview your project template

        Open Unity Hub. Locate the editor to which you added your template to. When creating a new project, you should see your template in the templates list:

        Template in new project

        Note: f you are launching the Unity editor without the hub, you will not see additional templates in the list.

Publishing your template for use in the Editor

The first step to get your package published to production for public consumption is to send it to the candidates repository, where it can be evaluated by QA and Release Management. You can publish your template to the candidates repository through the added CI, which is the recommended approach.

  1. Once you are ready to publish a new version, say version 1.0.0, you can add a git tag rc-1.0.0 to the commit you want to publish. The CI will validate and then publish your template to candidates.

  2. Request that your template package be published to production by filling out the following form

  3. Once your template is published to production, the last step is to create the Ono PR to include your template with a Unity Release, and have it be discovered in the Hub. To do so, create a branch that includes your template in External/PackageManager/Editor/editor_installer.json

Note: You can retrieve a version of your template package as an artifact from CI pipelines following any commit made to your repository. This will allow you to easily test a change at any point during your development.