Skip to content

Migrate from Unity to Godot

Forge ships a unity-to-godot factory skill that gives the agent a concept map for porting Unity projects to Godot 4. There’s no automated converter; the skill is for guided rewrites where you walk through the project one piece at a time and let the agent suggest the Godot equivalent.

Triggers on phrases like “migrate from unity,” “unity to godot,” “convert this to godot,” and similar. When it fires, the agent has access to a mapping document that covers:

  • Lifecycle: Awake / Start / Update to Godot’s _ready / _process / _physics_process.
  • Scene structure: GameObjects with components to nodes with attached scripts.
  • Prefabs to PackedScenes.
  • ScriptableObjects to Resources.
  • Coroutines to async or signals.
  • UnityEvents to Godot signals.
  • Input handling (Input.GetAxis to InputEvent, InputMap actions).
  • Physics (Rigidbody to RigidBody3D / CharacterBody3D, layers and masks).

The skill is markdown. Look at it directly in ~/.forge/skills/unity-to-godot.md if you want to see the full mapping.

  1. Open the Unity project in Forge so the Unity skills also fire when needed (the agent benefits from understanding the source as much as the target).

  2. Pick a vertical slice. Player controller, one enemy AI, a UI panel. Don’t try to port everything at once.

  3. Ask the agent to translate that slice. For example:

    Look at Assets/Scripts/Player/PlayerController.cs. I’m porting this project to Godot 4. Show me the equivalent Player.gd plus the scene tree it would attach to.

  4. The agent reads the C# (with Unity context), maps it through the migration skill, and proposes a Godot version. If you have a Godot project open in another window or another Forge instance, you can iterate on the translated output there.

  5. Move on to the next slice once you’re happy with the translation.

  • Not a one-click converter. No tool can correctly translate a real Unity project to Godot automatically. The skill is for guided, slice-by-slice rewrites.
  • Not asset porting. Sprites, models, audio, and most other assets work in both engines without modification, but the import settings (compression, mipmaps, addressables) need fresh decisions in Godot.
  • Not visual scripting. If the Unity project uses Bolt or Unity’s visual scripting, the translation is much harder and the skill doesn’t cover it well.

Translations land as code edits. Use Plan mode so the agent emits diff cards rather than writing directly, and review each translated file before it lands. Migration is the kind of work where the agent’s first attempt is usually 80% right and the remaining 20% needs human judgment.