diff --git a/CMake/External/External_Assimp.cmake b/CMake/External/External_Assimp.cmake
index aaca9c0756abbc3f2e06786cc6bb2f24ba281e78..cbca2e2e64251d184309243a8706c0e85d88eb77 100644
--- a/CMake/External/External_Assimp.cmake
+++ b/CMake/External/External_Assimp.cmake
@@ -2,8 +2,9 @@
 # Add External Project
 #-----------------------------------------------------------------------------
 include(imstkAddExternalProject)
+set(git_sha "fixCompilationError")
 imstk_add_external_project( Assimp
-  URL https://gitlab.kitware.com/iMSTK/assimp/-/archive/fixCompilationError/assimp-fixCompilationError.zip
+  URL https://gitlab.kitware.com/iMSTK/assimp/-/archive/${git_sha}/assimp-${git_sha}.zip
   URL_MD5 fab081af9dbd73a9a5c61cd33dd93340
   CMAKE_CACHE_ARGS
     -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
diff --git a/CMake/External/External_Eigen3.cmake b/CMake/External/External_Eigen3.cmake
index 30a37ac674e6ae0aa3a97a6d3b0d27dc03d62c74..e85820c411671f17f318eec5a2443a64edcdd68a 100644
--- a/CMake/External/External_Eigen3.cmake
+++ b/CMake/External/External_Eigen3.cmake
@@ -22,8 +22,9 @@ else()
     )
 endif()
 
