Repository navigation
Home
GodotUO ports the Classic Ultima Online client to Godot 4.7 .NET. It is a transplant of ClassicUO, not a rewrite: the network stack, the file readers and the game logic are carried across as C#, and only the parts that genuinely bind to FNA (the renderer, the input layer, the audio and the game loop) are reimplemented on Godot.
You supply your own Ultima Online installation. No game data is distributed with the project, and the client only ever reads your install.
| Release state | Pre-release. Playable on a local shard; not yet at pixel parity with ClassicUO. |
| Port coverage | 396 / 396 upstream files present, by the audit's count (docs/port_status.md). "Ported" means present and compiling, not proven working. |
| What is verified | Logs in, walks, opens gumps and hosts assistant plugins against a local ModernUO shard (launchers\dev\playtest.bat, plugin_probe.bat). Side-by-side sweeps against ClassicUO in eight places: docs/parity_2026-09-23.md, docs/parity_2026-09-26_night.md. |
| Platforms | Windows 10/11 x64 (developed and exported). Android 12+ ARM64 debug APK, run on one device (ADR-0017). Steam Deck (SteamOS, Linux x86_64) export (ADR-0018). Web: plays on a local shard in Chrome (Firefox to the login screen) on a community engine build, see Web Client. |
| Engine | Godot 4.7.2 stable, mono/.NET build, pinned and fetched by the bootstrap step. The non-mono build will not work. |
| Language | C# on net8.0 (net9.0 for the Android export), Python 3.12 tooling. |
- New here: Getting Started, then Configuration.
- Want a build: Windows Build, Android Build, Steam Deck, Web Client, Dual Screen, or Download a build.
- Playing: Servers and Accounts, Controller, Asset Store.
- Playing on a phone: Mobile UI, Canvas Background.
- Something wrong: Troubleshooting, Known Issues, Community and Support.
- Building content: Building Multis, Author UO Data.
- Contributing: Contributing, Working with AI Agents, Roadmap, Glossary.
- A different look for the world: Screen Effects.
- Planning player helpers: Player command index and controller research.
- Planning the second screen: OpenMW-DS comparison, tabs, gump transfer, and pinch scaling.
- Resizing or moving windows: Gump size and screen controls.
- Need a server: Dev Shard.
- Working on the port: Launchers and Tools, Scripted Runs and Probes, Parity and Drift, Architecture, Editor, Manage Your Shard From the Editor, Author UO Data, Contributing.
- New to GUO: What is GUO?, and how it differs from ClassicUO.
- Short answers: FAQ.
- What does not work yet: Known Issues.
GUO is BSD 2-Clause, the same licence as ClassicUO. Ported files keep
their upstream copyright header; the licence text and the reviewed upstream
commit are in docs/upstream/. The .claude/ agents and skills are MIT, adapted from
Claude Code Game Studios. Godot is MIT and is fetched, not redistributed.
Ultima Online is a registered trademark of Electronic Arts Inc. GUO is an unofficial, fan-made project with no affiliation to Electronic Arts or Broadsword Online Games, and it contains none of their game data.
Every "works" statement on these pages traces to one of three things: an
ADR's Validation section (docs/architecture/), a tool README's run log
(tools/*/README.md, the "what has actually been run" tables), or a commit
message that names the evidence. Where the sources themselves say a thing is
written but not exercised, the page says written, not verified.
Start
- Getting Started
- Configuration
- Launchers and Tools
- What is GUO?
- FAQ
- Known Issues
- Troubleshooting
- Glossary
Builds
Playing
- Servers and Accounts
- Controller
- Mobile UI
- Canvas Background
- Screen Effects
- Asset Store
- Dev Shard
- Server Compatibility
Developing
- Scripted Runs and Probes
- Parity and Drift
- Editor
- World Editing
- Manage Your Shard From the Editor
- Author UO Data
- Building Multis
- Architecture
- Working with AI Agents
- Contributing
Project