OpenMW 0.50.0 Released – open-source Morrowind reimplementation

Nov 7, 2025 - 14:44
 0  0
OpenMW 0.50.0 Released – open-source Morrowind reimplementation
OpenMW 0.50.0 Released! 2025-11-07 - capo

The OpenMW team is proud to announce the release of version 0.50.0 of our open-source engine! Grab it from our Downloads Page for all supported operating systems.

This round number release overhauls the gamepad experience, makes foundational steps in dehardcoding combat, further expands our Lua scripting API and, among the host of user interface fix-ups, introduces the highly requested quick item transfer.

Keep reading to learn more about what 0.50.0 brings, polishes and translates into Polish!

Known Issues

  • On macOS, launching OpenMW from OpenMW-CS requires ‘OpenMW.app’ and ‘OpenMW-CS.app’ to be siblings
  • [#7511] On Windows, a freeze may be reported if engine startup takes too long; ignoring the message is usually harmless, as it should eventually disappear, but if it doesn’t, share the freeze dump with us
  • [#8233] Hardware antialiasing may cause driver timeouts on AMD GPUs of the RX 6000 and 7000 series; this is a driver bug AMD has yet to address
  • [#8255] On Intel GPUs, the game may freeze visually while still responding to input. This appears to be a recently introduced driver bug; as a workaround, you may need to install an older version of the driver. We’ve had reports of something similar happening on recent AMD drivers; the same workaround should apply 
  • [#8345] OpenMW-CS might crash randomly on Linux and macOS during global search or saving
  • [#8464] Shader rendering is tinted red on Apple Silicon; enable per-pixel lighting to prevent that

AI and Pathfinding

Contributions from Aussiemon, Capo, elsid and Evil Eye

OpenMW’s navmesh-based pathfinding is already more elaborate than Morrowind’s. Some even wish it were less so.

There was, however, a case where it failed. The original content-supplied path grid works as a hint on where roads and bridges are so that wandering characters aren’t ignorant of the infrastructure. This is all well and good until you realise the content might be wrong and put some points inside rocks. Miraculously, Morrowind avoided the problem, so we had to solve it: wandering NPCs will now ignore the points they cannot reach.

Another situation where OpenMW could fall behind Morrowind was sneaking. In out-of-combat situations, Morrowind updates awareness only every so often, and characters don’t have superhuman (or superelvish) reaction time while observing your… exploits. It doesn’t mean the reaction time would reflect that of a real person, but it does the job. Sort of.

OpenMW, meanwhile, would update awareness every frame, which could mean the sneak indicator would be rather unreliable in figuring out whether you’re hidden. 0.50.0 still updates awareness every frame to react to sudden changes in how difficult it is to track the player, but it will cache the random dice roll result used for the relevant check for 5 seconds. This makes Sneak experience farming, err, that is, gaining less challenging.

Fixes

  • [#5331] When a Command effect stops, the affected actor will accept their new location as their new wander point
  • [#6029] Hostile actors will no longer engage in combat with the player if the player is under the effect of >=75% Chameleon
  • [#6029] Awareness rolls of non-hostile actors are cached for 5 seconds to allow easier gain of Sneak experience
  • [#7871] Immobile actors such as the Kwama Queen in Morrowind can initiate combat, however futile
  • [#7979] Paralysed and knocked down NPCs can no longer use combat actions: to match Morrowind, they won’t yell taunts or drink potions to get themselves out of their predicament
  • [#8433] Improved Wander pathfinding: actors will try to avoid moving into unreachable waypoints when possible
  • [#8612] Actors will no longer harvest herbalism-enabled plants non-stop when the Activate package is used

Configuration and VFS

Contributions from Duron27 and Evil Eye

New Features

  • [#8077] Setting files are now saved when you exit the settings window, rather than only when you exit the game

Fixes

  • [#8599] Non-ASCII paths using native encodings are now supported in Morrowind format BSAs
  • Improved BSA archive reading stability in various cases, e.g., for corrupted files or files where directory hash collisions occur

ESM Format and Saved Games

Contribution from S3ctor

We took care not to change the saved game format. This means that you should be able to revert to 0.49.0 on your ongoing playthrough if you experience issues in the new release, although this is not really recommended.

Fixes

  • [#8333] Reading quest status subrecords no longer causes the rest of the quest record data to be discarded

Gameplay

Contributions from Aussiemon, Capo, Evil Eye, Foal and Kuyondo

As usual, and as we’re striving for a reasonably faithful reimplementation of the original experience, we have to sort out minor game mechanics inconsistencies. Do you think this will end at some point? Me neither.

You might already know prison time can improve your Sneak and Security skills. One thing that wasn’t replicated is the improvement counting towards level progress if you’ve chosen one of them as a major or a minor skill. On its own, this may not sound notable, but it was actually implemented by dehardcoding jail skill progression (well, mostly regression). Like the rest of the level progression previously dehardcoded in 0.49.0, it was moved into the built-in scripting.

But there were also more obviously problematic differences solved in this release. For example, Next/Previous Spell key bindings are now able to cope with enchanted items that come in stacks, rather than get stuck equipping the items of this type. Another example is that pickpocketing is now slightly less obnoxiously unfair, as OpenMW’s judicial system will no longer try to indict you for the same crime twice due to a design flaw.

Fixes

  • [#6039] Next Spell now skips over items that belong to the same stack as the current item (it would previously get stuck if there were multiple copies)
  • [#7622] Ranged attacks will now hit underwater if you’re up close to a target (this matches Morrowind)
  • [#7649] Sounds and visual effects of resisted effects no longer play
  • [#7693] Potions and ingredients no longer visually end up back in the inventory for a single frame before getting picked up again for convenient consumption (0.49.0 regression)
  • [#7996] Instant (zero-duration) effects can now act immediately. For example, instant Cure Poison can immediately cure the instant Poison preceding it
  • [#8303] Underwater spell projectiles cast by objects will explode rather than immediately disappear (this matches Morrowind)
  • [#8340] Multi-effect enchantment service price is now noticeably lower and should match Morrowind; it’s now based on the accumulated strength of the final effect rather than the enchantment’s overall strength
  • [#8371] Silence no longer affects powers
  • [#8383] Bound helm and boot effects cast on beast race characters are now interrupted immediately
  • [#8399] Jail-induced major/minor skill increases count as level progress
  • [#8404] Actors will no longer equip items to all slots when they want to replace their equipped light with a more appropriate shield. This allows the prevent merchant equipping option to work more intuitively for exterior merchants
  • [#8446] Travel prices are calculated more accurately when the player has multiple followers: instead of calculating the offered price based on the base price for one character and multiplying it, the base price is multiplied first and then used for the offer
  • [#8459] Spell prices are autocalculated properly for autocalculated spells
  • [#8485] Base diseases bypass disease resistance
  • [#8500] Fight rating change crime reaction accounts for the number of items in the stolen stack
  • [#8519] Pickpocket crimes will no longer be erroneously detected twice
  • [#8540] Effects with no magnitude can no longer be resisted partially
  • [#8557] Charm no longer influences the disposition clamping range
  • [#8606] Floating-point imprecision should be less likely to mess with container capacity
  • [#8615] Increased waiting/resting progress speed to better match Morrowind (tuned based on the expected framerate of 60 FPS)
  • [#8680] Permanent effects are no longer erroneously restored on dead actors, e.g., when the player rests
  • [#8710] Creatures can no longer break the game by casting an Absorb Skill spell
  • [#8734] Shield sheathing animations work properly (0.49.0 regression)

Graphics

Contributions from akortunov, AnyOldName3, Aussiemon, Capo, Evil Eye, wareya and wazabear

0.50.0 comes with improved compatibility with various modded assets, thanks to the skinned geometry implementation being reworked to account for the skinning origin.

Wait, you probably don’t know what any of this means…

We’re not going to give you a course on 3D animation here, but long story short, most animations are based on moving bones around in the object’s “skeleton” (not literal bones, more like points). The object’s geometry is oriented relative to the bones. Spooked yet? More importantly, though, the geometry may be set up by the model artist in a way that it will graciously react to their movement by moving its triangles closer or farther from some bones in a process called skinning. Actors’ bodies and equipment tend to do this. Aside from bone weights and orientations, Morrowind’s (or rather, NetImmerse‘s) skinning data format includes the “base” bone of the geometry and its adjusted orientation. Previous releases of OpenMW would try to get away with ignoring those, but it didn’t work out so well. For example, the sails of some ships in abot’s Boats would be shifted vertically. Well, not any more.

Wait, is that mod STILL not compatible?

0.50.0 also comes with fixes for OpenMW’s very own features: normal mapping and parallax mapping.

Terrain normal maps previously erroneously used the OpenGL vertical convention. Like objects, they were supposed to use the DirectX convention. Essentially, they were flipped vertically. No more headache for artists: the convention is now finally consistent between objects and terrain.

Parallax will also no longer be flipped inappropriately — more specifically, when it’s applied to “mirrored” geometry. It will also not abruptly disappear forever when the parallax-mapped object glows due to enchantments and triggered traps.

There aren’t any shiny new graphical features in 0.50.0, but we should have already surpassed Morrowind in various areas here, so it’s not an issue, right?

Modded Morrowind vistas graciously provided by DetailDevil.

Fixes

  • [#4437] Skinning base transformations and root bone are now used
  • [#7799] Harvesting herbalism-enabled plants will no longer trigger expensive object paging chunk regeneration
  • [#8176] Error marker loading is now thread-safe, preventing a potential crash when cell preloading and cell loading fail to find a model simultaneously
  • [#8341] Magic glow will no longer disable parallax on the affected geometry
  • [#8375] Moon phase cycle should now match Morrowind, e.g., “skip” days less often
  • [#8447] Non-vanilla threshold-based turning is no longer used for the player, fixing werewolf swimming turning animation getting stuck
  • [#8490] Water normals exposed to post-processing no longer sometimes disappear when refraction is disabled
  • [#8560] Global filtering settings are used for overridden textures of spawned magic VFX
  • [#8593] Mipmaps are properly generated for post-processing render targets
  • [#8598] Post-processing shaders can be loaded from BSA files
  • [#8610] Terrain normal maps now use the correct (DirectX or -Y) vertical convention
  • Parallax should behave correctly for flipped geometry

Scripting: mwscript

Contributions from Aussiemon, Capo, Evil Eye and Kuyondo

New Features

  • [#3769] GetSpellEffects now detects enchantments, similar to how the relevant Morrowind Code Patch option works
  • [#8509] FillJournal debug instruction, which adds all topics and journal entries into the journal

Fixes

  • [#4885] Disabling actors through dialogue scripting should no longer cause crashes
  • [#8245] ShowVars debug instruction now lists the global scripts
  • [#8318] Improved dialogue filtering: filters are handled more consistently for creatures, while missing global variables no longer break the dialogue window
  • [#8414] Water Walking effect no longer makes the player collide with water when collision is disabled
  • [#8432] Moving between an interior and an exterior properly spawns in the (postponed) collision shapes of objects spawned by scripting
  • [#8466] ShowMap now requires a non-empty argument

Scripting: OpenMW-Lua

Contributions from akortunov, Calandiel, DaisyHasaCat, Evil Eye, fallchildren, Foal, S3ctor, trav and wazabear

So what is it about combat that is no longer locked up in the C++? That would be some of what happens when an attack connects: applying armour and difficulty to the damage, spawning blood, playing hit and miss sounds and damaging armour condition. What this means for modding is that scripts can now intercept attacks that land on a certain target, whether they succeed or fail, alter some of their outcome, and potentially override the mentioned mechanics entirely. Eventually, this functionality will be expanded to cover more of what happens before, upon and after impact.

0.50.0’s API also opens up more of the game world by means of its weather and terrain APIs and region record bindings. The early terrain API, for example, exposes the terrain textures, allowing for such incredible feats as letting the player touch grass, while the weather API lets you manipulate various built-in weather settings.

Additionally, scripts can now access the player’s journal and create entirely custom NPCs. No plugins necessary. 

Important: OnUpdate handler behaviour has changed for previously skipped paused frames! They are now handled with a simulation time of zero. This will affect scripts that assume simulation time is always positive, so they will need to be updated. It was necessary to allow scripts to react more fluidly to events happening during the pause, like combat music reacting to combat state changes during dialogue.

For a full overview of the current state of OpenMW-Lua, please consult the scripting API reference.

Now Dehardcoded

  • [#8399] Jail skill impact
  • [#8642] Various mechanics triggered when attacks hit the target: armour condition damage and hit sound, damage adjustment due to difficulty and armour rating, blood spawning and miss sound playback. Shield hit redistribution tweak copied from Morrowind Code Patch is now optional

New APIs and Interfaces

  • [#6976] core.weather: weather API, which allows manipulating various built-in weather settings
  • [#7879] core.regions: region record bindings
  • [#7966] types.Player.journal: API for player journal entries for both topics and quests
  • [#8112] core.land: API for terrain, which currently lets you recover the terrain height and texture for the default exterior
  • [#8320] core.mwscripts: API for mwscript script records, which allows recovering their source
  • [#8642] Combat: interface for interacting with the combat system, primarily attacks (as a part of on-hit mechanics dehardcoding)

New Bindings and Utility Functions

  • [#8285] postprocessing.getChain(): the chain of active post-processing shaders
  • [#8334] types.Player.addTopic(player, topicId):  mwscript AddTopic equivalent; adds a topic that the given player will be able to ask characters about
  • [#8355] Interfaces.UI.isWindowVisible(windowName): returns whether the given UI window is currently visible
  • [#8629] Cell.pathGrid: the path grid record relevant to the cell, i.e., the traversable path links and nodes

New Events

  • [#8597] AddVfx, PlaySound3d, BreakInvisibility, Unequip, Hit, ModifyItemCondition, ShowMessage, SpawnVfx, ConsumeItem, Lock and Unlock events (mostly self-explanatory, see documentation)

Other New Features

  • [#8654] Custom NPC records can now be created

Fixes

  • [#7693] ItemUsage interface returns the item to its original stack if it could not be equipped or consumed, instead of moving it to the player’s inventory
  • [#8012] OnUpdate engine handlers are now called with a simulation time of zero for paused frames
  • [#8582] Local scripts started by another script no longer start out inactive
  • [#8614] Fixed a sol3-side memory leak when indexing user-defined types
  • [#8650] Checking if a container is resolved no longer initialises its contents, which could previously cause herbalism-enabled containers to be automatically harvested
  • [#8720] Fixed potential custom UI element corruption during error handling that could lead to instability
  • [#8757] Fixed a crash when the object type is accessed in a coroutine
  • [#8758] Fixed a crash when nested UI elements are created twice without destroying the original parent

Sound

Contribution from Epoch

New Feature

  • [#7813] The Doppler effect is now enabled for the 3D audio. The Doppler effect is a real-life phenomenon that shifts the sound’s pitch depending on its velocity relative to the listener

User Interface

Major contributions from Capo, enoznal and Kuyondo
Contributions from akortunov, bmdhacks, Charles Horn, DaisyHasaCat, elsid, Evil Eye and Igilq

Translator (French): jvoisin
Translator (Russian): Capo
Translator (Swedish): Lysol
Translators (Polish): Igilq, Karoline Pauls, mc003 and trav

Kudos to the international community of our Discord/IRC servers for helping us translate OpenMW!

As you may have heard, the headline feature of this release is, undeniably, the improved gamepad support introduced by our talented new contributor enoznal. By enabling the Controller Menus option in the launcher, you will be able to use the controller action buttons to navigate more conveniently through the slightly altered in-game UI. You are no longer limited to the combination of emulated mouse and A button use available previously. For example, you can brew potions and enchant items entirely without using the emulated mouse. While the alternative UI is not at all reminiscent of Morrowind’s famous official Xbox port, it should be intuitive enough for those familiar with it. The following screenshots use GUI scaling for better readability; the option does not scale UI on its own.

No, Galbedir, you’re not getting your soul gems back.

Folms Mirel is the more competent enchanter anyway.

At least the Dwemer didn’t dabble in planned obsolescence.

This release also introduces Polish translations for user interface lines that are not translated by the game settings. Polish is one of the languages in which Morrowind was officially released, and we expect the sizeable Polish community to appreciate this addition.

Gamepad actions are also translated.

If you neither possess a gamepad nor understand how to pronounce “Grzegorz Brzęczyszczykiewicz”, you might still welcome another addition: quick transfer of container items through Alt-clicking. This is something that has been asked about way too often through the years.

New Features

  • [#2522] Alt-clicking transfers items immediately in container menus
  • [#3740] Improved controller menu navigation with an alternative UI (find it in the launcher)
  • [#8290] Player gold is now shown in the spell creation menu
  • [#8313] Character name is shown in save info if it doesn’t match the current profile
  • [#8580] Character save profiles are now sorted by date rather than filesystem order
  • [#8665] Polish translations for OpenMW-specific in-game lines

Fixes

  • [#2967, #8431] Container menus should always react appropriately to scripted item additions/removals without crashing
  • [#6792] Tweaked birthsign tooltip appearance. Descriptions are now printed in multiple lines
  • [#7371] Failing to equip an item plays a sound when it’s moved back to the inventory
  • [#7740] Enchanted item backgrounds no longer overlap the selected weapon/enchanted item HUD boxes
  • [#8265] Topic hyperlink generation respects word separators and will no longer inappropriately highlight the middle of a word
  • [#8349] Non-existent destinations are no longer shown in the travel menu
  • [#8349] Exterior cells set as travel destinations by name are supported in the travel menu
  • [#8359] Quick keys menu looks more like Morrowind’s
  • [#8359] Assigning an item to a quick key plays a sound
  • [#8359] Scripted items that are normally impossible to equip can no longer be assigned to quick keys
  • [#8385] Fixed Unicode handling problems in formatted strings that go through the YAML localisation system
  • [#8408] Both potential hindrances for waiting (enemies being nearby and the player not being on solid ground) can be reported by the rest menu
  • [#8436] Pinned spell window reacts to selected spell and enchanted item changes triggered by quick keys
  • [#8437] Pinned inventory window button remains visible when out of menu mode, like for other HUD windows
  • [#8551] Quick keys will remain bound to now-unavailable items when they’re loaded, rather than “forget” them
  • [#8584] Reworked the appearance of various service menus to match Morrowind
  • [#8585] Increased padding between non-special dialogue menu topics to match Morrowind
  • [#8609] Reduced the size of the crosshair to match Morrowind

OpenMW-CS, Launcher and Tools

Contributions from AnyOldName3, Capo, Evil Eye, Igilq and S3ctor

The launcher and the wizard have also been translated into Polish!

Our content file editor’s selection markers got a design overhaul for better usability, while created/cloned instance numbering has been updated to be less eager to take over the numerical IDs used by other instances. This is particularly important when working on content that may override the instances from some other content. Which is actually a lot of content, come to think of it…

New Features

  • [#8113] Launcher: Subdirectory addition dialogue now supports extended selection
  • [#8139] Editor: Revamped instance selection markers for better look and usability
  • [#8579] Editor: Bulk indentation support in the script editor
  • [#8665] Polish localisation for the launcher and the wizard

Fixes

  • [#6573] Editor: Fixed cube/sphere selection behaviour on high-DPI displays and scaled windows
  • [#8587] INI Importer: Improved consistency with how the other tools handle config file editing
  • [#8620] Editor: Created and cloned instances should no longer erroneously reuse RefNums
  • [#8686] Editor: Fixed a crash when the terrain is smoothened in an undefined cell

Other

  • [#8578] Removed Qt 5 support

Beyond Morrowind

Major contributions from ptmikheev
Contributions from Capo and cc9cii

Didn’t get the memo? As the 0.49.0 release announcement boasted, running Oblivion and later Bethesda open-world engine games is in the engine’s eventual scope.

Petr Mikheev, the OpenMW-Lua pioneer, though mostly retired from his Lua maintenance role, keeps a special interest in advancing OpenMW’s relevant capabilities. During this release cycle, he thought to try his hand at finishing cc9cii’s work on a terrain texturing reimplementation, cleaning it up, fixing various issues and, importantly, implementing texture sampling for distant terrain— as well as implementing distant objects most straightforwardly: by plugging all cell references into OpenMW’s object paging functionality used for Morrowind’s LOD-free world.

That is, yes, any trees you see are full-detail trees. Any trees you think you should see but do not are probably SpeedTree trees.

See that mountain? You can climb it.

Stay classy, New Vivec.

I saw a mudcrab the other day. Horrible creatures.

While it makes the different provinces of Tamriel and states of America look much more appealing, this approach has a considerable memory and loading time impact, so, uh, don’t go overboard with the viewing distance in Fallout 4 just yet.

New Features

  • [#6000] Terrain texturing, finishing the initial terrain rendering implementation
  • Initial distant object rendering through the means of object paging
  • Door opening sounds
  • Faster decompression of files in zlib-compressed archives: quicker loading times for all games other than Skyrim Special Edition and Anniversary Edition

So, that’s it for this release. Thank you for your interest in OpenMW and for reading this. We hope you’ll enjoy the big 5-0. Let us know what you think in our Discord/IRC community or the forums, or should it come to it, the issue tracker, and see you later!

What's Your Reaction?

Like Like 0
Dislike Dislike 0
Love Love 0
Funny Funny 0
Angry Angry 0
Sad Sad 0
Wow Wow 0