You are on page 1of 12

An All-In-One Doc for Modding

Shadows of Doubt
Created by HatBeemo, up to date as of 10th Mar 2024

Introduction
“What is this?”
This is a doc that aims to put most if not all of the documentation on modding
Shadows of Doubt into one place for easy referencing.

It’s my belief that understanding the game and how it works will make modding it
easier for everyone. Shadows of Doubt inspired me with its incredible simulation of
detective work, and the quiet moments it lets you be part of that immerse you in its
alt-history world. Like sitting down with coffee in a diner while you review your
latest murder case!

“I really want to mod Shadows of Doubt, where do I get


started?”
This page on the official modding documentation is a great start!
Table of Documentation
Title Author Date of Comments
Creation
DDS System - Piepieonline 13th Jun This documentation was written
Shadows of Doubt 2023 BEFORE the Dec 2023 Modding
Modding Wiki on update! I’ve placed it here for
Miraheze 11th Jun archiving purposes and to honor
2023 the hard work of @piepieonline
Shadows of Doubt for writing up this and the rest of
Modding Wiki on the modding wiki on Miraheze!
Miraheze ~Hatty
Shadows of Doubt ColePowered 14th Dec
Mod Games 2023
Documentation (devs)
Getting Started ColePowered 14th Dec @piepieonline noted that this
Modding SoD Games 2023 page was updated recently (at
(devs) most 3rd Mar 2024) to include a
full walkthrough of modding and
the creation of a sample mod!
~Hatty
Dynamic Dialog ColePowered 14th Dec Note: WIP!
System (DDS) Games 2023
Editor (devs)
documentation on
Notion
Q&A ColePowered 14th Dec
Games 2023
(devs)
SoD Consumables Yossitaru 14th Feb A spreadsheet of all
(@yossitaru) 2024 consumables and their effects.
Note: items are listed under their
dev names, so “Coffee” is listed
as “TakeawayCoffee”!
How to install Piepieonline 17th May
BepInEx and start and 2023
modding Shadows NooklearToa
of Doubt ster
All Known Hatty 1st Mar
SyncDisks, Base (@hatbeemo) 2024
Effects, and
Upgrades
Sources of Citizen Hatty 1st Mar
Info (@hatbeemo) 2024
Raw Info for Hatty 1st Mar
Status Effects in (@hatbeemo) 2024
Shadows of Doubt
Glossary of Modding Terms
DDS - Short for “Dynamic Dialog System”, the framework that Shadows of Doubt
uses to handle text in-game.

IL2CPP - The Unity scripting backend framework that Shadows of Doubt uses as
the public, default branch to maximize in-game performance.(1)
● Stands for Intermediate Language to C++.(2)

Mono - A Unity scripting backend framework that supports modding for Unity
games like Shadows of Doubt. As of 14th Dec 2023, ColePoweredGames maintains a
separate, open branch of the game using the Mono backend.
● “A mono build - we are going to make a mono version of the game available
on a separate open Steam branch so that players can mod the game to their
heart's desire. The mono version will have slightly lower performance so we
didn't want to put it on the default branch but hopefully you will be able to
have some fun with it.” ~Initial announcement of the mono build by
ColePoweredGames.(3)
Stripped - The main branch of Shadows of Doubt has a ‘stripped’ codebase, where
anything that the devs (ColePoweredGames) doesn’t use directly is removed.
(explanation by @piepieonline on 7th Mar 2024)
● Higher-level custom features like creating new objects from json cannot be
done due to the main branch’s codebase being stripped.
● Unstripped - Unstripping the codebase of the main branch by leaving in
unused content would enable a greater level of modding than currently
possible.
Libraries, Frameworks, and Tools
Title & Links Description Comments

BepInExPack IL2CPP Most mods depend on Name stands for


(thunderstore) this to function! “Bepis Injector
Extensible”

Shadows of Doubt “This is a mod tool that See this page on


Dialog Editor by lets you add custom text, Notion for
ColePoweredGames dialog, notes, v-mail and documentation on
(itch.io) newspaper articles to the this editor!
game Shadows of
Doubt.”

