First off, thank you for contributing to UltraStar Play! It's people like you that make UltraStar Play such a great karaoke game.
Following these guidelines communicates that you respect the efforts of our maintainers who manage and develop this open source project. In return, they will reciprocate that respect in addressing your issues, assessing changes, and helping you finalize your pull requests.
Tip for new contributors: Take a look at https://github.com/firstcontributions/first-contributions for helpful information on contributing
Community
- Respect the Code of Conduct.
Quality
- Take the time to get things right and aim for quality. This usually takes several commits on top of the original pull request.
- Only contribute working code, no dead code, no "soon to be used" code, and no "will fix it soon" code.
- No huge methods. Try to reduce complexity. Prefer understandable code over short code.
- Keep pull requests within reasonable size, preferably one feature at a time.
- Ensure cross-platform compatibility (Windows, MacOS, Linux, Android, iOS).
License
- Check licenses before using third party assets and code. The license must be compatible with the MIT license of UltraStar Play.
Documentation
- Care for documentation. An undocumented feature is often as good as no feature at all.
- Update the wiki when things change for users.
- Document your code with comments for other developers.
Visit the chat or issue tracker
Discuss things transparently and get community feedback. Create issues for any major change and enhancement that you wish to make.
See the wiki page on download and install.
Building for iOS requires additional steps that are explained here.
See the wiki page on foler structure.
See the wiki page for translations.
See the wiki page on code style.
All tests will run when creating a pull request.
The tests can also be started locally via Unity's Test Runner. Open it via Window > General > Test Runner.
The the wiki page for noteworthy implementation details.