This monorepo contains source code for multiple SDK and template packages that aids in R.E.P.O. Modding.
| Project | Description | Latest Package |
|---|---|---|
| Common.Build | Find the local installation of R.E.P.O. | |
| Plugin.Build | Build and run a R.E.P.O. plugin. | |
| Plugin.Templates | Templates for R.E.P.O. plugin projects. | |
| Test.Build | Build a test project for a R.E.P.O. plugin. |
There are two ways to the SDK to quickly get started:
- Create a new project using a template.
- See the Plugin Templates README
- For an existing project, add a package reference to
Linkoid.Repo.Plugin.Build.- See the Plugin SDK README.
After that, if it hasn't been done already, a Directory.Repo.props file should be configured in a folder above all R.E.P.O. solutions/projects.
(e.g. in the User Profile folder.)
An explanation and example can be found in the Common.Build Readme.
SDKs and Templates setup a project to include most of the things need for modding in a standardized way with minimal manual setup.
These SDKs are designed to be very flexible and overridable, and to not interfere with other SDKs.
These SDKs also enable others to easily contribute to a codebase without having to uniquily configure every project.
By leveraging the full power of MSBuild, these SDKs will automatically detect the local installation of R.E.P.O.,
and copy the built plugin to the plugins folder automatically, then start the game with the IDE's play button or dotnet run.
Work in progress.
These templates include everything needed to immediately start writing tests using SmiteUnit. SmiteUnit will inject unit tests into R.E.P.O. when the plugin initializes, allowing to test more complex scenarios that weren't possible before. Has a harmony transpiler been throwing lots of errors? Throw that patch in a SmiteUnit Test and automate the test process! Did a game update break lots of functions? Run all the tests to see what code needs fixed. See more details about using SmiteUnit Templates in the Test.Template README: https://github.com/linkoid/Repo.Sdks/tree/main/Test.Templates#SmiteUnit-Templates
