Caution
Back to the Dawn has switched from using mono to using il2cpp which means that this mod needs to use BepInEx 6..... The latest state of main has the necessary changes but readme changes are still TODO
- Game : 1.3.82.10-RC
- BepInEx: 5.4.22
- Steam Build ID: 13665081
A BepInEx plugin that adds rich discord presence support for the game Back to the Dawn. It uses the Discord GameSDK to communicate with Discord to set the rich presence. Internally it uses Monomod Runtime detours for game functions to keep track of the current game state, which is then interpreted to define the rich presence.
At the time of writing the images for locations are incomplete. Please refer to Asset Status for the latest state of available images.
Character | Image |
---|---|
Thomas | |
Bob | |
Reed |
In-game time is shown as Day X [HH:mm] where HH
is 24 hours time and mm
always shows two digits.
The integration makes use of a Discord application in order to refer to assets (as opposed to using links). This means that any asset must be uploaded to the appropriate Discord app and the associations references explicitly defined in the mod must be maintained.
Refer to the Asset Status section to see the current state of images.
This is a BepInEx plugin which can be installed by being placed in the /BepInEx/plugins directory after running the game with BepInEx installed. Please refer to Installing BepInEx for this.
Simply have Discord open while running the game. If you notice that your presence is changed to playing Back to the Dawn but no other information is visible it may be that Discord has auto-detected Back to the Dawn and is showing that instead of the rich presence. In order to solve this, disable detection of the Back to the Dawn game with a verified mark under Discord User Settings -> Activity Settings -> Registered Games.
Ensure the eye icon which is for detection is red or disabled
Things should work out of the box... If not please create an issue.
Your mileage may vary, it appears that the native Discord client works just fine (provided you define a RPC bridge, if needed). If you are using a solution that relies on arrpc you may find that the game process detectables trumps this mod (refer to detectables.json).
-
Modify GameDir in Common.props to point to your game installation location
- I should move this to csproj.user at some point...
-
Opening the solution in Visual Studio or Rider should automatically download the appropriate Discord GameSDK files.
- This is done via the
./build/GetDiscordSDK.targets
file. Currently it is a bit brittle but was fun to make :) - If you have trouble with this and/or are using an SDK that does not attempt to resolve the references automatically (thereby invoking the script) you an always download the SDK manually and put things into the appropropriate location.
- Download v2.5.6 of the discord GameSDK.
- Place the csharp library files into external/discordsdk/csharp
- Place the contents of lib/x86_64 into external/discordsdk/native
- This is done via the
-
Note that project build will try to copy plugin DLL to the BepInEx plugin directory but will not copy discord sdk native dll. This needs to be done manually until an extra build task is added.
-
This mod relies on generated runtime detour hooks which can be automatically generated with Bepinex.Monomod.HookGenPatcher. You may also further reduce the size of the generated file with the use of LighterPatcher.
- Minigame detection
- More detailed battle information
- Gang association information