Unity Underground
A downloadable engine port for Windows
Unity Underground is an engine recreation of the 1992 immersive sim RPG classic. It includes the Unity-based engine and new 3d models and sounds, but requires original game data to work. When you run the game, you can point it to the installation folder for the original GoG files, or have it search for them.
- all enemies fully modelled and animated
- all inventory and environment objects fully modelled
- unique audio and particle effects
- supports mouse and keyboard, or xbox controller or equivalent
- complete
I've been working on this since 2015, and wouldn't have been possible without previous hackers' generosity in sharing their results.
Changelist:
27 March 2026: fixed the data location persisting between runs.
28 March 2026: fixed european locale. fixed projectiles stacking.
28 March 2026 (b): fixed conversation at 800 pixels height for steam deck. added autorepeat to inventory movement.
14 April 2026: fixed goblin detecting player opening treasury; fixed bullfrog puzzle controls; fixed light source duration; fixed reveal spell potential crash; fixed night vision, drunk, and trip effects around save game; fixed barter items not having names; halve Tyball health when orb destroyed.
17 April 2026: fix rune bag Y icon to show Dr Owl; added Y to plant silver seed; increased weapon hit pause and added rumble; gave victory music priority over map music; centered conversation on the screen; added blood stains when critters die; fixed missing voice line in intro; hid weapon when it is supposed to be out of view; removed bullfrog "Reset Activated" voice over; fixed A button icon remaining after looking at grave; fixed silver/gold switch puzzle.
18 April 2026: fixed invisible enemy spawning; fixed bloodstains being spawned in the air or on water or lava.
19 April 2026: summoned monsters wander until they have a target; fixed wand of Acid and wand of Electrical Bolt; reduced volume of lava and water walk footsteps; fixed map color for puddles in Dorna's room; clamped throw speed and added a charge ring on the icon; fixed position of trade items after centering conversation.
25 April 2026: fixed damage traps (eg path to Ironwit's key, Tyball's maze); fixed equipped weapon being deleted when thrown; fixed quote marks in dream subtitles; fixed graves sometimes being rotated; fixed loose tile for wine (and some other scripting); fixed duplicate silver seed; allow repairs to serviceable items; silver sapling revive removes spells; no rock fall when rescuing princess; fixed particles on Tyball's orb; fixed Tyball and gazer floating when running and dying; fixed critter respawn if dying when changing level; shrine reports bad mantra before saying you can't advance; fixed duplicate key of truth.
27 April 2026: fixed edge of lava pit not destroying talismans; cast tremor when a talisman is burned; reduced volume of the cup dream sting; prevent magic, inventory, save, sapling rebirth on level 9; made moongates a little taller; increased duration of daylight to 5 minutes; added Basara Dragon to credits; fixes for some achievements progress not saving.
2 May 2026: player projectiles can damage doors; fountain restores some mana and cures poison; player projectiles' damage is skill-based; fixed sling swoosh sound timing; fixed shak loot not having names; prevent bloodstains corrupting scripting; fix camera height when flying from swimming; fixed some writing snap to wall; fixed random goblins having cloaks; freeze time removes critter defence; curse Tyball when orb destroyed; multiskill mantras choose more intelligently when skills maxed out; allow rock hammer to break small boulders; save castSpells for achievement; give skills when reading a few books; fixed rare seed sleeping bug; don't randomly rotate runestone after load; fix too big bloodstain collision; prevent critters stepping up on arrows etc; dominus identifies items properly; improved the 't' in the font.
4 May 2026: fixed an egregious load game bug.
4 June 2026: keyboard and mouse support. also changed gamepad to have modal magic and inventory dialogs. movement with WASD; space to jump; press Q for magic panel, E for inventory panel, and R for stats panel; tab for the map; Esc for save/load/options. Left click to look. Left drag or hold to pick items up or interact with things (eg doors). Right hold to charge up a weapon strike.
7 June 2026: added mouse look multiplier; fixed effects volume multiplier; fixed auto key use and auto jump options (couldn't turn them off); added a brief controls tutorial.
| Updated | 18 days ago |
| Status | Released |
| Category | Game mod |
| Platforms | Windows |
| Rating | Rated 5.0 out of 5 stars (17 total ratings) |
| Author | Kweepa |
| Genre | Role Playing |
| Tags | Dungeon Crawler, Fangame, First-Person, Immersive, Remake, Retro, Singleplayer, underworld, Unity |
| AI Disclosure | AI Assisted, Code |
Download
Install instructions
You will need a copy of the original game, for example from GOG.
Unzip, then run the executable. It will ask you for the path to the GOG files, or find them automatically.
Development log
- Unity Underground devlog #14 - kb/mouse support added21 days ago
- Unity Underground devlog #13 - kb/m26 days ago
- Unity Underground devlog #12 - first pass kb/m done45 days ago
- Unity Underground devlog #11 - mage run fixes54 days ago
- Unity Underground devlog #10 - achievement fixes59 days ago
- Unity Underground devlog #9 - a plethora of bug fixes61 days ago
- Unity Underground devlog #8 - daily(?!) bug patch68 days ago
- Unity Underground devlog #7 - invisible critters69 days ago



Comments
Log in with itch.io to leave a comment.
Love the game so far, can you still create the special piles of debris?
This works beautifully under Linux with Lutris! Thank you so much for the good work done!!
I just finished my first run as a mage. Top-tier, amazing work! I've been playing Ultima Underworld since I was a teenager, and this is one of the smoothest experiences I've had with it. I've got a handful of notes if you'd like to hear them. Should I post them here, or is there a better way to send them?
Sure, here is fine with me. Unless they're going to make me cry :)
Don't worry, nothing mean. :-)
First, it's a huge relief being able to shoot projectiles now. I've done challenge runs in the past as a mage and as you can imagine, the biggest challenge is the limitation the original engine had on spawning spells as physical objects. It's making me look forward to an archer run.
An interesting result of playing a mage, though, is that I was able to beat the game without having to defeat Tyball. I suspect I didn't have to free Ariel either. There are a few doors which are supposed to be restricted from opening with the Open spell but aren't, crucially the doors opened by the key Tyball drops. I broke the orb, ran past him and unlocked his lab (as well as Ariel's prison along the way), and was able to continue to beat the game. You still need to bury Garamon's bones or the talismans don't disappear into the lava, but there aren't any other event flags keeping you from burying him if you don't kill Tyball.
I already mentioned the item duplication and attribute bugs in two other posts. Here are some others that I noticed:
That's all I could think of off the top of my head. With that small a list out of a million details that could go wrong, I'd say this is one fine piece of work!
Next up, some improvements I really liked:
Finally, some suggestions.
That's all for now! Once again, awesome work.
Is it just me, or do the starting stats seem off? Like, The mage and bard have reversed stats (mage should be int first and bard should be dex first), or how the fighter has a floor of 12 for dex instead of int. And I could never seem to roll a 30 in anything.
I'm not sure what it means that I can't seem to roll 30, but I think I know what's going on with the other stats. In the original underworld, the stats are in the character creation screen are ordered STR, DEX, INT. And in this remake, they are ordered STR, INT,DEX.
So it seems what's happening is slots 2 and 3 of stats are reversed. Classes with high dex and low int are getting the opposite, and vice versa.
Ohhh, nice catch.
This is incredible work! It's amazing navigating around my favorite game of all time using an Xbox controller!
I have to ask, how much effort would it be to add VR support to this project? I'm not asking for a VR control scheme, just adding an option to render it to VR while still using the Xbox controller to play. It's been a lifelong dream of mine to walk around this world in VR. Even just a VR map viewer would give me some immense feelings of nostalgia.
I did think about it, but I would hate to do a second rate job with the VR, and I know how much work it is to make VR good. (Oh, and I don't have a VR headset any more!)
Ahoy! I don't think I've found a game I loved more than UW, thank you for putting the time in! The 'spiritual successors' were mostly failures... if you're going to be working on something similar let me know - I was a solid coder even before AI accelerated the #*&$ out of it. I'd do something solo but it's too much of a timesink to go at it alone.
This is awesome thank you. Maybe I can finally finish the game now.
I discovered an item duplication bug. I'm not sure how it happened, but I loaded my game and discovered some stuff in containers in my inventory had been duplicated. I couldn't tell if it happened during the loading process, or when switching to a new character/save file, or what. I'll keep testing and post an update if I figure out a pattern.
New instance: in the northern section of level 2 where the grey goblins attack. I had recently loaded my game. I fought the goblins and picked up the gold they dropped and put that pile into one of my containers. Then I went to one of the alcoves that had one of the other goblins, picked up the red gem there, and put it into a separate container. However many coins I picked up, the gems would become that amount.
I was able to do something similar with objects from my own inventory. I dropped a pile of coins, then dropped a gem. I picked up the coins and put them into a container in my inventory, then did the same with the gems. The gems were duplicated.
So far it only seems to duplicate light items like keys, gems, potions, leeches, etc.
Interesting. I assume you are on the latest code. What control scheme are you using to pick this stuff up?
Keyboard and mouse
I'm trying to find patterns. So far it only seems to happen when dropping items into a container without opening it, and only certain items. It also doesn't affect the weight of the stack when the items are duplicated. I had a stack of over 80 fish that only weighed one stone. So far I've duplicated gems, coins, some food, keys (this was the first clue something was up), lantern oil... I couldn't get it to work on the flying potion in level 2, or some of the other potions and scrolls. I haven't tried duplicating explicitly non-stackable items like equipment yet.
Huh... It's like the cursor remembers how many objects are in the stack most recently drag and dropped until a container is opened. I started with a stack of 30 sling stones that I dropped into a container. Then I picked up 3 individual stones and dropped them, one by one, into the same sack (it doesn't seem to matter if it's the same container or different ones). When I opened the sack, there were four stacks of 30 stones.
One of my favorite QoL features from UltimaHacks was the ability to type out runes, which was way faster than clicking them. Is anything like this a possible inclusion for a later release?
I did have that for a minute, but I wanted to be able to move while casting spells so it conflicted with WASD
That makes sense. I don't know how they did it on the back end, but the system they used worked pretty well, where you had to hold down a hotkey to interact with the runes. You've already done an amazing job with this, I have no doubt in your ability to get it working if you decide to implement it.
Oh, with a hotkey it would be easy. Ctrl, perhaps.
i would pay money for UW2 port...20 Dollar no less.
just saying :)
As I said below: It would be possible, yes, but it's unlikely to happen, since it would need new models and animations, plus about nine months of dev work. I scratched my itch, now I'm working on something original.
Is it possible for you to make the work open source at some point? Perhaps someone else would be willing to pick up the project, it would be great.
Oh one thing that bothers me, as playing a mage: I do have now to click now every time on the runed spell and target the enemy again?
That worked else before, you could like spam magic missile.
Yes, that's a change between the gamepad and the mouse controls that is a little more like the original game when playing with the mouse. I don't think it's too onerous, and it puts the "randomness" on the cast click rather than on the targeting click.
You can press C to cast the currently queued spell.
oh!
Omg this keyboard/mouse control is so amazing. Does it switch to controller when one is connected or how can you use one now?
And, would it be possible to make the mouse view speed adjustable?
Yes, it switches back and forth automatically when you press gamepad buttons or click mouse buttons. I should add a mouse turn speed.
Just so I capture your case, what way do you need the mouse turn speed to go? Faster or slower? Approximately how much?
For now I added a 0.8 - 2.2 multiplier slider.
Faster. I set the slider now about half way, its much more responsive now, thanks.
Jesus, till I figured out that you must long-click on doors now :D
You can also click and drag.
Thank you for this! Amazing!
It doesn't accept any input on the title screen, I can't click introduction, new game, nothing. Music plays and cursor moves. any suggestions?
Anything unusual about your setup? What version are you running? (It’s in small print on the title screen.) Full screen or windowed?
It says 1.8 in the top left, running gog version. full screen
Oh, so you're trying to use mouse and keyboard on a version that doesn't support mouse and keyboard. Get the latest build and try again.
Using K&M, how do you pick things up. There is no instructions for anything. I thought there might be in Options, but that is very small with no help for fighting, or casting. I can't even use full screen. How do I change any settings? Thanks.
Left click hold, drag to drop or drop on inventory location. Full screen use windows full screen button (top right).
Left mouse drag or just left mouse hold.
Right mouse hold charges a weapon strike.
Full screen with Alt-Enter.
Thanks for the help, it worked.
Completed the game from start to finish, no real issues or bugs to report. Nice port, gamer.
Good to hear. Thanks.
Cursory look (so excited had to download immediately and check it out). Genius work! Better than the original M&K implementation. Will start the game in earnest. Thank you.
Made an itch.io account just to say, thank you so much for making this! I've been wanting to play Ultima Underworld a long time, but found it really hard to get into the old control scheme and UI. Playing this version, however, is buttery smooth. Looking forward to kb/m support, but it works incredibly well with a controller too. Happy to finally experience this classic.
Great news, I'll await an update then in a few days time. Thanks for all your hard work and hope you're feeling much better now.
is there a options settings or a manual?
There are options if you press start. Not much though, just volume, camera invert, and a couple of tweaks.
For the manual, there should be a general gameplay manual with the original game, and the gamepad controls are on the home page here.
thanks
Thank you so much for your hard work!
My pleasure!
are you planning support to Ultima Underworld II: Labyrinth of Worlds too in near future?
game engine mostly same, but improved version.
No, I have no plans for that. It would require about nine months of work, and a lot of new models, animations, sounds, and particles.
Really impressive. I had no idea about this until today, and when I first saw it I assumed it was hankmorgan's Unity-based Underworld Explorer project that went dark a couple of years ago.
I'll wait for KBM support, but are there any plans to add the orchestral soundtrack from the Japan-only PlayStation version?
No plans at all. I don't personally like the Playstation version, and there's no legal way to extract the music from it to play it.
(I did have remastered music at one point, but stripped it out for legal reasons.)
Are you saying no legal way for you to supply it? If so I get that.
To do it where we would supply the music by ripping from the psx disc I'm thinking that sounds more complex to code than say just ripping the redbook audio from a Quake disc to use with a sourceport.
Appreciate adding mouse/keyb support seeing as you don't use it yourself. I tried playing with my xbox360 pad but couldn't get on with it.
The hankmorgan project isn't dead, it was ported to godot at one point, and there's been lots of activity lately :)
I'm not allowed to post a link, but it can by found by searching for underworldgodot.
This looks amazing, but I have to wait for K&M support. Will this have mouselook? One of my big gripes with the originals were the strange control schemes. I still miss the Ultima series and we haven't even gotten one in over a quarter of a century, longer than that for a truly great entry.
Yes, it's mouselook rather than trying to emulate the original.
After 2 weeks of silence, do you have any update on the K&M implementation? Hoping it's soon. Thanks.
I got the flu and am still recovering, but working on it. I think it's all good, but every time I play I find some corner case that needs fixing. Two weeks was the game dev joke... it'll be ready when it's ready, but soon.
Thanks, I know from experience how miserable the flu can make you feel, so here's to a speedy recovery. I'll continue my patient wait. :)
Excellent work, I have thoroughly enjoyed replaying this classic. Your attention to detail in making this engine is really something to applaud. I don't remember the first time I played this game, but I do remember how it felt, and your engine delivers exactly the same feeling if not more. I did notice a couple of issues, one in particular that made the game hard to finish. When trying to throw the sword of justice, or any other weapon, they seem to vanish into thin air. I was able to figure out that it might have something to do with not having a weapon in hand as when I swapped weapons, I could finally throw it. Also, I'm not sure if I missed it, but is there only the single swing with a weapon? The original had three, it didn't stop me from beating the game, but it seemed to have made some enemies very hard to hit, the fire elementals I was not able to hit with a sword at all. I did also notice that the maze on level 7 does not drain health or anything, I got stuck in there and walked out as if nothing ever happened making it possible to kill Tyball as soon as you get to the maze.
Once more congratulations on this great accomplishment, and from all the Ultima fans out there, a big Thank you.
It is hard to find a game like this nowadays, and keeping these classics alive is no easy task as they get swept away in waves of garbage they make now.
I hope Richard Garriot took notice of your work.
Cheers
xp
Thanks for the kind words.
Richard Garriott didn't notice, I don't think, but Warren Spector mentioned it on LinkedIn.
This is amazing. Thank you from the bottom of my heart @Kweepa for creating this wonderful piece of preserved and modernised gaming-history!
I'm currently playing it on Linux with wine and like to share the steps on how to run it for others who might be on the lookout for a guide on that:
===================================================
1. Unzip the Game
2. Create your own Wine-Prefix
3. Running the Game
4. Optional: Create Desktop Shortcut
Right click on your Desktop Shortcut -> Allow Start
Is it possible that in level 5 is missing some geometric data? For example when I go down the stairs at the bullfrog puzzle from level 4, the stairs are not on level 5 anymore and I can clip through. Also a bit further in from that stairs, there are parts without floor and I can just fall down out of the level
That is a new one. Could you send me a save game from around that area?
steve mccrea at gmail dot com
The saves are in %APPDATA%\..\LocalLow\Kweepa\UnityUnderground\Saves. I just need the header and the gz, not the png. You can identify the save by the thumbnail png, or the order in the list (starting at 0).
Also the Player.log from the save's parent folder, and where did you get the original game data files? A gog install, or an original disk install?
I have sent you the files.
I am using the gog version, but because I have tried a different Unity Underworld project, I have extracted the game.gog file. So maybe this is the cause of the issue.
Thank you for caring :)
It looks like there was an error saving or loading at one point and all the objects on level 5 are missing. Unfortunately I don't have any more info than that, and the save file is broken beyond repair.
Good to know. Time for a start over I guess :). Yes I have not journaled some conversations anyway. So I guess it is a good time for a restart anyway. I also will replace the Frankenstein Ultima Underworld Installation and put the gog installation there as intended
I love it. I wanted to play Ultima Underworld and now here it is, such a nice Remastered version of it, and it runs on SteamDeck like a breeze. So good and controller support. Easily wow. Thank you for making this gem so easily available and such a joy to play :)
Is it safe to update the game with existing savegames? Thanks for caring!
Yep, the savegames are compatible. I would actually recommend it because the newer versions will fix some bugs in the saved games.
would or not recommend it?
Yes, I would recommend updating.
thank you :)
This is an amazing recreation! Thank you for creating this!
I THANK YOU for creating this!! You are the greatest (Ultima Underworld modernizer) Especially like that i can use my Dualsense.
Now that you laid so much groundwork, do you think doing UW2 will be faster? PLEASE consider it.
See the reply to Pixellenium below.
I wasn't aware of this project at all, thank you for putting so much effort into this! Just out of curiosity as a fellow game dev; are you planning to release the Unity project (rather like Daggerfall Unity) for people to be able to mod the game?
I wasn't going to release the whole project as it includes some assets I bought from the asset store (audio and particles) that I don't have the rights to give away and some 3d assets that are unique to this project that I'd rather not give away the sources to. I'm probably going to release the source code once I finish the mouse/keyboard support and any lingering bugs.
Sorry, but I have to ask... are all 3D models AI generated? They seem weirdly out of place.
No, they are all hand-crafted, working with the sprite sheets as reference. The artists are Spherical Horse (for the items) and Lil Pupinduy (for the critters). I know they didn't use AI because there were multiple rounds of revisions and I was able to direct the art down to minute details. Plus, these models are way more clean, tidy, and efficient than anything AI can produce. I did have some AI generated UI textures and audio during development but it was all stripped out or replaced before I released the game.
Thank you for the information! Can I ask then if you plan on adding a similar amount of detail to the environment in general to make things a bit more consistent?
No plans for that. It is what it is. I'm happy with the look.
Thanks for the continued updates, love this project. Would it be possible to make a version with NPCs, that are kind of more "low res" to match the overall look better?
I'm not going to make any changes in that regard, no.
Thanks for all your efforts on fixing bugs and QOL additions
So amazing, well done! Works great in Linux so far (via Wine). My 8BitDo controller works great as well.
Wow! This is incredible! You've done a phenomenal job. Long time Ultima fan since the 80s. Will definitely wait for mouse and keyboard though. Thank you for taking your time to do this. Really looking forward to it!
Any update on when M&K will be available? I don't own, or ever use controllers and I would love to play this as I have all the Ultima games.
I'm about half way through the implementation, but going slow as I'm working on bugs and my other game at the same time, and it's triggering my RSI, so I have to take it easy.