+set(git_sha "3.4.0")
 imstk_add_external_project( Eigen3
-  URL "https://gitlab.kitware.com/iMSTK/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz"
+  URL "https://gitlab.kitware.com/iMSTK/eigen/-/archive/${git_sha}/eigen-${git_sha}.tar.gz"
   URL_HASH MD5=4c527a9171d71a72a9d4186e65bea559
   CMAKE_CACHE_ARGS
         -DBUILD_TESTING:BOOL=OFF
diff --git a/CMake/External/External_LibNiFalcon.cmake b/CMake/External/External_LibNiFalcon.cmake
index 2d8a7b06d194cc5ff2a2c91018449fe8d02e82d9..89a9a95648cfef113a124ce890cf0461bfa69517 100644
--- a/CMake/External/External_LibNiFalcon.cmake
+++ b/CMake/External/External_LibNiFalcon.cmake
@@ -7,8 +7,9 @@ if(WIN32)
 endif(WIN32)
 
 include(imstkAddExternalProject)
+set(git_sha "libusb1-windows")
 imstk_add_external_project( LibNiFalcon
-  URL https://gitlab.kitware.com/iMSTK/libnifalcon/-/archive/libusb1-windows/libnifalcon-libusb1-windows.zip
+  URL https://gitlab.kitware.com/iMSTK/libnifalcon/-/archive/${git_sha}/libnifalcon-${git_sha}.zip
   URL_MD5 6d5d68c92837388bfcd27f99a48b921d
   CMAKE_CACHE_ARGS
     -DBUILD_TESTING:BOOL=OFF
diff --git a/CMake/External/External_OpenVR.cmake b/CMake/External/External_OpenVR.cmake
index d3b1ab4832735accc9cab9d1a1ab59ef53df5bd0..8dd9b06dddb9bf98ea72e34443cec374647b1586 100644
--- a/CMake/External/External_OpenVR.cmake
+++ b/CMake/External/External_OpenVR.cmake
@@ -60,8 +60,9 @@ endif()
 #-----------------------------------------------------------------------------
 # Add External Project
 #-----------------------------------------------------------------------------
+set(git_sha "v1.12.5")
 imstk_add_external_project( OpenVR
-  URL "https://gitlab.kitware.com/iMSTK/openvr/-/archive/v1.12.5/openvr-v1.12.5.tar.gz"
+  URL "https://gitlab.kitware.com/iMSTK/openvr/-/archive/${git_sha}/openvr-${git_sha}.tar.gz"
   URL_MD5 "42c4d1c4a194860aaa4e793b009b99c0"
   DOWNLOAD_DIR ${OpenVR_PREFIX}
   SOURCE_DIR ${OpenVR_SOURCE_DIR}
diff --git a/CMake/External/External_PThreads.cmake b/CMake/External/External_PThreads.cmake
index 328630d21885ba7db9e82efcfc804b82ce51da21..8d91ee4bb19418e9be073e97a66e5f3fe1312109 100644
--- a/CMake/External/External_PThreads.cmake
+++ b/CMake/External/External_PThreads.cmake
@@ -2,8 +2,9 @@
 # Add External Project
 #-----------------------------------------------------------------------------
 include(imstkAddExternalProject)
+set(git_sha "iMSTK")
 imstk_add_external_project( PThreads
-  URL https://gitlab.kitware.com/iMSTK/libpthread/-/archive/iMSTK/libpthread-iMSTK.zip
+  URL https://gitlab.kitware.com/iMSTK/libpthread/-/archive/${git_sha}/libpthread-${git_sha}.zip
   URL_MD5 9bc417d5ebb8ac0859eeb77a147569ba
   # This is the iMSTK branch
   CMAKE_CACHE_ARGS
diff --git a/CMake/External/External_PhysX.cmake b/CMake/External/External_PhysX.cmake
index 1892f3b391efb1b6234a853ffa0a8ee174081f98..702dc6839b26681bd7f76f38dea2545dbb947b63 100644
--- a/CMake/External/External_PhysX.cmake
+++ b/CMake/External/External_PhysX.cmake
@@ -58,8 +58,9 @@ set(PHYSX_iMSTK_INSTALL "${CMAKE_COMMAND}"
   -DiMSTK_INSTALL_DIR=${CMAKE_INSTALL_PREFIX}
   -P ${CMAKE_SOURCE_DIR}/CMake/External/Patches/physx.cmake)
 
+set(git_sha "b03d0a74c1244a97b83dea58dc201beeacd45cf4")
 imstk_add_external_project( PhysX
-  URL https://gitlab.kitware.com/iMSTK/PhysX/-/archive/b03d0a74c1244a97b83dea58dc201beeacd45cf4/archive.zip
+  URL https://gitlab.kitware.com/iMSTK/PhysX/-/archive/${git_sha}/PhysX-${git_sha}.zip
   URL_MD5 9c17263ceec705eaf1ddd7c2ee796bac
   SOURCE_SUBDIR ./physx/compiler/public
   CMAKE_CACHE_ARGS
diff --git a/CMake/External/External_VRPN.cmake b/CMake/External/External_VRPN.cmake
index 7c56de2dda86fe80ca7983e7cf8071e77045e4e0..fca3845c26e98506e241723c169fb4186e1bdb62 100644
--- a/CMake/External/External_VRPN.cmake
+++ b/CMake/External/External_VRPN.cmake
@@ -34,10 +34,8 @@ endif()
 include(imstkAddExternalProject)
 imstk_add_external_project( VRPN
   GIT_REPOSITORY https://gitlab.kitware.com/iMSTK/vrpn.git
-  GIT_TAG 7a2845e4b1be2707ccb67dd1d388fb22a766e8f7
+  GIT_TAG 7a2845e4b1be2707ccb67dd1d388fb22a766e8f7 # vrpn-imstk-additions
   # Cannot get a zip as vrpn uses submodules which are not pulled into the zip
-  #URL https://gitlab.kitware.com/iMSTK/vrpn/-/archive/improve-openhaptics-rebase/vrpn-improve-openhaptics-rebase.zip
-  #URL_MD5 f9f1f10b0844ee244d3478184d58da04
   CMAKE_CACHE_ARGS
     -DBUILD_TESTING:BOOL=OFF
     -DVRPN_SUBPROJECT_BUILD:BOOL=ON
diff --git a/CMake/External/External_VegaFEM.cmake b/CMake/External/External_VegaFEM.cmake
index 053d2b23610c93ed94fdc0d45947da646e422a8f..8930025ef4a1e095a8cfb22772163897979f5c07 100644
--- a/CMake/External/External_VegaFEM.cmake
+++ b/CMake/External/External_VegaFEM.cmake
@@ -27,8 +27,9 @@ else()
     )
 endif()
 
+set(git_sha "build_model_reduction")
 imstk_add_external_project( VegaFEM
-  URL https://gitlab.kitware.com/iMSTK/vegafemv4.0/-/archive/build_model_reduction/vegafemv4.0-build_model_reduction.zip
+  URL https://gitlab.kitware.com/iMSTK/vegafemv4.0/-/archive/${git_sha}/vegafemv4.0-${git_sha}.zip
   URL_MD5 3f04bb7c2ba080785bcadf44d1a462a3
   CMAKE_CACHE_ARGS
     -DVegaFEM_ENABLE_PTHREADS_SUPPORT:BOOL=ON
diff --git a/CMake/External/External_g3log.cmake b/CMake/External/External_g3log.cmake
index baca16800b2e8d0e76c422a78e9861195cc9330f..40de953cd3334389f79924700936b60ad4761785 100644
--- a/CMake/External/External_g3log.cmake
+++ b/CMake/External/External_g3log.cmake
@@ -38,8 +38,9 @@ set(g3log_INSTALL_COMMAND
 #-----------------------------------------------------------------------------
 # Add External Project
 #-----------------------------------------------------------------------------
+set(git_sha "6c1698c4f7db6b9e4246ead38051f9866ea3ac06")
 imstk_add_external_project( g3log
-  URL https://gitlab.kitware.com/iMSTK/g3log/-/archive/6c1698c4f7db6b9e4246ead38051f9866ea3ac06/archive.zip
+  URL https://gitlab.kitware.com/iMSTK/g3log/-/archive/${git_sha}/g3log-${git_sha}.zip
   URL_MD5 3815bbfec2ff51dc473063c35eec0f36
   CMAKE_CACHE_ARGS
     -DADD_FATAL_EXAMPLE:BOOL=OFF