An FPS/RTS hybrid game powered by the Daemon engine (a combination of ioq3 and XreaL)
C++ GLSL C CMake ShaderLab Shell Other
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
appveyor Try to fix appveyor again Nov 7, 2015
archlinux Archlinux: Don't handle unv:// URLs in starter script. Mar 3, 2015
daemon @ 92bd49b update daemon submodule reference Apr 27, 2018
debian Option for specifying the path to the NaCl helper binaries. Jan 14, 2015
libs Update libRocket Jul 12, 2016
macosx Version bump to Alpha 50. Apr 10, 2016
main scoreboard: Respect overflow rules. Oct 24, 2017
src cgame: Update dragoon kill message to denote a claw kill instead of a… Jan 7, 2018
.gitattributes Enforce normalisation of line endings in source files. Jun 3, 2012
.gitignore remove daemon references in .gitignore Feb 16, 2017
.gitmodules play the daemon submodule dance Feb 16, 2017
.travis.yml travis needs python May 7, 2018
CMakeLists.txt [cmake] make DAEMON_DIR an option, fix #1000 Jun 27, 2017
COPYING.txt remove shaderlab and non-GPL Wolf:ET exceptions, fix #998 Oct 12, 2017
GPL.txt Some clean-up of trailing white space. Jun 3, 2012 Fix headers in Jun 27, 2017
appveyor.yml Fix and use USE_PRECOMPILED_HEADER=0 Jan 14, 2016 Update for removal of qvms, game->sgame change and additio… Mar 1, 2015 Make PNaCl a first class CMake toolchain; split engine and game build… Jul 16, 2015 Make PNaCl a first class CMake toolchain; split engine and game build… Jul 16, 2015 Download torrent file via SSL inside Dec 8, 2014 Make corrupted files more visible Oct 19, 2016
libRocket.cmake Delete libRocket from repo. Add as submodule. Feb 20, 2016
src.cmake Move some human animation hackage into a SkeletonModifier Dec 26, 2016 Config header Apr 11, 2016 Config header Apr 11, 2016


GitHub tag GitHub release Github release


Windows OSX Linux
AppVeyor branch Travis branch Travis branch

This repository contains the gamelogic of the game Unvanquished. You need to download the game's assets in addition to that to make it run. See below for build and launch instructions.


zlib, libgmp, libnettle, libcurl, SDL2, GLEW, libpng, libjpeg ≥ 8, libwebp ≥ 0.2.0, Freetype, OpenAL, libogg, libvorbis, libtheora, libopus, libopusfile


cmake, python ≥ 2, python-yaml, python-jinja


ncurses, libGeoIP



64-bit: mingw-w64-x86_64-{toolchain,cmake,aria2} or 32-bit: mingw-w64-i686-{toolchain,cmake,aria2}

Build Instructions

Instead of make, you can use make -jN where N is your number of CPU cores to speed up compilation.

Visual Studio

  1. Run CMake.
  2. Choose your compiler.
  3. Open Unvanquished.sln and compile.

Linux, Mac OS X

mkdir build && cd build
cmake ..


mkdir build && cd build
cmake -G "MSYS Makefiles" ..

Linux cross-compile to Windows

mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../daemon/cmake/cross-toolchain-mingw32.cmake .. # ¹

¹ Use cross-toolchain-mingw64.cmake for a Win64 build.

Mac OS X universal app

mkdir build32 && cd build32
cd ..
mkdir build64 && cd build64
cd ..
./ build32 build64

Launch Instructions

Linux, Mac OS X, MSYS2

If Unvanquished's assets are installed on your system

cd build
./daemon -pakpath PATH # ¹

¹ PATH is the path to the pkg directory that contains the game's assets.

If you don't have the assets

cd build
mkdir pkg

../ pkg # ¹ or ../ pkg # ²


¹ Fast, requires aria2c. ² Unreliable speed, requires curl.

If you're a developer

As a developer, you will want to load your own assets in addition to those shipped with the game. To do that:

cd build
mkdir -p pkg; cd pkg
ln -s ../../main git_source.pk3dir
mkdir assets_source.pk3dir
echo git > assets_source.pk3dir/DEPS

You can now put loose assets into assets_source.pk3dir or you can put additional pk3dir directories or pk3 containers inside pkg and add their names (the format is NAME_VERSION.pk3(dir)) as lines to the DEPS file. In order to launch Unvanquished, use one of the following commands:

  • ./daemon -pakpath PATH -set fs_extrapaks assets # ¹
  • ./daemon -pakpath PATH -set fs_extrapaks assets -set vm.sgame.type 3 -set vm.cgame.type 3 -set vm.sgame.debug 1 -set vm.cgame.debug 1 +devmap plat23 # ²

¹ Runs the game and loads the assets package and its dependencies. PATH is the path to Unvanquished's base packages and maps. Omit -pakpath PATH if pkg contains these assets. ² In addition, load a shared-object gamelogic you compiled and allow it to be debugged. Launch the map Platform 23 with cheats enabled after startup.


If Unvanquished's assets are installed on your system

Run daemon.exe -pakpath PATH, where PATH is the path to the pkg directory that contains the game's assets.

If you don't have the assets

  1. Copy the pkg directory from the release zip (torrent | web) into your build directory.
  2. Run daemon.exe.