This is a Warhammer 40k total conversion for OpenXcom, based on an earlier space marine mod by Ryskeliini. As Force Commander for the Imperium of Man on a planet beseiged by Chaos, you must find a way to end the Warp Storm and purge your world!

By Ryskeliini, bulletdesigner, ohartenstein23, and many contributors from the OXC forums

Installation and Update Instructions Video:


  • Download and install OpenXcom Extended (OXCE), version 5.5 or later, by Meridian and Yankes
  • Run OXCE after copying the UFO files to generate the user/mods folder
  • Download the 40k files, and unzip into the mods folder
  • Run OXCE, go to Options > Mods and select "40k" from the drop-down menu at the top
  • (Optional) If the Music is playing the UFO soundtrack, check Options > Audio > Music Format, and set it to "Auto" or "OGG" if it isn't one of those.
  • (Optional) Turn on the Stat Strings mod under Options > Mods
  • (Optional) Turn on the Chapter Change mod under Options > Mods to change the look of your Space Marines to the Imperial Fists or the Blood Angels Chapters

Reduced Download Install:

  • If you already have the mod Version 020, want a smaller download, and are comfortable manually moving some files within the mod folder, pick the download.
  • Follow the instructions for Updating below, but when you remove the previous version, keep the folders 40k/Resources/ANIMS and 40k/SOUND.
  • After putting the updated 40k folder into user/mods, put the folders you kept from the previous version into the same places in the new version.
  • If the game doesn't work correctly after this, try the full download/update.


  • Save any current campaign in the Geoscape. Loading a Battlescape save from a previous version is more likely to cause bugs and crashes, and is not recommended.
  • Remove the previous version's 40k folders from your OXCE mods folder.
  • Download the new version's files and unzip into the mods folder. Your previous saves should be compatible if made during the Geoscape.


  • Big props to Ryskeliini for the space marine stuff and Dixone for the help
  • Used a lot of maps from Terrainpack so special thanks to Hobbes also so help on side


Sprites, sounds, maps, ruleset code etc:

  • All around thanks to everyone, I used lot of stuff from other mods for reference and change it to 40k universe
  • Background images from various internet sources


3 of 1034,248 (4 today)ohartenstein23


OpenXcom Extended (OXCE)
















gonciarz @gonciarz

Hi, I added ArchLinux support for you mod. Please take a look here:

ohartenstein23 @ohartenstein23

Thanks, but I don't think this is really necessary since OXCE is already supported on Arch, and the mod itself doesn't need any modification to run on different operating systems.

Guest @guest

This comment is currently awaiting admin approval, join now to view.

ohartenstein23 @ohartenstein23

For the 021 release, OXCE 5.5 is sufficient, the message you may be getting on start-up or activating the 40k mod for not having 5.5.1 can be ignored if you have the latest release of OXCE.

If you want the message to go away, edit the file 40k/metadata.yml to say the required version is 5.5 instead.

mercyRPG @mercyrpg

I realized the dogfight UFO/ship sprites are missing, because those require custom art made, along with a lot of chaos weapons & tech. I wish I was in a position to supply those arts, but alas, I have to put food on the kitchen table.

ohartenstein23 @ohartenstein23

Which ones are missing? We generally don't release a new UFO or Craft unless we have all the sprites it needs.

mercyRPG @mercyrpg

Amazing mod! I wish all the art were done. :D

Guest @guest

Hi, really enjoyed (and enjoying) the mod! I've finished an Imperial Guard run and thoroughly enjoyed it! Though now that I'm starting a marines run I'm a bit confused as to how to get dreadnaughts as I can't find 'revive fallen brothers' in my soldiers tab (and being able to manufacture dreadnaught armour)

ohartenstein23 @ohartenstein23

Congrats on completing an IG campaign, it's not an easy feat! The "Revive Fallen Brother" should show up in the drop-down menu in the lower-left of the soldiers screen, where you'd promote Guardsmen to Officers or Veterans.

If you can manufacture dreadnought armor but don't have the transformation option, then you should check whether you're on the latest released version (020). If you are, then send me your save either as a pastebin link, on our discord server, or however you feel comfortable sharing the save file.

Guest @guest

I see the grey knights are new enemies. So I guess in the mods lore they invade the planet to purge all life by the order of the inquisition?

ohartenstein23 @ohartenstein23

The Grey Knights are in the mod to ensure the purity of the Chapter under your command.

ohartenstein23 @ohartenstein23

Continuing our streak of release-day bugs, here's a fix for sprites causing a crash when opening the bases screen, just replace the ruleset in 40k/Rulesets:

lasseronne @lasseronne

Do we have an ETA on the fix for the REGION_HULK_SITE bug? It is just because I get it in all my saves since 019.
Sorry if this sound in any way demanding, it is not meant to. I just really love this mod and want to play it :) and will just go back to 018 until then.

ohartenstein23 @ohartenstein23

I just pinned a fix for this in our discord server, check if you can download the ruleset from this link and put it in your 40k/Rulesets folder:

Version 020, which fixes a number of bugs, should come out within the next few days. It was delayed by the number of bugreports we received and some new features taking longer to implement than expected.

