Thank you for your interest in contributing to Unity Robotics! 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 any of our Unity Robotics packages or tutorials, we strongly recommend posting on the repository's 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. This could range from advice and feedback on how to optimally perform your changes or reasons for not doing it.
The main
branch corresponds to the most recent stable version of the project. The dev
branch
contains changes that are staged to be merged into main
as the team sees fit.
When contributing to the project, please make sure that your Pull Request (PR) does the following:
- Is up-to-date with and targets the
dev
branch - Contains a detailed description of the changes performed
- Has corresponding changes to documentation, unit tests and sample environments (if applicable)
- Contains a summary of the tests performed to validate your changes
- Updates the Changelog and describes changes in the Unreleased section
- Links to issue numbers that the PR resolves (if any)
This project is provided as a package to be imported into a Unity project. In order to avoid common issues regarding version control and unmanaged files, the suggested workflow for contributing to the package is as follows:
- Clone this repository to a known location on your local machine (e.g. Documents).
- Git checkout the
dev
branch to ensure you have the latest staged changes. - In a development Unity project (e.g. a new project created from the Unity Hub of the minimum Unity version or above), open the
Window > Package Manager
. - Click the
+
in the top-left of the Package Manager window and selectAdd package from disk...
. - Navigate to the cloned repository, and select the
com.unity.<package>/package.json
file. ClickOpen
. - The local version of the package is now added to your Unity project! Changes made to your cloned directory will update in your Unity project.
All C# code should follow the Microsoft C# Coding Conventions. (Code may be reformatted to Unity coding standards where applicable.)
Please note that even if the code you are changing does not follow these conventions, we expect your submissions to do so.
When you open a pull request, you will be asked to acknowledge 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].
Once you have a change ready following the above ground rules, simply make a pull request in GitHub.