Migration Skill — AI-Assisted Debug System Migration

Most Unity projects have some form of homegrown debugging: OnGUI() menus, custom logger wrappers, IMGUI-based cheat panels, or performance HUDs. The migration skill teaches your AI to analyze these systems and produce an incremental migration plan — replacing them with Jahro features without breaking existing workflows.

What the skill does

When you ask your AI to migrate an existing debug system, it:

  1. Identifies what type of system it is (IMGUI menu, custom logger, cheat framework, performance HUD)
  2. Maps each existing capability to a Jahro equivalent
  3. Generates a step-by-step migration plan that runs both systems in parallel during transition
  4. Produces the replacement code (commands, watchers, logging)
  5. Provides a cleanup checklist for removing the old system

Example prompts

"Migrate our OnGUI debug menu to Jahro commands"

"Replace our custom logger with structured logging and Jahro"

"We use SRDebugger — what's the migration path to Jahro?"

"Convert our IMGUI performance HUD to Jahro watchers"

"We have a cheat menu built with UI Toolkit — migrate it to Jahro"

Systems the AI can migrate

Existing systemJahro replacementSkill used
OnGUI() debug buttons[JahroCommand] methodsCommands
Custom Debug.Log wrapperStructured [Tag] Action — key=value formatLogging
IMGUI variable displays[JahroWatch] attributesWatcher
Custom cheat menus (UI Toolkit, UGUI)Visual Mode command browserCommands
Performance HUDsWatcher with cached patternsWatcher
SRDebugger commands[JahroCommand] + [JahroWatch]Commands + Watcher
Custom screenshot captureSnapshot sessionsSnapshots

Migration approach

The skill follows an incremental strategy — it never recommends ripping out your existing system in one step.

Phase 1: Run both systems in parallel. Add Jahro equivalents alongside the existing code. Verify they produce the same results.

Phase 2: Redirect usage. Point your team to the Jahro console instead of the old system. Keep the old code in place as a fallback.

Phase 3: Remove the old system. Once the team is comfortable, delete the old debug code and its dependencies.

Example: OnGUI menu to Jahro commands

Before — scattered OnGUI() debug buttons:

void OnGUI()
{
    if (GUI.Button(new Rect(10, 10, 150, 30), "Reset Game"))
        ResetGame();
    if (GUI.Button(new Rect(10, 50, 150, 30), "God Mode"))
        ToggleGodMode();
    if (GUI.Button(new Rect(10, 90, 150, 30), "Skip Level"))
        SkipLevel();
}

After — Jahro commands (OnGUI code still present during Phase 1):

[JahroCommand("reset-game", "Debug", "Reset the current game state")]
public static void ResetGame() { /* existing logic */ }
 
[JahroCommand("god-mode", "Cheats", "Toggle invincibility")]
public static void ToggleGodMode() { /* existing logic */ }
 
[JahroCommand("skip-level", "Debug", "Jump to next level")]
public static void SkipLevel() { /* existing logic */ }

The existing OnGUI() block stays until your team confirms the Jahro commands work identically. Then remove it.

Contextual awareness

The migration skill has proactive pattern recognition. If the AI sees any of these in your code, it suggests migration without being asked:

  • OnGUI() with debug buttons → suggests Jahro commands
  • Debug.Log inside Update() → suggests [JahroWatch] instead
  • Custom DebugMenu or CheatManager classes → suggests reviewing for migration
  • SRDebugger imports or attributes → suggests Jahro equivalents

Verification

After migrating a system:

  1. Run the game and verify all migrated features work through the Jahro console
  2. Compare behavior between old and new implementations
  3. Check that no OnGUI() draw calls remain in builds where they're not needed (verify with the Profiler)
  4. Confirm the old system can be disabled without breaking gameplay

Frequently Asked Questions

Can the AI migrate from SRDebugger specifically? Yes. The skill maps SRDebugger's option containers to [JahroCommand] and [JahroWatch] attributes. The AI generates equivalent code using Jahro's API. Since SRDebugger is an Asset Store package, removal is straightforward once the migration is verified.

How long does a typical migration take? For a small project (10-20 debug functions), the AI generates the replacement code in a single session. For larger codebases, the incremental approach means you can migrate one system at a time over multiple sessions.

Will the migration break my existing build? No. The incremental approach runs both systems in parallel. Nothing is removed until you explicitly delete the old code after verifying the Jahro equivalents.

Can I migrate only part of my debug system? Yes. Each Jahro feature is independent. You can migrate your cheat menu to commands while keeping your custom logger, or migrate your performance HUD to watchers while keeping your OnGUI menu.

Last updated: April 2, 2026