Troubleshooting
Load Failure
Symptom: Your Mod doesn't appear in the UMM list, or shows as failed to load.
Troubleshooting:
- Does
Info.json'sAssemblyNamematch the actual DLL filename - Is
EntryMethodin the formatNamespace.Class.Load - Was the DLL actually copied to the
Mods/MyFirstMod/directory - Does
Loadreturntrue - Check the UMM log for error messages
Patches Not Taking Effect
Symptom: You wrote a Harmony patch, but the game behavior hasn't changed.
Troubleshooting (see Patch Lifecycle):
- The class must be
public static classwith[HarmonyPatch] - Was
PatchAllcalled inOnToggle(true) - Do the target method/class/parameter types exactly match (watch for overloads)
- Use
GetPatchInfoto check if patches were actually applied - Was the target method already called before the Mod was enabled
NullReferenceException
Symptom: NullReferenceException in the log.
Troubleshooting:
- Did you access
SettingsbeforeOnToggle - Could
__instancebe null (static method or null reference) - Decompile to confirm the actual field/property names of the target method
Transpiler Crash or Unexpected Behavior
Symptom: After applying a Transpiler, the game crashes or behaves strangely.
Troubleshooting (see Transpiler Practice):
- Use dnSpy to view the target method's real IL, confirming the matched instruction sequence exists
- Degrade gracefully on match failure (
IsValidcheck), don't throw directly - First add logging to output the instruction sequence and verify each one
Settings Not Saved
Symptom: Settings revert to defaults after restarting the game.
Troubleshooting:
- Is
OnSaveGUIbound toSettings.OnSaveGUI - Is
Settings.Savebeing called - Are the property types supported by UMM
CI Build Failure
Symptom: GitHub Actions reports it can't find DLLs.
Troubleshooting (see GitHub Actions Auto Build):
- Does the private lib repository directory structure match
HintPath - Was the
LIBS_PATSecret created and spelled correctly - Does the PAT have
contents: Readpermission - Will the local path
Conditionbe overridden in CI
Game Crash
Symptom: The game crashes immediately after enabling the Mod.
Troubleshooting:
- Check the last exception stack trace in
Player.log - Disable all Mods and enable them one by one to bisect
- If it points to your patch, use a
Finalizerto catch exceptions and avoid crashing - Confirm you haven't included game binaries in the build output (this causes load conflicts)
What You Learned
- First-line troubleshooting approach for common problems
- Which detailed chapter each issue maps to
Series Complete 🎉
You've completed the full ADOFAI Mod development workflow. Next, you can:
- Explore the Library Docs to process level files with code
- Try the Online Tools, or contribute your Mod tutorials to the User Guide