Skip to content

Instantly share code, notes, and snippets.

@natronium
Last active January 17, 2023 18:41
Show Gist options
  • Save natronium/78d01af8a2fd2d2301162b1373f13b0f to your computer and use it in GitHub Desktop.
Save natronium/78d01af8a2fd2d2301162b1373f13b0f to your computer and use it in GitHub Desktop.
Signs of the sojourner modding how to

Install 32bit BepInEx 5. Full instructions are available here but the installation just consists of downloading the latest stable 32bit build from the github releases page and unzipping it in the Signs installation folder

NB: you may want to make a copy of your Signs installation so that one can do modded things and one remains pristine, if that's important to you

While the BepInEx install is incredibly simple, unfortunately, the libraries included with Signs (in the Managed folder) have had everything that Signs did not use removed from them (this is commonly called stripping). This means that BepInEx can't run as-is since it depends on many of those removed bits (as might other plugins). In order to remedy this, we need to collect all the unstripped versions of those libraries, and stick 'em in a folder we can point BepInEx at.

If you trust me (a random internet alkali) here is a zip file with all of the dlls that are not stripped

If you don't trust me (a random internet alkali) then download unity 2019.2.21 (from the archive, or the release page) and, after installing or extracting the installer's contents (make sure to grab UnitySetup64-2019.2.21f1.exe and not the download assistant if you plan on extracting), pilfer the unstripped libraries from Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Variations/win32_development_mono/Data/Managed for the unity libraries and Editor/Data/MonoBleedingEdge/lib/mono/4.5/ for the core libraries

These are the dlls you'll need from Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Variations/win32_development_mono/Data/Managed (based on the dlls in the Managed folder in Signs of the Sojourner_Data):

beep
UnityEngine.AIModule.dll
UnityEngine.AndroidJNIModule.dll
UnityEngine.AnimationModule.dll
UnityEngine.AssetBundleModule.dll
UnityEngine.AudioModule.dll
UnityEngine.CoreModule.dll
UnityEngine.DirectorModule.dll
UnityEngine.dll
UnityEngine.GridModule.dll
UnityEngine.IMGUIModule.dll
UnityEngine.InputLegacyModule.dll
UnityEngine.InputModule.dll
UnityEngine.JSONSerializeModule.dll
UnityEngine.ParticleSystemModule.dll
UnityEngine.Physics2DModule.dll
UnityEngine.PhysicsModule.dll
UnityEngine.SharedInternalsModule.dll
UnityEngine.SpriteMaskModule.dll
UnityEngine.SpriteShapeModule.dll
UnityEngine.TerrainModule.dll
UnityEngine.TextCoreModule.dll
UnityEngine.TextRenderingModule.dll
UnityEngine.TilemapModule.dll
UnityEngine.UIElementsModule.dll
UnityEngine.UIModule.dll
UnityEngine.UnityAnalyticsModule.dll
UnityEngine.UnityWebRequestAssetBundleModule.dll
UnityEngine.UnityWebRequestModule.dll
UnityEngine.VFXModule.dll
UnityEngine.VideoModule.dll
UnityEngine.VRModule.dll
UnityEngine.XRModule.dll

and these are the dlls that you'll need from Editor/Data/MonoBleedingEdge/lib/mono/4.5/ (based on the dlls included in the archive mentioned in this article):

boop
Mono.Posix.dll
Mono.Security.dll
mscorlib.dll
netstandard.dll*
System.Configuration.dll
System.Core.dll
System.Data.dll
System.dll
System.Net.Http.dll
System.Numerics.dll
System.Runtime.Serialization.dll
System.Security.dll
System.Xml.dll
System.Xml.Linq.dll

* netstandard.dll is located in the Facades subfolder of the mono/4.5 folder

In either case, all those dlls should go into a lib folder in your Signs installation folder (ie next to Signs of the Sojourner.exe,the BepInEx folder and doorstop_config.ini), and, the dllSearchPathOverride option in doorstop_config.ini should be set to the name of that folder (probably lib, but you can call it whatever)

You should now have a working BepInEx 5 install for Signs of the Sojourner! In order to confirm that this is the case, run Signs, and confirm that BepInEx generated its config (BepInEx/config/BepInEx.cfg) and log (BepInEx/LogOutput.log) files, and that the log file does not contain any errors.

To install a plugin, simply copy the plugin dll (or plugin folder, if it is released as multiple files) into the BepInEx/plugins folder. If you're doing Signs-poking you may be interested in RuntimeUnityEditor (note for linux users: make sure to install some fonts for the wineprefix) and/or UnityExplorer. See Also BepInEx Docs

This file has been truncated, but you can view the full file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment