Contributing
The Mixed Reality Toolkit (MRTK) welcomes contributions from the community. All changes be they small or large, need to adhere to the MRTK coding standards, so please ensure you are familiar with these while developing to avoid delays when the change is being reviewed.
If you have any questions, please reach out on the mixed-reality-toolkit channel on Slack. You can join the Slack community via the automatic invitation sender.
Submission process
We provide several paths to enable developers to contribute to the Mixed Reality Toolkit, all starting with creating a new Issue.
From here you file:
- Bug report - Functionality issue with one of the Mixed Reality Toolkit components
- Documentation issue - Issue with the Mixed Reality Toolkit documentation
- Feature request - Proposal for a new Mixed Reality Toolkit feature
Proposing feature requests
When requesting a new Mixed Reality Toolkit feature, it is important to document the customer benefit / problem to be solved. Once submitted, a feature request will be reviewed and discussed on GitHub. We encourage open and constructive discussion of each feature proposal to ensure that the work is beneficial to a large segment of customers.
To avoid needing to rework the feature, it is generally recommended that development of the feature does not begin during the review phase. Many times, the community review process uncovers one or more issues that may require significant changes in the proposed implementation.
Note
If you wish to work on something that already exists on our backlog, you can use that work item as your proposal. Be sure to also comment on the task notifying maintainers that you're working towards completing it.
Contribution process
To get started, simply follow these steps:
- Fork the repository. Click on the "Fork" button on the top right of the page and follow the flow.
- Create a branch in your fork (off of the mrtk_development branch) to make it easier for you to isolate any changes until ready for submission. For the legacy HoloToolkit use the htk_development branch.
If you are new to to the Git workflow, check out this introduction from Github.
When adding a bug fix or feature, follow these steps:
- Implement the bug fix or feature. Instructions for building and deploying MRTK are at BuildAndDeploy. Remember to follow the Coding Guidelines.
- If adding a feature, also add an example scene that demonstrates the feature.
- If adding an experimental feature, then writing tests and documentation are not necessary. Instead, follow experimental feature guidelines.
- Add tests to verify the bug fix / feature. Instructions for writing and running tests are at UnitTests.
- Ensure the code and feature(s) are documented as described in the Documentation Guidelines.
- Ensure the code works as intended on all platforms. Please see Release notes for the list of supported platforms. For Windows UWP projects, code must be WACK compliant. To do this, generate a Visual Studio solution, right click on project; Store > Create App Packages. Follow the prompts and run WACK tests. Make sure they all succeed.
- Follow the instructions at Pull Requests when making a pull request.