OpenMW 0.50.0 Released!
OpenMW 0.50.0 is out! Enjoy a major gamepad overhaul, foundational combat dehardcoding, expanded Lua API, and quick item transfer. Significant 'Beyond Morrowind' progress too.
The OpenMW team is proud to announce the release of version 0.50.0 of our open-source engine! Download it from our Downloads Page for all supported operating systems.

This milestone release introduces a complete overhaul of the gamepad experience, makes foundational steps in dehardcoding combat mechanics, further expands our Lua scripting API, and, among numerous user interface enhancements, implements the highly requested quick item transfer feature.
Keep reading to discover more about the new features, polishes, and the Polish translation included in 0.50.0!
Known Issues
- On macOS, launching OpenMW from OpenMW-CS requires 'OpenMW.app' and 'OpenMW-CS.app' to be located in the same directory.
- [#7511] On Windows, the engine may report a freeze if startup takes too long. Ignoring this message is usually harmless as it should eventually disappear. If it persists, please share the freeze dump with us.
- [#8233] Hardware antialiasing may cause driver timeouts on AMD GPUs from the RX 6000 and 7000 series. This is a known AMD driver bug that is yet to be addressed.
- [#8255] On Intel GPUs, the game may visually freeze while still responding to input. This appears to be a recently introduced driver bug; a workaround may involve installing an older driver version. Similar issues have been reported with recent AMD drivers, for which the same workaround should apply.
- [#8345] OpenMW-CS might randomly crash on Linux and macOS during global searches or saving.
- [#8464] Shader rendering is tinted red on Apple Silicon; enabling per-pixel lighting can prevent this.
AI and Pathfinding
Contributions from Aussiemon, Capo, elsid, and Evil Eye.
OpenMW's navmesh-based pathfinding already surpasses Morrowind's in complexity, with some even preferring it to be less elaborate.
However, one specific failure case existed. The original content-supplied path grid provides hints for roads and bridges, guiding wandering characters. This works well until path points are erroneously placed inside rocks. Morrowind miraculously avoided this, so OpenMW had to implement a solution: wandering NPCs will now ignore unreachable points.
Another area where OpenMW could lag behind Morrowind was sneaking. In non-combat scenarios, Morrowind updates awareness intermittently, and characters don't possess superhuman (or superelvish) reaction times to your "exploits." While not perfectly mirroring real-person reaction times, it serves its purpose.
OpenMW, conversely, would update awareness every frame, making the sneak indicator unreliable. Version 0.50.0 still updates awareness every frame to react to sudden changes in player detection difficulty, but it now caches the random dice roll result for the relevant check for 5 seconds. This makes gaining Sneak experience, or "farming," less challenging.
Fixes
- [#5331] When a Command effect ceases, the affected actor will now accept their current location as their new wander point.
- [#6029] Hostile actors will no longer engage the player in combat if the player is under a Chameleon effect of >=75%.
- [#6029] Awareness rolls of non-hostile actors are cached for 5 seconds, facilitating easier Sneak experience gain.
- [#7871] Immobile actors, such as the Kwama Queen in Morrowind, can now initiate combat, however futile.
- [#7979] Paralyzed and knocked-down NPCs can no longer use combat actions; matching Morrowind, they won't yell taunts or drink potions to escape their predicament.
- [#8433] Improved Wander pathfinding: actors will now try to avoid moving into unreachable waypoints when possible.
- [#8612] Actors will no longer continuously harvest herbalism-enabled plants when the Activate package is used.
Configuration and VFS
Contributions from Duron27 and Evil Eye.
New Features
- [#8077] Setting files are now saved upon exiting the settings window, rather than only when exiting 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, such as corrupted files or files with directory hash collisions.
ESM Format and Saved Games
Contribution from S3ctor.
We've ensured that the saved game format remains unchanged. This means you should be able to revert to 0.49.0 for ongoing playthroughs if you encounter issues in this new release, though it is not generally recommended.
Fixes
- [#8333] Reading quest status subrecords no longer causes the remainder of the quest record data to be discarded.
Gameplay
Contributions from Aussiemon, Capo, Evil Eye, Foal, and Kuyondo.
As always, in our pursuit of a reasonably faithful re-implementation of the original experience, we continue to address minor game mechanics inconsistencies. Will this ever end? Probably not.
You may know that prison time can improve your Sneak and Security skills. What wasn't previously replicated was these improvements counting towards level progression if either was chosen as a major or minor skill. This was achieved by dehardcoding jail skill progression (mostly a regression fix). Like other level progression elements dehardcoded in 0.49.0, it has been moved into the built-in scripting system.
This release also resolves more obvious gameplay discrepancies. For instance, Next/Previous Spell key bindings now correctly handle enchanted items that come in stacks, preventing the system from getting stuck on equipping multiple items of the same type. Additionally, pickpocketing is now slightly less unfairly punishing, as OpenMW's judicial system will no longer erroneously indict you for the same crime twice due to a design flaw.
Fixes
- [#6039] "Next Spell" now skips over items belonging to the same stack as the currently equipped item (it previously got stuck if multiple copies existed).
- [#7622] Ranged attacks will now hit underwater if the player is close to a target (matching Morrowind behavior).
- [#7649] Sounds and visual effects for resisted effects no longer play.
- [#7693] Potions and ingredients no longer visually return to inventory for a single frame before being picked up again for consumption (a 0.49.0 regression).
- [#7996] Instant (zero-duration) effects can now act immediately. For example, instant Cure Poison can immediately cure a preceding instant Poison effect.
- [#8303] Underwater spell projectiles cast by objects will explode rather than immediately disappear (matching Morrowind behavior).
- [#8340] Multi-effect enchantment service prices are now noticeably lower and should match Morrowind's; pricing is 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 now count as level progress.
- [#8404] Actors will no longer equip items to all slots when replacing an equipped light source 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 properly autocalculated for autocalculated spells.
- [#8500] Fight rating change crime reaction now accounts for the number of items in a stolen stack.
- [#8485] Base diseases bypass disease resistance.
- [#8519] Pickpocket crimes will no longer be erroneously detected twice.
- [#8540] Effects with no magnitude can no longer be partially resisted.
- [#8557] Charm no longer influences the disposition clamping range.
- [#8606] Floating-point imprecision should be less likely to interfere with container capacity.
- [#8615] Increased waiting/resting progress speed to better match Morrowind (tuned for an 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 now work properly (a 0.49.0 regression).
Graphics
Contributions from akortunov, AnyOldName3, Aussiemon, Capo, Evil Eye, wareya, and wazabear.
Version 0.50.0 significantly improves compatibility with various modded assets, thanks to a reworked skinned geometry implementation that correctly accounts for the skinning origin.
You might be wondering what this means...
Without delving into a 3D animation course, the short explanation is that most animations rely on moving "bones" within an object's "skeleton" (these are conceptual points, not literal bones). The object's geometry is oriented relative to these bones. Furthermore, model artists can configure geometry to gracefully react to bone movement by adjusting its triangles closer or farther from certain bones—a process known as skinning. Actor bodies and equipment often utilize this. Beyond bone weights and orientations, Morrowind's (specifically, NetImmerse's) skinning data format includes the "base" bone of the geometry and its adjusted orientation. Previous OpenMW releases attempted to ignore these, leading to issues like the vertically shifted sails on some ships in abot's Boats. This issue is now resolved.

0.50.0 also includes fixes for OpenMW's own features: normal mapping and parallax mapping.
Terrain normal maps previously used the OpenGL vertical convention erroneously; like objects, they should use the DirectX convention. Essentially, they were flipped vertically. Artists will no longer face this headache, as the convention is now consistent between objects and terrain.
Parallax will also no longer be inappropriately flipped—specifically, when applied to "mirrored" geometry. It will also not abruptly disappear when a parallax-mapped object glows due to enchantments or triggered traps.
While there aren't any new shiny graphical features in 0.50.0, OpenMW has already surpassed Morrowind in various graphical aspects, so this isn't a concern, right?
Modded Morrowind vistas graciously provided by DetailDevil.
Fixes
- [#4437] Skinning base transformations and root bone are now correctly used.
- [#7799] Harvesting herbalism-enabled plants will no longer trigger expensive object paging chunk regeneration.
- [#8176] Error marker loading is now thread-safe, preventing potential crashes when cell preloading and cell loading simultaneously fail to find a model.
- [#8341] Magic glow will no longer disable parallax on affected geometry.
- [#8375] Moon phase cycle should now match Morrowind's, e.g., "skipping" days less often.
- [#8447] Non-vanilla threshold-based turning is no longer used for the player, fixing the 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 now be loaded from BSA files.
- [#8610] Terrain normal maps now use the correct (DirectX or -Y) vertical convention.
- Parallax should now behave correctly for flipped geometry.
Scripting: mwscript
Contributions from Aussiemon, Capo, Evil Eye, and Kuyondo.
New Features
- [#3769]
GetSpellEffectsnow detects enchantments, similar to the relevant Morrowind Code Patch option. - [#8509]
FillJournaldebug instruction, which adds all topics and journal entries into the journal.
Fixes
- [#4885] Disabling actors through dialogue scripting should no longer cause crashes.
- [#8245]
ShowVarsdebug instruction now lists global scripts. - [#8318] Improved dialogue filtering: filters are handled more consistently for creatures, and missing global variables no longer break the dialogue window.
- [#8414] Water Walking effect no longer causes the player to collide with water when collision is disabled.
- [#8432] Moving between an interior and an exterior properly spawns the (postponed) collision shapes of objects spawned by scripting.
- [#8466]
ShowMapnow requires a non-empty argument.
Scripting: OpenMW-Lua
Contributions from akortunov, Calandiel, DaisyHasaCat, Evil Eye, fallchildren, Foal, S3ctor, trav, and wazabear.
What combat mechanics are no longer hardcoded in C++? This release dehardcodes some of the outcomes when an attack connects: applying armor and difficulty to damage, spawning blood, playing hit and miss sounds, and damaging armor condition. For modding, this means scripts can now intercept attacks on a specific target, regardless of success or failure, alter some of their outcomes, and potentially override these mechanics entirely. This functionality will eventually expand to cover more actions before, during, and after impact.
Version 0.50.0's API also opens up more of the game world via its weather and terrain APIs and region record bindings. The early terrain API, for example, exposes terrain textures, enabling incredible feats like letting the player "touch grass," while the weather API allows manipulation of various built-in weather settings.
Additionally, scripts can now access the player's journal and create entirely custom NPCs, requiring no plugins.
Important: The behavior of OnUpdate handlers 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, requiring them to be updated. This change was necessary to allow scripts to react more fluidly to events during pauses, such as combat music responding to combat state changes during dialogue.
For a comprehensive 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: armor condition damage and hit sound, damage adjustment due to difficulty and armor rating, blood spawning, and miss sound playback. The shield hit redistribution tweak copied from Morrowind Code Patch is now optional.
New APIs and Interfaces
- [#6976]
core.weather: A weather API allowing manipulation of various built-in weather settings. - [#7879]
core.regions: Region record bindings. - [#7966]
types.Player.journal: An API for player journal entries, covering both topics and quests. - [#8112]
core.land: An API for terrain, currently allowing retrieval of terrain height and texture for the default exterior. - [#8320]
core.mwscripts: An API for mwscript script records, enabling recovery of their source. - [#8642]
Combat: An interface for interacting with the combat system, primarily attacks (as part of on-hit mechanics dehardcoding).
New Bindings and Utility Functions
- [#8285]
postprocessing.getChain(): Returns the chain of active post-processing shaders. - [#8334]
types.Player.addTopic(player, topicId): Equivalent to mwscriptAddTopic; adds a topic that the given player will be able to ask characters about. - [#8355]
Interfaces.UI.isWindowVisible(windowName): Returns whether the specified UI window is currently visible. - [#8629]
Cell.pathGrid: The path grid record relevant to the cell, including traversable path links and nodes.
New Events
- [#8597]
AddVfx,PlaySound3d,BreakInvisibility,Unequip,Hit,ModifyItemCondition,ShowMessage,SpawnVfx,ConsumeItem,Lock, andUnlockevents (mostly self-explanatory; refer to the documentation for details).
Other New Features
- [#8654] Custom NPC records can now be created.
Fixes
- [#7693] The
ItemUsageinterface now returns an item to its original stack if it could not be equipped or consumed, instead of moving it to the player’s inventory. - [#8012]
OnUpdateengine handlers are now called with a simulation time of zero for paused frames. - [#8582] Local scripts started by another script no longer begin inactive.
- [#8614] Fixed a sol3-side memory leak when indexing user-defined types.
- [#8650] Checking if a container is resolved no longer initializes its contents, which previously could 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 3D audio. The Doppler effect is a real-life phenomenon that shifts a 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. Translators (French): jvoisin Translators (Russian): Capo Translators (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 can now use controller action buttons to more conveniently navigate the slightly altered in-game UI. You are no longer limited to the previously available combination of emulated mouse and A button usage. For example, you can brew potions and enchant items entirely without using the emulated mouse. While this alternative UI doesn't specifically mimic Morrowind's famous official Xbox port, it should be intuitive enough for those familiar with such interfaces. The following screenshots use GUI scaling for better readability; this option does not scale the 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 not already translated by the game settings. Polish is one of the languages in which Morrowind was officially released, and we anticipate the sizeable Polish community will appreciate this addition.
Gamepad actions are also translated.
If you neither possess a gamepad nor can pronounce "Grzegorz Brzęczyszczykiewicz," you might still welcome another addition: quick transfer of container items via Alt-clicking. This has been a frequently requested feature over the years.
New Features
- [#2522] Alt-clicking immediately transfers items in container menus.
- [#3740] Improved controller menu navigation with an alternative UI (accessible in the launcher).
- [#8290] Player gold is now displayed 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 now 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 now supported in the travel menu.
- [#8359] Quick keys menu now more closely resembles Morrowind’s.
- [#8359] Assigning an item to a quick key now 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 localization system.
- [#8408] Both potential hindrances for waiting (nearby enemies and the player not being on solid ground) can now 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, similar to other HUD windows.
- [#8551] Quick keys will remain bound to now-unavailable items when loaded, rather than "forgetting" 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 have received a design overhaul for improved usability, while created/cloned instance numbering has been updated to be less prone to reusing numerical IDs already in use by other instances. This is especially important when working on content that might override instances from other content—a common scenario.

New Features
- [#8113] Launcher: Subdirectory addition dialogue now supports extended selection.
- [#8139] Editor: Revamped instance selection markers for improved aesthetics and usability.
- [#8579] Editor: Bulk indentation support in the script editor.
- [#8665] Polish localization for the launcher and the wizard.
Fixes
- [#6573] Editor: Fixed cube/sphere selection behavior on high-DPI displays and scaled windows.
- [#8587] INI Importer: Improved consistency with how other tools handle config file editing.
- [#8620] Editor: Created and cloned instances should no longer erroneously reuse RefNums.
- [#8686] Editor: Fixed a crash when terrain is smoothed 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 within the engine’s eventual scope.
Petr Mikheev, the OpenMW-Lua pioneer, though mostly retired from his Lua maintenance role, retains a special interest in advancing OpenMW’s relevant capabilities. During this release cycle, he undertook finishing cc9cii’s work on terrain texturing re-implementation. This involved cleaning it up, fixing various issues, and crucially, implementing texture sampling for distant terrain. He also implemented distant objects in the most straightforward manner: by plugging all cell references into OpenMW’s object paging functionality, which is typically used for Morrowind’s LOD-free world.
Yes, this means 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 this approach makes the different provinces of Tamriel and states of America look much more appealing, it carries a considerable memory and loading time impact. So, perhaps don't go overboard with the viewing distance in Fallout 4 just yet.
New Features
- [#6000] Terrain texturing, completing the initial terrain rendering implementation.
- Initial distant object rendering via object paging.
- Door opening sounds.
- Faster decompression of files in zlib-compressed archives, leading to quicker loading times for all games except Skyrim Special Edition and Anniversary Edition.
That concludes this release announcement. Thank you for your interest in OpenMW and for reading. 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 issues arise, the issue tracker, and we’ll see you later!