Over the last week we saw a rising interest in tools that allow migration from Unity to other game engines. I want to share some thoughts on the technical aspects of the migration and propose a few approaches to simplify it.
Script migration is probably the biggest challenge for the developer. Unity’s engine APIs can not be easily ported to other platforms. Moreover, porting scripts requires an understanding of the target engine’s equivalent APIs, which could be problematic given a steep learning curve when moving to a new technology.
However, I believe that modern LLMs can greatly simplify the migration. LLMs excel at translating language and coding. We can leverage it to make our jobs easier.
We have created a Proof of Concept that uses ChatGPT 3.5-Turbo model to migrate all project Unity classes to GDScript (Godot script) and saw some satisfactory results (*):
As you can see, most of the names and methods were translated correctly. However, manual intervention will be required (for instance, InvokeRepeating was not ported correctly, Start() method name should have been _ready(), etc.).