Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 84 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ It can currently create and modify:

Additionally, a number of quality-of-life patches from the community are included with each release.

## Getting Started: Installation
---
To begin, we'll go over how to install BepInEx, the framework all Inscryption mods use. This is a necessary step to playing modded Inscryption, so be sure to follow this carefully.

### Installing with a Mod Manager
1. Download and install [Thunderstore Mod Manager](https://www.overwolf.com/app/Thunderstore-Thunderstore_Mod_Manager), [Gale](https://thunderstore.io/c/inscryption/p/Kesomannen/GaleModManager/) or [r2modman](https://thunderstore.io/c/inscryption/p/ebkr/r2modman/).
2. Click the **Install with Mod Manager** button on the top of [BepInEx's](https://thunderstore.io/package/download/BepInEx/BepInExPack_Inscryption/5.4.1902/) page.
Expand All @@ -44,6 +48,24 @@ If you have issues with ModmManagers head to one of these discords;
6. Install [Inscryption API](https://inscryption.thunderstore.io/package/API_dev/API/) and extract the contents into a folder.
7. Move the contents of the 'plugins' folder into 'BepInEx/plugins' and the contents of the 'monomod' folder into the 'BepInEx/monomod' folder.
8. Run the game again. If everything runs correctly, a message will appear in the console telling you that the API was loaded.
9. For any additional mods create a new subfolder, it can be called anything and extract the zips archive into it and if there is a BepInEx folder within the zip instead drop the contents of that folder into the BepInEx root for the modding instance. EX;
```
BepInEx // These go within the BepInEx root folder
|-- config
|-- patchers
|-- plugins
|-- monomod
|-- core
plugins // Files within go into the created plugin subfolder that was created for the mod
|-- Art
|-- Scripts
|-- MyMod.dll
manifest.json --|
README.md |-- These can be ignored but if you want to keep them put them in the plugin subfolder
CHANGELOG.md |--
icon.png --|
```
10. Run the game once more and everything should be correct and working.

### Installing on the Steam Deck
1. Download [r2modman](https://thunderstore.io/c/inscryption/p/ebkr/r2modman/) on the Steam Deck’s Desktop Mode and open it from its download using its `AppImage` file.
Expand All @@ -57,13 +79,74 @@ If you have issues with ModmManagers head to one of these discords;

### Mac & Linux
1. Follow the steps here first: <https://docs.bepinex.dev/articles/user_guide/installation/index.html>
2. Next do steps 4-8 of the Manual Installation
2. Next do steps 4-10 of the Manual Installation
3. Your game should be setup for inscryption modding now

If you have any issues with Mac/Linux, Steam Deck, or Manual head over to the discord for this game:

* **Inscryption Modding Discord:** [Here](https://discord.gg/ZQPvfKEpwM)

## Getting Started: Modding
---
Modding Inscryption requires a knowledge of coding in C#, and in many cases an understanding of how to patch the game using HarmonyPatch.

If you're unfamiliar with any of this, or just want to create cards and sigils, you can use [JSONLoader](https://inscryption.thunderstore.io/package/MADH95Mods/JSONCardLoader/).

### Modding with JSONLoader
JSONLoader is a versatile mode that provides a more beginner-friendly way of creating new cards and abilities for Inscryption using JSON syntax, which is much simpler than C#.

JSONLoader's documentation can be found [here](https://github.com/MADH95/JSONLoader).

A video tutorial covering how to use JSONLoader in a basic form can be found [here](https://www.youtube.com/watch?v=grTSkpI4U7g).

### Modding with C#
To begin modding with C#, you will need to create a new C# project using a code editor.
We recommend and assume you're using Microsoft's Visual Studio.

Your project's target framework needs to be `netstandard2.0`.

Once your project's created, go to `Project > Manage NuGet Packages`.
Click the dropdown menu for 'Package source' and check that 'BepInEx' and 'nuget' is there.

If BepInEx or nuget aren't an available source, we need to add them.
To add a new package source, click on the gear icon next to the package source selector, then click the large green plus-sign.

To add BepInEx, change the name to 'BepInEx' and the source link to 'https://nuget.bepinex.dev/v3/index.json'.
To add nuget, change the name to 'nuget' and the source link to 'https://nuget.windows10ce.com/nuget/v3/index.json'.

Change the package source to 'All' then click 'Browse'.
We want to install the following packages (**Make sure the version numbers match!**):
- BepInEx.Analyzers v1.0.8
- BepInEx.Core v5.4.19
- HarmonyX v2.9.0
- Inscryption.GameLibs v1.9.0-r.0
- UnityEngine.Modules v2019.4.24

You will also need to add the API as a reference.
There are a couple ways to do this, detailed below; whichever way you choose to do this, you'll also need to need to reference `InscryptionAPI.dll`, which should be in your BepInEx plugins folder; copy this path for future use.

To do so, go to your 'BepInEx/plugins' folder and copy the folder path.
Then, navigate to `Project > Add Project Reference` and click 'Browse'.
Copy the folder path and add 'InscryptionAPI.dll' as a reference.
You can do this for other mods' .dll files if you want to reference them as a mod dependency (a separate mod that your mod relies on to work).

An alternative method to adding the API (and other mods) as a reference is to use NuGet packages by adding 'https://nuget.bepinex.dev/v3/index.json' as a package source, and then adding 'API_dev-API' as a reference.

With all this, you are now ready to begin creating your mod!
Some resources are provided below for you to use, including an example mod to look at for examples.
Otherwise, continue reading this wiki.

### Modding Resources
[Inscryption Modding Discord](https://discord.gg/QrJEF5Denm)

[BepInEx documentation](https://docs.bepinex.dev/)

[Harmony patching article](https://harmony.pardeike.net/articles/patching.html)

[Example Mod using C#](https://github.com/debugman18/InscryptionExampleMod)

[Vanilla and Modded Enumerations](https://github.com/SaxbyMod/SabyModEnums)

An example mod utilising this plugin can be found [here](https://github.com/debugman18/InscryptionExampleMod),
and the modding wiki and documentation can be found [here](https://inscryptionmodding.github.io/InscryptionAPI/wiki/index.html).

Expand Down
20 changes: 19 additions & 1 deletion docs/wiki/getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,24 @@ If you have issues with ModmManagers head to one of these discords;
6. Install [Inscryption API](https://inscryption.thunderstore.io/package/API_dev/API/) and extract the contents into a folder.
7. Move the contents of the 'plugins' folder into 'BepInEx/plugins' and the contents of the 'monomod' folder into the 'BepInEx/monomod' folder.
8. Run the game again. If everything runs correctly, a message will appear in the console telling you that the API was loaded.
9. For any additional mods create a new subfolder, it can be called anything and extract the zips archive into it and if there is a BepInEx folder within the zip instead drop the contents of that folder into the BepInEx root for the modding instance. EX;
```
BepInEx // These go within the BepInEx root folder
|-- config
|-- patchers
|-- plugins
|-- monomod
|-- core
plugins // Files within go into the created plugin subfolder that was created for the mod
|-- Art
|-- Scripts
|-- MyMod.dll
manifest.json --|
README.md |-- These can be ignored but if you want to keep them put them in the plugin subfolder
CHANGELOG.md |--
icon.png --|
```
10. Run the game once more and everything should be correct and working.

### Installing on the Steam Deck
1. Download [r2modman](https://thunderstore.io/c/inscryption/p/ebkr/r2modman/) on the Steam Deck’s Desktop Mode and open it from its download using its `AppImage` file.
Expand All @@ -34,7 +52,7 @@ If you have issues with ModmManagers head to one of these discords;

### Mac & Linux
1. Follow the steps here first: <https://docs.bepinex.dev/articles/user_guide/installation/index.html>
2. Next do steps 4-8 of the Manual Installation
2. Next do steps 4-10 of the Manual Installation
3. Your game should be setup for inscryption modding now

If you have any issues with Mac/Linux, Steam Deck, or Manual head over to the discord for this game:
Expand Down
Loading