Skip to content

Limitations


Not supported during Play Mode

Category Details
async / await Async methods cannot be hot-patched
ref / out / in By-reference parameters are not supported
Abstract / extern No method body to patch
New Unity messages Adding Update() etc. mid-Play-Mode requires recompile
Editor scripts Files under Editor/ folders are excluded
Package Cache Files under Library/PackageCache/ are excluded
IL2CPP / player builds Editor Play Mode only
Burst / Unity Jobs Not supported
Device debugging No patching on physical devices
Method overloads Resolution is by method name only

Fields

Hot Patch has limited field support:

Supported Not supported
Adding new instance fields during Play Mode Editing/deleting existing serialized fields with Inspector sync
New fields available inside patched methods Re-running field initializers on existing instances
Static field additions
Full Inspector integration for hot-added fields

Partially supported

Feature Notes
Return type changes Supported via surrogate indirection when types are compatible
New methods in existing types Compiled and available to patched code; not auto-hooked into Unity dispatch
Method renames Treated as delete + add; invoke the new name
New .cs files during Play Mode Compiled dynamically; not in Assembly-CSharp until domain reload
Lambdas in static fields Delegate may hold old version until re-assigned

Always requires full recompile

  • .asmdef file changes
  • Scripting define symbol changes
  • .csproj / .sln changes
  • Adding new Unity message methods
  • async to sync (or reverse) conversion
  • Adding ref / out / in to parameters