Guest @guest

Question: say I've lost 10 guardsman since day 1. It's feb 23.
In "montlhy costs" screen, under salaries, it tells me I still have them somehow. Could it be a bug? It was showing the right number (2) just before terror mission 2 I believe.

ohartenstein23 @ohartenstein23

Can you provide a save so we can look at it and see what's going on?

Guest @guest

I tried playing version 019 with a save from 018 (loaded from geoscape, not from battle), and got the following crash about a month in.

[18-04-2019_20-51-09] [FATAL] A fatal error has occurred: Region REGION_HULK_SITES not found
[18-04-2019_20-51-09] [FATAL] 0x7e0ad0 OpenXcom::CrossPlatform::stackTrace(void*)
[18-04-2019_20-51-09] [FATAL] 0x7e1f90 OpenXcom::CrossPlatform::crashDump(void*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[18-04-2019_20-51-09] [FATAL] 0x401570 exceptionLogger()
[18-04-2019_20-51-09] [FATAL] 0xb84cb0 MPEGaction::MPEGaction()
[18-04-2019_20-51-09] [FATAL] 0xd2c110 void std::iter_swap<__gnu_cxx::__normal_iterator<OpenXcom::ScriptProcData*, std::vector<OpenXcom::ScriptProcData, std::allocator<OpenXcom::ScriptProcData> > >, __gnu_cxx::__normal_iterator<OpenXcom::ScriptProcData*, std::vector<OpenXcom::ScriptProcData, std::allocator<OpenXcom::ScriptProcData> > > >(__gnu_cxx::__normal_iterator<OpenXcom::ScriptProcData*, std::vector<OpenXcom::ScriptProcData, std::allocator<OpenXcom::ScriptProcData> > >, __gnu_cxx::__normal_iterator<OpenXcom::ScriptProcData*, std::vector<OpenXcom::ScriptProcData, std::allocator<OpenXcom::ScriptProcData> > >)
[18-04-2019_20-51-09] [FATAL] 0xd31090 OpenXcom::ScriptGlobal::addTagType<OpenXcom::ScriptTag<OpenXcom::RuleItem, unsigned char> >()::{lambda(unsigned long long)#1}::_FUN(unsigned long long)
[18-04-2019_20-51-09] [FATAL] 0x649170 OpenXcom::Mod::getRegion(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const
[18-04-2019_20-51-09] [FATAL] 0x43cbd0 OpenXcom::GeoscapeState::processCommand(OpenXcom::RuleMissionScript*)
[18-04-2019_20-51-09] [FATAL] 0x43f6b0 OpenXcom::GeoscapeState::determineAlienMissions()
[18-04-2019_20-51-09] [FATAL] 0x4401c0 OpenXcom::GeoscapeState::time1Month()
[18-04-2019_20-51-09] [FATAL] 0x440440 OpenXcom::GeoscapeState::timeAdvance()
[18-04-2019_20-51-09] [FATAL] 0x7d8f40 OpenXcom::Timer::think(OpenXcom::State*, OpenXcom::Surface*)
[18-04-2019_20-51-09] [FATAL] 0x80afb0 OpenXcom::Game::run()
[18-04-2019_20-51-09] [FATAL] 0x4016b0 SDL_main
[18-04-2019_20-51-09] [FATAL] 0x9de110 console_main
[18-04-2019_20-51-09] [FATAL] 0x9de230 WinMain
[18-04-2019_20-51-09] [FATAL] ??
[18-04-2019_20-51-09] [FATAL] ??
[18-04-2019_20-51-09] [FATAL] 0x7ff8b89e8350 BaseThreadInitThunk
[18-04-2019_20-51-09] [FATAL] 0x7ff8bb2d7090 RtlUserThreadStart
[18-04-2019_20-51-19] [FATAL] OpenXcom has crashed: Region REGION_HULK_SITES not found

ohartenstein23 @ohartenstein23

Thanks for the report, I'll make sure it gets fixed soon. We have a number of bugs with the 019 release due to the globe changes, so likely 020 will come out soon just to patch up these problems.

Guest @guest

Sorry if this had already been discovered, but i am having a problem. In the battlescape the game will sometimes just switch which unit I have selected. It was not a big problem at first because it only did it once or twice ever now and then but i just had to quit playing because it was just cycling rapidly through all my units while my hands where off the mouse and keyboard completely. Please let me know if this is a bug or if it's on my end.

ohartenstein23 @ohartenstein23

I've never heard of that happening before, and is likely a problem with one of your input devices.

Guest @guest

Yes you are right, I tested it on a vanilla game and i had the same problem. However, i never had this problem when i played on normal OpenXcom. My mouse also works fine so if you know what it could be i would appreciate you telling me. If not, don't worry about it and thanks for the reply.

ohartenstein23 @ohartenstein23

I've had soldiers cycle somewhat like that when using the scroll feature on a laptop touchpad, that's one place to start looking. Maybe a sticky TAB key could be another.

You might also try re-installing OXCE, maybe something went wrong with your installation.

Guest @guest

This comment is currently awaiting admin approval, join now to view.