Game Development Extensions, a battle-tested library of game-focused high performance C# code.
- Optimized & non-allocating collections (GDX.Collections)
It's important to note that many of the structures backing data, indices, counts, etc. are publicly accessible. This is meant for advanced usage, change at runtime at your own risk.
Add com.dotbunny.gdx
as a dependency to the project Packages/manifest.json
file:
{
"dependencies": {
"com.dotbunny.gdx": "https://github.com/dotBunny/GDX.git",
}
}
It is possible for the repository to be simply cloned into a sub-folder in your projects Asset folder.
The package is designed to be compatible with an empty project created in Unity. It uses a preprocessor system, where the assembly definition will define features based on the packages found in the project.
It is important to note that the GDX_* defines are only valid inside of the GDX assemblies.
Package | Minimum Version |
---|---|
com.unity.addressables | 1.16.0 |
com.unity.burst | 1.4.0 |
com.unity.jobs | 0.6.9 |
com.unity.mathematics | 1.2.1 |
GDX is an open-source project and we encourage and welcome contributions.
There is a general effort to follow the Framework Design Guidelines set forth by the .NET team. While we do not always precisely adhere to them, they serve as a guiding principle.
- Embedded in the project is an EditorConfig, which should standardize much of the formatting.
- It is based on the .NET Roslyn repositories
.editorconfig
. - Warns of non-explicit type definitions everywhere (we're not going to use var to promote better readability).
- It is based on the .NET Roslyn repositories
- .NET Coding Conventions is also a good point of reference.
- Typically sections of classes are ordered alphabetically.
- Preference to expose backing data, indices, etc.
GDX is licensed under the MIT License.
A copy of this license can be found at the root of the project in the LICENSE
file.