Genesis is a general-purpose, plugin-extensible code generation framework for Unity.
Genesis is architected as a .Net Core console application that leverages Roslyn code analysis to inspect a target C# codebase and generate code files where developers can build custom code generators via an extensible plugin framework. While Genesis v2 is largely engine-agnostic, it has a first-class integration into the Unity game engine.
Using this library in your project can be done in three ways:
The package is available on the openupm registry. It's recommended to install it via openupm-cli.
openupm add com.jeffcampbellmakesgames.Genesis
Using the native Unity Package Manager introduced in 2017.2, you can add this library as a package by modifying your manifest.json
file found at /ProjectName/Packages/manifest.json
to include it as a dependency. See the example below on how to reference it.
{
"dependencies": {
...
"com.jeffcampbellmakesgames.genesis" : "https://github.com/jeffcampbellmakesgames/genesis.git#release/stable",
...
}
}
You will need to have Git installed and available in your system's PATH.
.UnityPackage
The latest release can be found here as a UnityPackage file that can be downloaded and imported directly into your project's Assets folder.
To learn more about how to use JCMG Genesis, see the wiki here for more information.
If this is useful to you and/or you’d like to see future development and more tools in the future, please consider supporting it either by contributing to the Github projects (submitting bug reports or features and/or creating pull requests) or by buying me coffee using any of the links below. Every little bit helps!
For information on how to contribute and code style guidelines, please visit here.