SODCommon by “Welcome to Originally


Venomaus SOD.Common! This released (1.0.0) on
(thunderstore, github, library provides a 14th Dec 2023.
wiki) comprehensive set of
helper classes and
extensions to enhance
your modding
experience for the game
‘Shadows of Doubt’."
~Overview on
Thunderstore

VmailAttachments by “This plugin does nothing Originally


Arsonide on its own, it exposes released (1.0.0) on
(thunderstore, github) helper methods for 3rd Jan 2024.
other mods to use that
allow them to attach
arbitrary documents to
vmails. The player can
print these documents
separately from the
message body.”
~Description on Github

DDSLoader by DDSLoader: “Library. DDSLoader:


Piepieonline Loader for (new and Originally
(thunderstore, github) patch overrides) DDS released (1.0.0) on
Tree/Message/Block 3rd June 2023.
Asset Bundle Loader content and localized
by Piepieonline strings” ~README on Asset Bundle
(thunderstore, github) Thunderstore Loader: Originally
released (1.0.0) on
Asset Bundle Loader: 4th June 2023.
“Library. Load
AssetBundles built
against previous game
versions, by correcting
referenced PathIDs”
~README on
Thunderstore

BepInExConfigManag “A port of This basically lets


er by Spyraxi BepInExConfigManager mods have an in-
(ReveredRedHood) v1.3.0 by sinai, modified game menu
(thunderstore, to work with BepInEx where you can
bitbucket) Bleeding Edge adjust settings!
Version/Artifact 667.
Similar in style to Originally
GTFOModding- released (1.3.1) to
UnityExplorer_IL2CPP- Thunderstore on
4.9.1.” 25th May 2023)

BepInExConfigManager
is an in-game UI for
managing BepInEx
Configurations, for
IL2CPP and Mono Unity
games.

Lights of Belief by “This mod enables the Flarson’s guide to


installing (discord):
Camdog74 (discord) hidden debug menu, it 1. If you use

contains a bunch of cool r2modman,


download the
NOTE: DEPRECATED, little cheats that are fun Lights Of Belief
Mod from the
NO LONGER WORKS to mess around with but client.
WITH LATEST also make mod making a 2. Head to your
Plugins folder
VERSIONS! little easier.” ~Camdog74 3. Download the v1
dll only file from
this thread at the
very beginning
4. Open the now
created folder
from Lights Of
Belief
5. Replace the
existing .dll file
with the v1 .dll file
and start your
game
6. Works
Known Mod Authors and Contributions
Username Mods/Libraries Created Comments

Piepieonline DDSLoader (thunderstore, github),


(@piepieonline) Asset Bundle Loader (ts, gh),
CityDirPhoneNumbers (ts, gh),
RealEstateCruncherApp (ts, gh),
CruncherSolitaire (ts, gh),
More Murder Cyphers (ts, gh),
Case Board WASD Controls (ts, gh)

Spyraxi PrintBugfix (thunderstore, bitbucket)


(ReveredRedHood) HoursOfOperation (ts, github)
(@spyraxi) Autosave (ts, gh)
BepInExConfigManager (ts, bb)

Arsonide (@bmprovan) Babbler (thunderstore, github),


GovernmentLockdown (ts, gh),
VmailAttachments (ts, gh)

Venomaus (@venomaus) SODCommon (thunderstore, github),


SODQoL (ts, gh),
SODStockMarket (ts, gh)
SODLifeAndLiving (ts, gh)

Supersonic Pixel Junkie Proper Plotter (thunderstore)


(@supersonicpixeljunkie) Cruncher Correction (ts)
(Thunderstore: Winmin (ts)
PixelJunkies) Backwards Brass (ts)
No Notice Nonsense (ts)

Nova (@nova791) DensityMod (thunderstore, github)

Macawesome75 MurderCooldownAccelerator
(@macawesome75) (thunderstore)

andole (@illit) FewerPasscodeNotes (thunderstore,


github)

Frib (@friblurks) Map Tweaks (thunderstore, discord)

Wund3rcr4zy ByTheBook (thunderstore, github)


