4.7 KiB
Unity Mod Manager Mod Template
A template for creating Derail Valley mods that load via Unity Mod Manager.
Report Bug
·
Request Feature
Table of Contents
About The Project
This is a template for Derail Valley mods that load via the Unity Mod Manager mod loader.
TODO: Instructions for how mod creators use this template.
Building
Building the project requires some initial setup, after which running dotnet build
will do a Debug build or running dotnet build -c Release
will do a Release build.
References Setup
After cloning the repository, some setup is required in order to successfully build the mod DLLs. You will need to create a new Directory.Build.targets file to specify your local reference paths. This file will be located in the main directory, next to MOD_NAME.sln.
Below is an example of the necessary structure. When creating your targets file, you will need to replace the reference paths with the corresponding folders on your system. Make sure to include semicolons between each of the paths and no semicolon after the last path. Also note that any shortcuts you might use in file explorer—such as %ProgramFiles%—won't be expanded in these paths. You have to use full, absolute paths.
<Project>
<PropertyGroup>
<ReferencePath>
C:\Program Files (x86)\Steam\steamapps\common\Derail Valley\DerailValley_Data\Managed\
</ReferencePath>
<AssemblySearchPaths>$(AssemblySearchPaths);$(ReferencePath);</AssemblySearchPaths>
</PropertyGroup>
</Project>
Line Endings Setup
It's recommended to use Git's autocrlf mode on Windows. Activate this by running git config --global core.autocrlf true
.
Packaging
To package a build for distribution, you can run the package.ps1
PowerShell script in the root of the project. If no parameters are supplied, it will create a .zip file ready for distribution in the dist directory. A post build event is configured to run this automatically after each successful Release build.
Linux: pwsh ./package.ps1
Windows: powershell -executionpolicy bypass .\package.ps1
Parameters
Some parameters are available for the packaging script.
-NoArchive
Leave the package contents uncompressed in the output directory.
-OutputDirectory
Specify a different output directory.
For instance, this can be used in conjunction with -NoArchive
to copy the mod files into your Derail Valley installation directory.
License
Source code is distributed under the MIT license. See LICENSE for more information.