Dungreed was released on PC in 2018, and Nicalis approached me about console ports in the second half of 2019. Apart from some shader issues on Nintendo Switch the main issue was upgrading the Unity engine from version 5.6 to 2018. This was necessary because both Nintendo and Sony did not support Unity 5.6 anymore. The engine upgrade introduced many issues, so the port took longer than expected. It was first released in October 2020 on Switch and PS4.
After the console release, Team Horay continued to work on the game and released a number of patches for the PC/Steam version. In hindsight, it would have been a good idea to get them to upgrade their project to Unity 2018 themselves before starting the console port. Nicalis approached me again in 2021 about submitting patches to Switch and PS4 to reflect the updated PC/Steam version. I was not in direct touch with Team Horay, so it was only then I discovered that they had >800 new commits on their Git repository and were still using Unity 5.6.
I had to go through the painful upgrade process again, and then a second time in 2022, just to transfer Team Horay’s patches and additional content from the PC version to the console version. The big problem with Unity are the the scene files which are not really compatible between major versions of the engine and cannot be automatically merged using text-based tools.
Another challenge was that the console version’s English, Japanese, and Mandarin translations were edited by Nicalis and Pikii, while the texts of the PC version in the same languages were left untouched. For each console patch, a large number of new and updated localization strings had been introduced in the PC version and had to be reviewed by the localization teams of the console version.
To make these revisions easier I wrote a localization tool to automatically generate a Google Sheets document with the localization strings of multiple versions of the game next to each other, highlighting texts that were updated on PC since the last console release. The localization teams of Nicalis and Pikii could then send me a link to their updated Google Sheet and the tool was able to download the sheet and patch the game’s XML file with the updated strings.
In 2024 I was tasked to bring another major patch from PC to consoles, this being the fourth time I was involved in the project. Team Horay had already released Dungreed for Android and upgraded the game to Unity 2020 in the process. I wanted to stay at Unity 2018 with the console ports because Unity 2020 wasn’t supported anymore by Nintendo or Sony, and it’s faster to submit a patch using the same SDK and engine as the original submission.
Downgrading Unity projects isn’t officially supported. Unity’s scene file format and the changes between versions are poorly documented, so I had to resort to reverse engineering and manually patching component and sprite references in large scene files. For this, I wrote dedicated tools in Python, using the unityparser and PyYAML packages. The final Dungreed patch Switch and PS4 was released in May 2024.