This repository provides the FMOD Studio integration for Unity, enabling audio middleware functionality in Unity games. It consists of runtime components (MonoBehaviours like StudioEventEmitter, StudioListener, and StudioBankLoader) that interface with the native FMOD API via C# wrappers (fmod.cs and fmod_studio.cs), and extensive editor tools for setup, event browsing, bank management, and reference updating. The architecture features platform abstraction via a base Platform class with platform-specific subclasses, a Settings ScriptableObject for configuration, and reusable patterns like attribute/drawer systems for referencing FMOD events, parameters, and banks. Key entry points include RuntimeManager for initialization, StudioEventEmitter for playback, and editor windows such as EventReferenceUpdater for migrating obsolete references. The system handles 3D audio, Unity Timeline integration, and platform-specific binary loading across iOS, Android, Windows, macOS, Linux, WebGL, Apple TV, and VisionOS.
The Doomsday Engine is a modular game engine and source port for classic FPS games (Doom, Heretic, Hexen, Doom64) with client-server architecture. It provides enhanced rendering (OpenGL), audio systems, GUI frameworks, networking, and scripting capabilities. The engine supports extensibility via plugins and includes tools like Amethyst for documentation processing. The codebase shows strong separation of concerns with distinct libraries for core functionality, game logic, rendering, and UI. While actively maintained, it exhibits technical drift due to platform-specific conditionals, legacy code sections, and complex dependency management.