(@wund3rcr4zy)
(Thunderstore:
ScoochShotGames)
Sources for Modding Support
Title Description Comments

Shadows of Doubt on Discord community Check out the channels


Discord server centered in the modding category,
around the game. like #mod-development
and #mod-discussions!

Shadows of Doubt Discord server Check out the


Modding dedicated to SoD #important-findings and
modding. #explorations channel,
they contain interesting
info for modders!

Shadows of Doubt Official Links


Sites
● Official website: http://shadows.game/
● Company website: https://colepowered.com/
● Press Kit: http://shadows.game/

Store Pages
● Steam: https://store.steampowered.com/app/986130/Shadows_of_Doubt/
● Itch.io: https://colepowered.itch.io/shadows

Social Media
● Twitter (developer): https://twitter.com/colejefferies
● Twitter (game): https://twitter.com/detectivesim
● Twitter (company): https://twitter.com/colepowered
● Facebook: https://www.facebook.com/colepowered
● Instagram: https://www.instagram.com/colepowered/
● YouTube: https://www.youtube.com/channel/UCkZiyLH9kWko573uKsQ1sVQ

Dev Blogs
● IndieDB: https://www.indiedb.com/games/shadows-of-doubt
● TIGSource: https://forums.tigsource.com/index.php?topic=64656.0

Mailing List
● Subscribe: https://colepowered.us20.list-manage.com/subscribe/post?
u=fe1a7390d53460b24ad87d46f&id=b65101d913

Other Sources of Info on Shadows of


Doubt
● TVTropes:
https://tvtropes.org/pmwiki/pmwiki.php/VideoGame/ShadowsOfDoubt

References
1. Q&A, Shadows of Doubt Mod Documentation by ColePoweredGames
2. IL2CPP Overview, Unity User Manual 2022.3 (LTS)
3. Investigations #2 Your Stories & Some Info on the Modding Update

Archived Messages from Discord


How to install BepInEx and start modding Shadows of
Doubt (original on Discord)

NooklearToaster 05/17/2023 1:32 AM


(Post credit to @piepieonline, any questions should be asked in the modding
general chat channel)

We have moved to BepInEx BE at this stage, however not all mods have been
updated.
On the thunderstore page, all mods should work, except: 'LethalAction',
'LightsOfBelief' and all mods by 'Mom_Llama'.

Mod Manager (Recommended, keeps the game directory clean and handles
dependancies):

1. Download and follow the steps for r2modman from


https://thunderstore.io/c/shadows-of-doubt/p/ebkr/r2modman/
2. Run r2modman, select Shadows of Doubt
3. Install 'BepInExPack_IL2CPP' from the r2modman 'Online' tab
4. Install mods from the 'Online' tab, or browse
https://thunderstore.io/c/shadows-of-doubt/ and use 'Install with Mod
Manager'
Note: Thunderstore Mod Manager can also be used, if that is your preference -
https://www.overwolf.com/app/Thunderstore-Thunderstore_Mod_Manager

Manual Installation:
1. Download from
https://thunderstore.io/c/shadows-of-doubt/p/BepInEx/BepInExPack_IL2C
PP/
2. Extract the archive into a folder. Do not extract into the game folder.
3. Move the contents of BepInExPack folder into the game folder (where
"Shadows of Doubt.exe" is located).
4. Run the game. If everything runs correctly, you will see BepInEx console pop
up on your desktop.
5. Find mods by browsing https://thunderstore.io/c/shadows-of-doubt/, and
install each manually to the 'BepInEx' subdirectory next to the game itself.

Kyle (@yun2yun) 05/17/2023 1:32 AM


Extract!

Start the game to main menu! (Might take a minute)


Close the game!
Extract the mods files into here!
Start the game, all good.

Mama Llama (@mamallama) 05/24/2023 9:14 AM


