diff --git a/shared_scripts.yml b/shared_scripts.yml
index ae85655f9789d0c4597a8dde1841100736a3ba5c..a32d9ef5e22c7dfa69e4423e8f710b1641fc7b33 100644
--- a/shared_scripts.yml
+++ b/shared_scripts.yml
@@ -7,6 +7,7 @@ variables:
   GIT_STRATEGY: none                # we disable fetch, clone or checkout for every job
   GIT_CHECKOUT: "false"             # as we only want to checkout and fetch in the preperation stage
   GIT_SUBMODULE_STRATEGY: "recursive"
+  GIT_CLEAN_FLAGS: none
   GIT_DEPTH: "1"
   NUMBER_OF_OLD_VERSIONS: 3         # number of old revisions to keep after the deploy
   CLUSTER_ADDRESS: "login.hpc.itc.rwth-aachen.de"
@@ -33,13 +34,13 @@ variables:
     - if [[ "${RUN_SETUP}" == "true" ]] ; then
     -   bash ${CI_PROJECT_DIR}/setup.sh --install-default-plugins
     - fi
-    - git submodule add ${CI_PROJECT_URL}.git/ ${CI_PROJECT_DIR}/Plugins/${CI_PROJECT_NAME}
+    - git submodule add ${CI_PROJECT_URL}.git/ Plugins/${CI_PROJECT_NAME}
     - cd ${CI_PROJECT_DIR}/Plugins/${CI_PROJECT_NAME} && git checkout ${CI_COMMIT_SHA}
     - cd ${CI_PROJECT_DIR}
     - for i in "${!dependencies[@]}"; do
-    -   git submodule add -b "${i%%@*}" --depth 1 ${dependencies[$i]} ${CI_PROJECT_DIR}/Plugins/${i#*@}
+    -   git submodule add -b "${i%%@*}" --depth 1 ${dependencies[$i]} Plugins/${i#*@}
     - done 
-    - rm -rf ${CI_PROJECT_DIR}/.git 
+    - git remote rm origin && git commit -am "Generated Project"
   artifacts:
     name: "Generated_Project_${CI_PROJECT_NAME}"
     paths: ["*"]
@@ -59,6 +60,9 @@ variables:
         - windows
         - unreal-4.22
     script:
+        # Clean folder before building
+        - git clean -qxfdf; git submodule foreach --quiet --recursive git clean -qxfdf
+        # Preparation and building stage
         - $env:Path="$env:PREPEND_PATH;$env:Path;$env:APPEND_PATH"
         - $env:PROJECT_NAME=(Get-ChildItem *.uproject).BaseName
         - . "$env:UE_ENGINE_FOLDER\Build\BatchFiles\RunUAT.bat" BuildCookRun -Project="$env:CI_PROJECT_DIR/$env:PROJECT_NAME.uproject" -WaitMutex -NoP4 -TargetPlatform=Win64 -ClientConfig="$env:CLIENT_CONFIG" -Cook -allmaps -Build -Stage -Pak -Iterate -utf8output -Archive -ArchiveDirectory="$env:CI_PROJECT_DIR/Release/$env:CI_PROJECT_NAME" -Rocket -Package ($env:EXTRA_ARGS); $env:EXIT_CODE=$LASTEXITCODE
@@ -104,6 +108,9 @@ variables:
         - centos
         - unreal-4.22
     script:
+        # Clean folder before building
+        - git clean -qxfdf && git submodule foreach --quiet --recursive git clean -qxfdf
+        # Preparation and building stage
         - PATH=$PREPEND_PATH:$PATH:$APPEND_PATH
         - export PROJECT_NAME=`basename $(find *.uproject) .uproject`
         - EXIT_CODE=0