As the video game industry grows older, the danger of leaving its past behind grows. Games from even 20 years ago are often nearly impossible to play today, making preservation an urgent matter for fan communities that wish to reintroduce their old favorites to modern players. It is not surprising that enthusiasts (many from the modding scene) are finding recompilation initiatives attractive projects to take on that come with their own set of complications.
Recompilation projects come in all shapes and sizes and make an effort to preserve older games by porting them to PC with the exact same foundations as their console origins. These foundations could then become the basis for further graphical or content options depending on the needs of the community and the desires of the team working on it, starting with a handful of famous Nintendo 64 titles. It was only a matter of time until the Sonic the Hedgehog developer community, long known for extensive and and often incredibly impressive fangames, decided to take it a step further.
Enter the Werehog
The oft-overlooked 2008 title Sonic Unleashed is a fan-favorite, despite a mixed reputation in wider circles. While the game landed on multiple platforms, the Wii and Xbox 360 versions differed greatly in design, with much of the community preferring the Xbox 360 version. This meant that emulation was the only option for people to play it on working modern hardware and Xbox 360 emulation, while competent, was not ideal.
"Recompiling the game's code is only the beginning," said Skyth, the main programmer behind Unleashed Recompiled and a well-known modder within the Sonic community. "That alone won't make the game functional, you still need to implement a translation layer for the functions imported from the console system by creating a runtime. This includes memory management, file system, synchronization, audio, and, most importantly, video output."
Skyth started looking into what it would take to accomplish this dream goal of bringing Unleashed to PC, albeit in a way that requires ownership of the Xbox 360 game to play. He declined to use his real name for this story, preferring to be publicly known as his nom de plume to which the project is attached. "We have been getting close by porting parts of Sonic Unleashed to Sonic Generations, but this would require too much work rewriting everything, and it would always be missing the most important part of the game: the Werehog."

Via Sega/Mobygames
Skyth cites a Sonic Generations mod for PC that launched in 2013, successfully porting all of Sonic Unleashed's daytime levels—that is, levels with a speed focus that featured Sonic in his traditional blue form—playable within Sonic Generations. The two games share a framework of Sega's proprietary Hedgehog Engine, but porting the content over was no simple task. It being done with relative quickness was, however, an indication that anything was possible. While a remarkable effort, the team responsible was not able to bring over the other half of the game, Sonic's Werehog form.
The Werehog was, as it sounds, an interstitial part of the game where Sonic undergoes a werewolf-like transformation and fights enemies in slower third-person combat. The developers looked at some of the aforementioned recompilations of N64 titles and asked, well, why not Sonic, too?
This question percolated among Sonic modders for years, but was inevitably met with the conclusion that it would simply be too difficult to accomplish, until those Nintendo 64 recompilations started gaining steam. Retro modder Mr. Wiseguy, a minor celebrity on Github due to his extensive N64 mod library, developed the first recompilation tools for the console and used them to create a recompilation of The Legend of Zelda: Ocarina of Time. Convinced of the viability of the technology, Skyth and his team were motivated to give the comparatively advanced Sonic Unleashed a try in September 2024.
Alongside a team of dedicated Sonic fans and modders, Skyth and others got to work on bringing the fan-favorite game to PC. The group determined that focusing solely on Sonic Unleashed meant they could cut some corners and ignore generic functionality in favor of what one game's specific needs.
The Unleashed PC port, titled simply Sonic Unleashed Recompiled, deemed the project successfully complete in March. While Xbox 360 recompilations have always been a starry-eyed dream for a lot of programmers, the tools to do so just were not feasible, making any release candidates more wishful thinking than a realistic goal at the time. Skyth and the Unleashed Recompiled team did not take that as a good enough reason not to try.
Recompiling Sonic's 360 efforts
"The recompilers were developed by heavily referencing the Xenia emulator, which normally performs dynamic recompilation while running a game," Skyth elucidated, launching into a lengthy explanation. "We take this concept to recompile games statically instead. Static recompilation can be typically done by emitting LLVM IR, but we chose to output C++ to make it easier to build and interface with the runtime. For Sonic Unleashed, we had to implement a total of 343 PowerPC instructions. The difficulty varied from taking just a minute to implement, to leaving us confused for hours. Simply converting the instructions wasn't enough, we also had to analyze and determine function boundaries to make them callable from the runtime. We wrote an analyzer to automate most of this process, but some function boundaries still required manual fixes."
These compiled binaries also contained "jump tables" for executing conditional code without the exhausting need to compare to every possible value.

Via Sega/Xbox store
Since the Xbox 360 compiles them in relatively predictable patterns, Skyth explains, the team was able to write an analyzer to extract them. Essentially, they were pulling a text from a book written in a foreign language and trying to decode it. After that, they developed a patch system to replace entire functions or inject their own code to handle the enhancements they planned for Unleashed Recompiled.
"Editing the converted C++ code directly wasn't practical, it was unreadable and unmaintainable, because any change to the recompiler's output format could break our edits. Instead, we specified the patches in separate files, ensuring their code remained self contained and easy to manage. The shader recompiler converts Xbox 360 shader binaries to HLSL, which is the shader language used for Direct3D applications. Like the PowerPC recompiler, it was developed by heavily referencing the Xenia emulator, but unlike Xenia, our shader translation happens entirely offline, which helps with eliminating shader compilation stutters. By outputting HLSL, we could easily inject global enhancements into the shaders, and the compiler would optimize them out if they weren't needed."
Rather than just directly port Unleashed to PC as a no-frills, barebones port, the Unleashed Recompiled team decided to make improvements to the options of the game that exceeded the original's scope. This included a toggle for the battle theme as the Werehog, a cacophonous jumble of jazz horns that was not particularly well-liked in the game's original release.
"Many of the features were motivated by our own frustrations as PC players. High frame rates, great performance, smooth frame pacing, ultrawide support, responsiveness, and no shader compilation stutter should be the bare minimum in a PC port, yet many lack them. We made sure these features worked correctly. Our philosophy was to avoid adding options that could break the game's design while preserving as much of the original experience as possible. The Werehog battle theme toggle was the sole exception, since it's purely cosmetic and widely requested."
What's next for recompilers
The response to Unleashed Recompiled has provided some hope for the preservation of modern games. The Xbox 360 is rife with games that never made the leap to PC, somehow slipped through the cracks of backwards compatibility, or are otherwise lost to time. A proper recompilation effort could bring games, like the Xbox Live Arcade version of Castlevania: Symphony of the Night, to new audiences. These titles could end up aging out as lost media, being tied to a console with an infamous failure rate that is rapidly coming up on two decades old. The chances for fresh eyes to play these games grow thinner every day that efforts are not made to preserve them.
Skyth also notes that his most desired recompilation personally is Need for Speed: Most Wanted, as the Xbox 360 version differs in "interesting ways" from its PC port, such as the PC version lacking the 360 version's higher quality car models and the proper filters for the game's security camera-style footage. The PC version has also, it is worth noting, been completely delisted from sale.
Skyth cautions that while Unleashed Recompiled is an optimistic first step, they did not build a magic button that easily brings any Xbox 360 game to PC quickly and easily.
"The reception to the recompilers has also been exciting, but I believe people need to temper their expectations a little. While the recompilers handle one of the hardest parts of porting Xbox 360 titles to PC, they don't provide a runtime implementation. That responsibility still falls on the port developer and requires a good amount of work. But this is why the projects are open source in the first place, so we all can reference each other to do this more easily."