This is a plugin template for starting to make an Archipelago plugin using BepInEx 5 with the very basics already set up. It includes a small GUI to allow you to enter connection info and some building configuration already done.
Follow the normal steps for installing BepInEx for your game. I recommend using the MonoMod HookGenPatcher and using monomod hooks over Harmony Patching, but this is up to personal preference
You will need .NET 6 or newer to install and use the template.
The template can be installed with the following command:
dotnet new install alwaysintreble.Archipelago.BepinEx
Then, to create a new project using the template, you can either select the template when creating a new project from within your IDE, or
dotnet new apbepin5 -n <MyPluginName> -T <TFM> -U <UnityVersion>
Template options:
-T, --TargetFramework <TargetFramework> The target framework for the project. Supports net35, net40, net45, netstandard2.0, net6.0.
Required: *true*
Type: text
Default: net35
-D, --Description <Description> Plugin description.
Type: text
Default: Example Archipelago Plugin
-U, --UnityVersion <UnityVersion> Unity version to use when developing the plugin.
Required: *true*
Type: text
Default: 5.6.0
-V, --Version <Version> Plugin version.
Type: text
Default: 1.0.0
-G, --Game <Game> Name of the game this plugin is for.
Type: text
Default: My Game
-P, --Path <Path> File path to the game executable. Passing this will set up debug output to the plugins folder.
Type: text
Default: C:\My Game
To determine your unity version and which framework you should be targeting you can refer to
https://docs.bepinex.dev/articles/dev_guide/plugin_tutorial/2_plugin_start.html.
If you are targeting .net 3.5 you may need to modify a few methods as the #if
don't work very well in templates.