Skip to content

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:

  1. Save the file to disk - Hot Patch watches files, not unsaved editor buffers
  2. Press Start on the Hot Patch Home tab
  3. Enter Play Mode - patching only happens while playing
  4. Run the code again - edit Update and wait a frame; edit a button and click it again
  5. Read the Home log - it shows saves, skips, and errors
  6. 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

  1. Confirm the option is enabled in Settings
  2. Method must return void
  3. Parameters must be empty or a supported patch list type
  4. Instance handlers need live MonoBehaviour instances in the scene
  5. 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

  1. Exit Play Mode
  2. Confirm Edit → Preferences → Asset Pipeline → Auto Refresh is on
  3. 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

Still stuck? See FAQ or Support.