Skip to content
DatMoshuPublic

About

Classic Ultima Online client ported from ClassicUO to Godot 4 .NET

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Repository files navigation

GodotUO

GodotUO — the Ultima Online ankh sigil from the GUO splash screen

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.

Castle British gardens in GUO on a local ModernUO shard; historical repository illustration

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.

Start here

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.

Build on Windows

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.bat

The 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.

Platforms and feature boundaries

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.

Contribute

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.

About

Classic Ultima Online client ported from ClassicUO to Godot 4 .NET

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages