diff --git a/cmake/macros/AddBugSplat.cmake b/cmake/macros/AddBugSplat.cmake
new file mode 100644
index 0000000000..5facd1226c
--- /dev/null
+++ b/cmake/macros/AddBugSplat.cmake
@@ -0,0 +1,19 @@
+macro(add_bugsplat)
+  find_package(BugSplat)
+
+  get_property(BUGSPLAT_CHECKED GLOBAL PROPERTY CHECKED_FOR_BUGSPLAT_ONCE)
+
+  if (BUGSPLAT_FOUND)
+    add_definitions(-DHAS_BUGSPLAT)
+
+    target_include_directories(${TARGET_NAME} PRIVATE ${BUGSPLAT_INCLUDE_DIRS})
+    target_link_libraries(${TARGET_NAME} ${BUGSPLAT_LIBRARIES})
+
+    add_custom_command(TARGET ${TARGET_NAME}
+      POST_BUILD
+      COMMAND ${CMAKE_COMMAND} -E copy ${BUGSPLAT_RC_DLL_PATH} "$<TARGET_FILE_DIR:${TARGET_NAME}>/")
+    add_custom_command(TARGET ${TARGET_NAME}
+      POST_BUILD
+      COMMAND ${CMAKE_COMMAND} -E copy ${BUGSPLAT_EXE_PATH} "$<TARGET_FILE_DIR:${TARGET_NAME}>/")
+  endif ()
+endmacro()
diff --git a/cmake/modules/FindBugSplat.cmake b/cmake/modules/FindBugSplat.cmake
new file mode 100644
index 0000000000..f9fe772b87
--- /dev/null
+++ b/cmake/modules/FindBugSplat.cmake
@@ -0,0 +1,22 @@
+if (WIN32)
+  message("in findbugsplat")
+  include("${MACRO_DIR}/HifiLibrarySearchHints.cmake")
+  hifi_library_search_hints("BugSplat")
+
+  find_path(BUGSPLAT_INCLUDE_DIRS NAMES BugSplat.h PATH_SUFFIXES inc HINTS ${BUGSPLAT_SEARCH_DIRS})
+
+  find_library(BUGSPLAT_LIBRARY_RELEASE "BugSplat64.lib" PATH_SUFFIXES "lib64" HINTS ${BUGSPLAT_SEARCH_DIRS})
+  find_path(BUGSPLAT_DLL_PATH NAMES "BugSplat64.dll" PATH_SUFFIXES "bin64" HINTS ${BUGSPLAT_SEARCH_DIRS})
+  find_file(BUGSPLAT_RC_DLL_PATH NAMES "BugSplatRc64.dll" PATH_SUFFIXES "bin64" HINTS ${BUGSPLAT_SEARCH_DIRS})
+  find_file(BUGSPLAT_EXE_PATH NAMES "BsSndRpt64.exe" PATH_SUFFIXES "bin64" HINTS ${BUGSPLAT_SEARCH_DIRS})
+
+  include(SelectLibraryConfigurations)
+  select_library_configurations(BUGSPLAT)
+
+  set(BUGSPLAT_LIBRARIES ${BUGSPLAT_LIBRARY_RELEASE})
+
+  set(BUGSPLAT_REQUIREMENTS BUGSPLAT_INCLUDE_DIRS BUGSPLAT_LIBRARIES BUGSPLAT_DLL_PATH BUGSPLAT_RC_DLL_PATH BUGSPLAT_EXE_PATH)
+  find_package_handle_standard_args(BugSplat DEFAULT_MSG ${BUGSPLAT_REQUIREMENTS})
+
+  add_paths_to_fixup_libs(${BUGSPLAT_DLL_PATH})
+endif ()