Please see our guides for setting up your dev environment.
- For commiting, we adhere to Convetional Commits.
- For branching, we use Git Flow.
- For versioning, we will be using Semantic Versioning
For this project, we use the same naming conventions as Microsoft's .NET framework. A summary can be found here.
Note: ALL public methods/properties/variables defined in public classes require XML documentation comments.
Additionally, we enforce the following naming rules:
- Visibility of classes, methods, properties, and variables should always be specified, and should never be left blank (even if meant to be internal)
- Message methods (ex.
Awake
,Update
) inherited from Unity'sMonobehaviour
should be internal or private - Manager type class names must be suffixed with
Manager
- Config type class names must be suffixed with
Config
- Util type classes consisting of mainly static methods should be suffixed with either
Util
orHelper
, and be placed in theUtils
namespace - All extension methods for classes should be in the
Extensions
namespace, and the class names should be suffixed withExtension
This is not strict, however, methods and methods defined in classes should ideally be defined in the following order:
- (public, internal, private) const variables
- (public, internal, private) static properties
- (public, internal, private) readonly variables
- (public, internal, private) variables
- (public, internal, static) methods
- (public, internal, static) methods