Here's some resources for starting in on creating mods for SoD
● A Tutorial on how make a Hello World plugin for BepinEx:
https://docs.bepinex.dev/master/articles/dev_guide/plugin_tutorial/
index.html
● This is Unity Explorer, it lets you browse the game's scene objects, classes,
methods, junk, stuff and whatever. Its extremely powerful and impossible to
describe in one sentence so get it: https://thunderstore.io/c/sons-of-the-
forest/p/GTFOModding/UnityExplorer_IL2CPP/
● This is Harmony, your mod should use it when it wants to interact with an
existing GameObject or Class or Method:
https://github.com/pardeike/Harmony/wiki (Note that harmony is included
elsewhere, no download required but the docs here are useful)
● This is the Unity scripting reference docs:
https://docs.unity3d.com/ScriptReference/index.html (You should be familiar
or become familiar with how Unity handles GameObjects, Behaviors,
Components and its Global functions for accessing the scene, etc)
● This is the MSDN C# Reference and Docs: https://learn.microsoft.com/en-
us/dotnet/csharp/language-reference/ (You should be familiar or become
familiar with C# language features and specifically plugins use netstandard
ver 2.1 (for Pre-1, Net6 for BE?) )
How to Install Mods for SoD

Kevin (@kevinfromhp) 05/21/2023 1:35 AM

For Mod Developers


A Mono Build has been released for the game. Building your mod for Mono is an
acceptable option, though not recommended as the mono build has adverse
effects on performance

If you are building for IL2CPP, It is highly recommended you make mods on
BepInEx BE (6.0 and forwards) as it is actively maintained by its creators and will be
updated in the event the game is broken by a Unity update or something else. BE is
also the standard used for thunderstore releases. If you want your mod on
thunderstore, you should definitely use 6.0.

For Mod Downloaders


There are two versions of BepInEx that are currently in circulation.
● One is 6.0-pre.1,
● the other is 6.0 BE (Bleeding Edge).

Mods can only be built for **one** of these versions, they will not work with both and
you cannot use both versions of BepInEx.

It's recommended you use 6.0, as it is the direction the community is intending to
create mods with in the future, but either way, it's important to know which version
the mod you want is made for.

Many mods here are also on Thunderstore as well. 6.0 is compatible with
Thunderstore while pre.1 versions are not. If you want to use a Mod Manager, see
the Mod Manager section of this guide.

Manual Install:
Supports 6.0 *or* pre-6.0, but not both
1. Download BepInEx. You can use either 6.0 or 6.0-pre.1:
a. 6.0-pre.1:
https://github.com/BepInEx/BepInEx/releases/download/v6.0.0-
pre.1/BepInEx_UnityIL2CPP_x64_6.0.0-pre.1.zip
b. 6.0:
https://thunderstore.io/c/shadows-of-doubt/p/BepInEx/BepInExPac
k_IL2CPP/
2. If you are using…
a. 6.0-pre.1 download, extract it into the same folder as ``Shadows of
Doubt.exe``.
b. 6.0, extract the folder and copy the contents of the **BepInExPack**
folder into the the same folder as ``Shadows of Doubt.exe`` instead.
Run the game, load the main menu and quit.
3. Download mods for your BepIn version. Most mods here clarify what version
they require. If you are using 6.0, you can also install from Thunderstore as
well. (https://thunderstore.io/c/shadows-of-doubt/).
4. Unzip and place the files in your own ``Shadows of Doubt\BepInEx\plugins\
`` directories, matching the structure in the zip file. If a plugins directory
does not exist in BepInEx, create one. Do not double-stack the plugins folder,
e.g. ``BepInEx\plugins\plugins``
5. Run the game. You will see a message that the mod has been enabled when
you load into a new game or previous savegame. If you do not or run into an
error, post in <#1106203905739730994> for support.

Mod Manager:
Supports 6.0
1. Download Overwolf and Thunderstore Mod Manager:
https://www.overwolf.com/app/Thunderstore-Thunderstore_Mod_Manager
2. Select the game "Shadows of Doubt". Create a new profile or use the default
profile.
3. Select "Get Mods". Install.
4. Press the Launch Modded button.

Piepieonline (@piepieonline) 12/30/2023 12:07 PM


If you don't like the thunderstore app, you can always use r2modman (which I do,
for the same reason)
https://thunderstore.io/c/shadows-of-doubt/p/ebkr/r2modman/

You might also like