Thank you for your interest in contributing to Perception! We are incredibly excited to see how members of our community will use and extend the Perception tools. To facilitate your contributions, we've outlined a brief set of guidelines to ensure that your extensions can be easily integrated.
First, please read through our code of conduct, as we expect all our contributors to follow it.
Second, before starting on a project that you intend to contribute to the Perception package we strongly recommend posting on our Issues page and briefly outlining the changes you plan to make. This will enable us to provide some context that may be helpful for you, including advice on how to optimally perform your changes or even reasons for not doing it.
Lastly, if you're looking for input on what to contribute, feel free to browse the Unity Computer Vision forums and GitHub issues with the Requests
or Bug
label.
The main
branch corresponds to the most recent version of the project. Note
that this may be newer than the
latest release.
When contributing to the project, please make sure that your Pull Request (PR) contains the following:
- Detailed description of the changes performed
- Corresponding changes to documentation and unit tests
- Summary of the tests performed to validate your changes
- Issue numbers that the PR resolves (if any)
We run continuous integration on all PRs; all tests must be passing before the PR is merged.
Several tests are run on the codebase using the Unity Testing Framework during CI. To execute the same checks locally:
- Open
TestProjects/PerceptionHDRP
in Unity - From the menu bar, open Window -> General -> Test Runner
- Select 'PlayMode'
- Click 'Run All'
- Check for failed tests
- When finished, select 'EditMode'
- Click 'Run All'
- Check for failed tests
In CI, these tests are run on multiple desktop platforms in standalone players and the editor. Some tests may fail in CI that do not fail locally. [email protected] can help with these issues if they arise.
The repository includes a test project for local development located at TestProjects/PerceptionHDRP
.
For closest standards conformity and best experience overall, JetBrains Rider or Visual Studio w/f JetBrains Resharper are suggested. For optimal experience, allow navigating to code in all packages included in your project. To do so, in your Unity Editor, navigate to Preferences
→ External Tools
and check Generate all .csproj files.
When you open a pull request, one GitHub check will require you to acknolwedge our Contributor License Agreement. We allow both individual contributions and contributions made on behalf of companies. We use an open source tool called CLA assistant. If you have any questions on our CLA, please submit an issue or email us at [email protected].