Cameron Main


← Back to Projects

Arcade Paradise: DOOM Arcade Cabinet


A MelonLoader mod that adds a fully playable DOOM arcade machine to Arcade Paradise.

DOOM gameplay running inside the Arcade Paradise cabinet DOOM running inside the custom Arcade Paradise cabinet.

Project Overview


This project began as an experiment in extending a commercial Unity game with a new arcade machine. The mod injects a DOOM cabinet into Arcade Paradise's existing arcade and Arcademania systems, allowing it to be discovered, purchased, delivered, placed and played like a native machine.

Rather than building a separate game window, the mod embeds the Managed Doom engine and bridges its software-rendered output, input, sound and music systems into the arcade cabinet inside Unity.

Key Features


Technical Implementation


The mod was written in C# for MelonLoader and targets an IL2CPP Unity game. Harmony patches hook into the game's existing machine, shop, delivery, save and interaction flows rather than replacing them wholesale.

The cabinet is created by cloning an existing arcade-machine prefab, replacing its machine data with a unique runtime data object, registering it with the arcade machine manager and attaching a custom DoomArcadeManager component.

Managed Doom runs as the embedded game engine. Custom Unity bridge classes translate its video framebuffer into a Unity texture, map player input to Doom events, route sound effects to Unity audio and provide MIDI playback through MeltySynth.

Engineering Challenges


Technology


C# Unity MelonLoader IL2CPP Modding Managed Doom

Links


Gallery