# HybridCLR Phase 1 ## Scope This phase only adds the hot-update foundation. It must not move turn actions, AI, network sync, MapData, replay, save compatibility, MemoryPack, Steam lobby/P2P, Workshop, or backend auth into hotfix assemblies. ## Added Layout - `Assets/Scripts/TH1_Hotfix/TH1.Hotfix.asmdef`: first hot-update assembly. - `Assets/Scripts/TH1_Hotfix/HotfixEntry.cs`: smoke-test hotfix entry. - `Assets/Scripts/TH1_Logic/Hotfix/HotfixBootstrap.cs`: AOT-side loader. - `Assets/Scripts/TH1_Logic/Editor/HybridCLR/TH1HybridCLRBuildTools.cs`: TH1 menu shortcuts. Runtime artifact layout: ```text Assets/StreamingAssets/HybridCLR/ HotfixDlls/ TH1.Hotfix.dll.bytes AOTAssemblies/ mscorlib.dll.bytes System.dll.bytes System.Core.dll.bytes ``` The loader silently skips when `TH1.Hotfix.dll.bytes` is missing, so the Steam/editor flow can still run without any hotfix package. ## First Local Verification 1. Let Unity resolve `com.code-philosophy.hybridclr`. 2. Run `HybridCLR/Installer...`. 3. Run `Tools/TH1/iOS Migration/HybridCLR/2. Configure TH1 Hotfix Settings`. 4. Run `Tools/TH1/iOS Migration/HybridCLR/3. Generate All`. 5. Run `Tools/TH1/iOS Migration/HybridCLR/4. Compile Hotfix Dll`. 6. Run `Tools/TH1/iOS Migration/HybridCLR/5. Copy Hotfix Artifacts To StreamingAssets`. 7. Run `Tools/TH1/iOS Migration/HybridCLR/6. Test Load StreamingAssets Hotfix In Editor`. Expected editor console smoke output: ```text [TH1.Hotfix] Initialize version 0.1.0 [TH1.Hotfix] Loaded TH1.Hotfix, ... ``` ## Next Boundaries - Keep first hotfix content limited to UI presentation helpers, non-networked fixes, and feature flags. - Do not add Steamworks references to `TH1.Hotfix`. - Do not use hotfix as a way to bypass App Store review. Prefer resources/config for content updates and reserve code hotfix for cautious compatibility fixes.