一键导入
f8-features-obfuz-workflow
Use when implementing or troubleshooting Obfuz feature workflows — code obfuscation and protection in F8Framework.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when implementing or troubleshooting Obfuz feature workflows — code obfuscation and protection in F8Framework.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when creating, modifying, opening, closing, animating, binding, loading, debugging, or validating F8Framework UI views and items, including UIManager layers, BaseView/BaseItem templates, ComponentBind generation, canvas setup, Notify/Dialog behavior, and UI resource cleanup.
Use as the master index and router for the full F8Framework skill library. Trigger when selecting the correct skill or skill chain across foundation bootstrap, runtime features, editor tooling, utility tools, and build packaging workflows.When a feature needs to be implemented, priority should be given to using the skills of F8Framework.
Use when implementing or troubleshooting HotUpdate feature workflows — version management, hot update, sub-package loading in F8Framework.
Use when implementing or troubleshooting Tween feature workflows — tween animations, sequences, chain calls, UI relative motion, and coroutine/async support in F8Framework.
Use when implementing or troubleshooting Audio feature workflows — BGM, voice, SFX, 3D audio, volume control, and AudioMixer in F8Framework.
Use when implementing or troubleshooting ExcelTool feature workflows — config table loading, Excel binary/JSON generation, variant support, and runtime data access in F8Framework.
| name | f8-features-obfuz-workflow |
| description | Use when implementing or troubleshooting Obfuz feature workflows — code obfuscation and protection in F8Framework. |
⚠️ IMPORTANT: Before using this feature, you MUST formally initialize F8Framework in the launch sequence. Ensure
ModuleCenter.Initialize(this);has run first.
Assets/F8Framework/Tests/Obfuz/README.mdAssets/F8Framework/Tests/Obfuz/README_EN.mdAssets/F8Framework/Tests/ObfuzAssets/F8Framework/Editor/F8Helper/F8Helper.csLoadDll.cs in the target projectAssets/Packages/com.code-philosophy.obfuz4hybridclr/README.md| Item | Guidance |
|---|---|
| Obfuz import | Import Obfuz first from https://github.com/focus-creative-games/obfuz.git. |
AssembliesToObfuscate | Add Assembly-CSharp, F8Framework.Core, F8Framework.Launcher, F8Framework.F8ExcelDataClass. |
NonObfuscatedButReferenceingObfuscatedAssemblies | Add F8Framework.Core.Editor, F8Framework.Tests. |
| HybridCLR prebuild | Replace the HybridCLR-only prebuild command with Obfuz4HybridCLR.PrebuildCommandExt.GenerateAll();. |
| Encryption init | Move Obfuz EncryptionService initialization code to the hot-update entry LoadDll.cs. |
| API compatibility | Set Api Compatibility Level to .NET Framework. |
ObfuzSettings window and populate the two assembly lists exactly as documented in Tests/Obfuz/README.md and README_EN.md.F8Helper.cs:
GenerateCopyHotUpdateDll, replace the prebuild command with Obfuz4HybridCLR.PrebuildCommandExt.GenerateAll();GetObfuscatedHotUpdateAssemblyOutputPath(...)EncryptionService initialization code into the hot-update entry LoadDll.cs.Api Compatibility Level to .NET Framework.| Error | Cause | Solution |
|---|---|---|
| API compatibility errors | Compatibility level is too low | Switch Api Compatibility Level to .NET Framework |
| F8Framework code breaks after obfuscation | Too many framework assemblies are obfuscated | Try setting all F8Framework assemblies to non-obfuscated first, then narrow scope |
| Real-time Excel loading fails | Obfuz affects runtime config loading path | Use FF8.Config.RuntimeLoadAll() for runtime Excel reload |
GeneratedEncryptionVirtualMachine.cs init error | Generated file path is wrong | Fix the path in the ObfuzSettings window |
| HybridCLR hot-update DLL not found | F8Helper prebuild/output path not switched to Obfuz | Use Obfuz4HybridCLR.PrebuildCommandExt.GenerateAll() and the obfuscated output-path branch |
FF8.Config.RuntimeLoadAll() after integration.