Linkoid.Repo.Plugin.Build 0.2.2

dotnet add package Linkoid.Repo.Plugin.Build --version 0.2.2
                    
NuGet\Install-Package Linkoid.Repo.Plugin.Build -Version 0.2.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Linkoid.Repo.Plugin.Build" Version="0.2.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Linkoid.Repo.Plugin.Build" Version="0.2.2" />
                    
Directory.Packages.props
<PackageReference Include="Linkoid.Repo.Plugin.Build" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Linkoid.Repo.Plugin.Build --version 0.2.2
                    
#r "nuget: Linkoid.Repo.Plugin.Build, 0.2.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Linkoid.Repo.Plugin.Build&version=0.2.2
                    
Install Linkoid.Repo.Plugin.Build as a Cake Addin
#tool nuget:?package=Linkoid.Repo.Plugin.Build&version=0.2.2
                    
Install Linkoid.Repo.Plugin.Build as a Cake Tool

R.E.P.O. Plugin Build SDK

GitHub Stars License

R.E.P.O. Modding dotnet MSBuild

Provides MSBuild properties and targets for building and running a R.E.P.O. plugin.

Usage

To use this package, add a package reference to the project:

<ItemGroup>
	<PackageReference Include="Linkoid.Repo.Common.Build" Version="*" PrivateAssets="all" />
</ItemGroup>

Use a NuGet Package to include game libraries, or enable automatic game references

<PropertyGroup>
	<EnableGameReferences>true</EnableGameReferences>
</PropertyGroup>

If automatic game references cannot be resolved, setup a Directory.Repo.props file. Information regarding how to setup Directory.Repo.props can be found in the Common Build SDK README.

Features

  • Automatically locates local R.E.P.O. installation with Repo.Common.Build.
  • Built plugin is copied to the plugins folder of the target game.
  • Configures debug symbols to hide parent path and be compatible with mono.
  • The IDE's play button / dotnet run will start the game.
  • Does not bundle or transitively reference any assemblies.
    • Can easily be added to existing projects that already have their own references.
    • Can specify to reference local game assemblies if not using GameLibs packages.

MSBuild Properties

  • <PluginName>
    • The thunderstore safe name for the plugin.
    • Default: $(MSBuildProjectName) with common invalid characters removed
  • <StartGameOnRun>
    • Start the game when using play button or dotnet run.
    • Default: true
  • <EnableGameReferences>
    • Add game assembly references from the local game installation.
    • Default: false
  • <EnableUnityReferences>
    • Add Unity assembly references from the local game installation.
    • Default: use value of EnableGameReferences
  • <CopyFilesToPluginOutputDirectoryOnBuild>
    • Copy the plugin to the game's plugin folder after it's built.
    • Default: true
  • <CopyFilesToPluginOutputDirectoryOnRun>
    • Copy the plugin to the game's plugin folder right before the game is run.
    • Default: true
  • <PluginOutputSubdirectory>
    • The path relative to BepInEx/plugins/ to which the plugin will be copied.
    • Default: $(Authors)-$(PluginName) or $(PluginName)
  • See additional configurable properties inherited from Repo.Common.Build.

MSBuild Item Metadata

CopyToPluginOutputDirectory

Anything copied to the build output directory will also be copied to the plugin output. It is possible to also specify items that aren't copied to the output directory to also be copied to plugin output.

<ItemGroup>
  <None Include="NOTICE.txt" CopyToPluginOutputDirectory="Always" />
</ItemGroup>

By default, the following files are copied to the plugin output if they are found:

  • README.md
  • README.txt
  • CHANGELOG.md
  • CHANGELOG.txt
  • manifest.json
  • icon.png

This behaviour can be overriden by explicitly specifying not to copy these files.

<ItemGroup>
  <None Update="README.txt" CopyToPluginOutputDirectory="Never" />
</ItemGroup>

Example

An example of using this SDK can be seen in the Plugin Build Test Project.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.2.2 463 4/2/2025
0.2.1 428 3/14/2025
0.2.0 173 3/11/2025
0.1.0 228 3/5/2025