diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh
index cd47cbf8d..756653fe9 100644
--- a/CI/before_script.msvc.sh
+++ b/CI/before_script.msvc.sh
@@ -16,6 +16,9 @@ while [ $# -gt 0 ]; do
 
 		-k )
 			KEEP=true ;;
+		
+		-u )
+			UNITY_BUILD=true ;;
 
 		* )
 			echo "Unknown arg $ARG."
@@ -162,6 +165,10 @@ case $PLATFORM in
 		;;
 esac
 
+if ! [ -z $UNITY_BUILD ]; then
+	add_cmake_opts "-DOPENMW_UNITY_BUILD=True"
+fi
+
 case $CONFIGURATION in
 	debug|Debug|DEBUG )
 		CONFIGURATION=Debug
diff --git a/appveyor.yml b/appveyor.yml
index d5ad13430..e89a54e3b 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -15,7 +15,7 @@ environment:
         - STEP: misc
 #        - STEP: components # misc builds this too
 # Build takes too long for these, ignore for now
-#        - STEP: openmw
+        - STEP: openmw
 #        - STEP: opencs
 
 matrix:
@@ -40,7 +40,7 @@ cache:
 clone_folder: C:\projects\openmw
 
 before_build:
-    - cmd: sh %APPVEYOR_BUILD_FOLDER%\CI\before_script.msvc.sh
+    - cmd: sh %APPVEYOR_BUILD_FOLDER%\CI\before_script.msvc.sh -u
 
 build_script:
     - cmd: if %PLATFORM%==Win32 set build=Build_32