Skip to content

Coding Standards

mq edited this page Jan 8, 2026 · 2 revisions

General notes

  • Any additions you make to a non-Impstation file should include comments in the code denoting it as an Impstation change. Doing so prevents these changes from being lost in upstream merge conflicts.
  • Ensure that your changelog is formatted as provided in the PR template. Only player-facing changes need a changelog. Ask for help if you need it!
  • If you're porting something from an existing author, make sure they're included as a co-author. The easiest way to do this is by cherry-picking.
  • Make sure to test your PR in game!!!

YAML

  • Avoid obsolete components where possible to ensure code readability.
  • Make use of parenting and component inheritance for complex entities.

CS

  • Organise your usings alphabetically. Any upstream usings should be at the top, and our ported usings should be commented underneath. Same goes for dependencies.
  • Use // imp to comment on any non-Impstation file where you make edits. This includes changes to files we port from other downstreams.
  • Similarly, if you're porting from somewhere else, leave a comment indicating where that section of code is from.
  • If something CAN go in an _Impstation directory, it SHOULD go in an _Impstation directory, for ease of upkeep.

For questions, assistance, debugging etc. feel free to ping any of the development help roles in Discord.

Clone this wiki locally