Classic Ultima Online on Godot .NET. GodotUO (GUO) carries over ClassicUO's C# game logic, networking and data readers, with Godot hosting rendering, input, audio and world/asset authoring tools.
Pre-release. Playable local-shard workflows have historical validation; complete gameplay, pixel parity and support for every shard/device are not claimed. You supply your own legally obtained UO installation. No game data is included or redistributed.
| Goal | Guide |
|---|---|
| Build, install or update | Getting started · Install and update |
| Play and configure | Gameplay and settings · Renderer and recovery |
| Author worlds and assets | Editor · Assets and Fiddler · World editing |
| Use AI or automation | AI and MCP · Scripted runs |
| Check scope and proof | Feature coverage · Visual guide · Known issues |
The GitHub Wiki is published from the reviewed documentation source.
Requirements: Godot 4.7.2 .NET (bootstrap fetches the pin), .NET SDK 10 with desktop .NET 8 runtime, Python 3.12+, Git and your own Classic UO data. See the target guide for Android/web .NET 9 and platform-specific dependencies.
launchers\pipeline\00_bootstrap.bat
copy launchers\_shared\config.local.bat.example launchers\_shared\config.local.bat
notepad launchers\_shared\config.local.bat
REM Set UO_CLIENT_DATA, an external UO_BUILD_DIR, and your shard host/port.
launchers\pipeline\01_verify_client_data.bat
dotnet build godot\GUO\GUO.csproj
launchers\dev\smoke.bat
launchers\game\play.batThe default server address is loopback port 2593; run a local ModernUO shard or configure your own server. Machine settings stay in gitignored local configuration. Generated output, caches and profiles belong outside the checkout.
Windows · Linux · macOS · Android ARM64 · Steam Deck · Web community-engine target
Evidence and limitations differ by target; an export path is not certification of every device. Controller, touch and dual-screen guides are in the wiki. The desktop renderer selects production Depth World where supported and keeps a canvas recovery path. HD art, audio packs and other presentation enhancements have their own opt-ins. Editor packages are excluded from exported clients; Labs requires an opted-in Debug build and never ships in an export.
Read CONTRIBUTING, AGENTS and the architecture guide. Compare GUO with ClassicUO at the same location, camera and settings when reporting rendering issues. Include the build/commit and reproducible steps; remove private account, chat, token and machine details from logs and screenshots.
GUO is BSD 2-Clause; see LICENSE and upstream notices. Ultima Online is a trademark of Electronic Arts. This unofficial fan project is unaffiliated with Electronic Arts or Broadsword Online Games.

