Troubleshooting¶
Something did not update, the log looks odd, or Unity recompiled when you did not expect it? Start here.
Changes don’t show up¶
Go through these in order:
- Save the file to disk - Hot Patch watches files, not unsaved editor buffers
- Press Start on the Hot Patch Home tab
- Enter Play Mode - patching only happens while playing
- Run the code again - edit
Updateand wait a frame; edit a button and click it again - Read the Home log - it shows saves, skips, and errors
- Press Recompile - forces a full re-apply from disk
Remember
Hot Patch does not re-run Awake / Start just because you edited them. Trigger something that executes again.
No patch after I saved¶
Common reasons:
- Only comments or whitespace changed
- File lives under an
Editor/folder or an excluded assembly - Edit is unsupported (
async,ref/out, brand-new Unity message) - Type was not loaded when Play Mode started
Try: Press Recompile. If the log shows a skip reason, fix that first.
Also see When a save does nothing.
Editor folder warning¶
Runtime gameplay scripts cannot live under Editor/ folders. Move them to something like Assets/Scripts/.
“Type not available in the loaded domain”¶
Usually a new .cs file created after you entered Play Mode. Hot Patch can compile new types, but the file must be valid C#. Check the log for compile errors.
“New Update() requires Unity recompile…”¶
You added a Unity callback that did not exist when Play Mode started. Unity only discovers those methods at compile time.
Fix: Exit Play Mode (or recompile in Edit Mode), then play again - or edit a callback that was already on the script.
Domain reload during Play Mode¶
Something forced a full script recompile (manual Refresh, another tool, IDE auto-refresh). All live patches are cleared.
Fix:
- Start Hot Patch before entering Play Mode
- Avoid Assets → Refresh while testing
- In Rider, disable Automatically Refresh Assets in Unity
Only updates when I focus Unity¶
Enable Run In Background:
Edit → Project Settings → Player → Resolution and Presentation → Run In Background
Also keep Detect saves when Unity regains focus enabled in Settings.
Saves feel slow to detect¶
Hot Patch reacts when the file hits disk. Turn on autosave in your IDE:
| IDE | Where |
|---|---|
| Rider | Settings → Appearance & Behavior → System Settings → Save files when switching apps |
| VS Code | File → Auto Save |
| Visual Studio | Tools → Options → Environment → Preview Features → Autosave |
If your IDE writes files in multiple steps, raise File save debounce in Settings.
Unity recompiles on every Play / exit¶
Often caused by other assets or Editor scripts (Sprite Packer modes, AssetDatabase.Refresh on play-mode change, [InitializeOnLoad] compile requests).
Hot Patch’s Recompile when exiting Play Mode setting also requests a compile after you edited scripts. Turn it off in Settings if you want to control that yourself.
Compile errors in the Hot Patch log¶
The saved C# is not valid in your project context. Fix the error in your IDE - the next good save will patch.
[InvokeOnHotPatch] never runs¶
- Confirm the option is enabled in Settings
- Method must return
void - Parameters must be empty or a supported patch list type
- Instance handlers need live
MonoBehaviourinstances in the scene - Only successful patches fire the callback
Details: Run code after a patch.
High CPU while playing¶
Increase the Background poll interval (for example to 1.0s) so Hot Patch checks less often. Raise File save debounce if you see duplicate patch attempts.
On Windows, real-time antivirus scanning of the project folder can add cost - consider an exclusion for your repo.
Auto-refresh stuck after removing Hot Patch¶
- Exit Play Mode
- Confirm Edit → Preferences → Asset Pipeline → Auto Refresh is on
- Restart the Unity Editor
Report a bug¶
Open the Issue Tracker and include:
- Unity version
- Hot Patch version (window header)
- Steps to reproduce
- Relevant lines from the Home log
- The script change you tried