diff --git a/.travis.yml b/.travis.yml
index f580812..503dc99 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,7 +2,7 @@
 
 # macOS and Xcode Version
 os: osx
-osx_image: xcode11.5
+osx_image: xcode12
 
 # Build with verbose logging to avoid Travis timing out.
 script:
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj
index 48723fe..d00af95 100644
--- a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
 	archiveVersion = 1;
 	classes = {
 	};
-	objectVersion = 48;
+	objectVersion = 52;
 	objects = {
 
 /* Begin PBXBuildFile section */
@@ -27,6 +27,8 @@
 		A964BD3E1E4EA6FC00CA9AF1 /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A964BC611E4EA6FC00CA9AF1 /* util.cpp */; };
 		A964BD3F1E4EA6FC00CA9AF1 /* util_init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A964BC631E4EA6FC00CA9AF1 /* util_init.cpp */; };
 		A964BD401E4EA6FC00CA9AF1 /* util_init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A964BC631E4EA6FC00CA9AF1 /* util_init.cpp */; };
+		A991E26924FCA59600D968D4 /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E26824FCA59600D968D4 /* MoltenVK.xcframework */; };
+		A991E26A24FCA59600D968D4 /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E26824FCA59600D968D4 /* MoltenVK.xcframework */; };
 		A9B67B781C3AAE9800373FFD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; };
 		A9B67B7A1C3AAE9800373FFD /* DemoViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.mm */; };
 		A9B67B7C1C3AAE9800373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; };
@@ -39,10 +41,6 @@
 		A9B67B8F1C3AAEA200373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B871C3AAEA200373FFD /* main.m */; };
 		A9B67B901C3AAEA200373FFD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; };
 		A9B67B911C3AAEA200373FFD /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; };
-		A9C2ABA2218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA0218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */; };
-		A9C2ABA3218505B000DDBC03 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA1218505B000DDBC03 /* MoltenVK.framework */; };
-		A9C2ABA6218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA4218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */; };
-		A9C2ABA7218505CB00DDBC03 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA5218505CB00DDBC03 /* MoltenVK.framework */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
@@ -90,6 +88,7 @@
 		A964BC631E4EA6FC00CA9AF1 /* util_init.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = util_init.cpp; sourceTree = "<group>"; };
 		A964BC641E4EA6FC00CA9AF1 /* util_init.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = util_init.hpp; sourceTree = "<group>"; };
 		A977BCFE1B66BB010067E5BF /* API-Samples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "API-Samples.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+		A991E26824FCA59600D968D4 /* MoltenVK.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = MoltenVK.xcframework; path = ../../../MoltenVK/MoltenVK.xcframework; sourceTree = "<group>"; };
 		A99B2F0D24436190001117F7 /* generateSPIRVShaders */ = {isa = PBXFileReference; lastKnownFileType = text; path = generateSPIRVShaders; sourceTree = "<group>"; };
 		A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
 		A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@@ -111,10 +110,6 @@
 		A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
 		A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
 		A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = "<group>"; };
-		A9C2ABA0218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
-		A9C2ABA1218505B000DDBC03 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../MoltenVK/iOS/framework/MoltenVK.framework; sourceTree = "<group>"; };
-		A9C2ABA4218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
-		A9C2ABA5218505CB00DDBC03 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../MoltenVK/macOS/framework/MoltenVK.framework; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -122,8 +117,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9C2ABA3218505B000DDBC03 /* MoltenVK.framework in Frameworks */,
-				A9C2ABA2218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */,
+				A991E26924FCA59600D968D4 /* MoltenVK.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -131,8 +125,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9C2ABA7218505CB00DDBC03 /* MoltenVK.framework in Frameworks */,
-				A9C2ABA6218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */,
+				A991E26A24FCA59600D968D4 /* MoltenVK.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -496,10 +489,7 @@
 		A9C2AB9F218505B000DDBC03 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
-				A9C2ABA5218505CB00DDBC03 /* MoltenVK.framework */,
-				A9C2ABA4218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A9C2ABA1218505B000DDBC03 /* MoltenVK.framework */,
-				A9C2ABA0218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */,
+				A991E26824FCA59600D968D4 /* MoltenVK.xcframework */,
 			);
 			name = Frameworks;
 			sourceTree = "<group>";
@@ -643,10 +633,6 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				CURRENT_PROJECT_VERSION = 1;
 				DEVELOPMENT_TEAM = "";
-				FRAMEWORK_SEARCH_PATHS = (
-					"\"$(SRCROOT)/../../../MoltenVK/iOS/framework\"",
-					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/framework\"",
-				);
 				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					"$(inherited)",
@@ -670,10 +656,6 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				CURRENT_PROJECT_VERSION = 1;
 				DEVELOPMENT_TEAM = "";
-				FRAMEWORK_SEARCH_PATHS = (
-					"\"$(SRCROOT)/../../../MoltenVK/iOS/framework\"",
-					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/framework\"",
-				);
 				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
 				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
 				GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
@@ -692,10 +674,6 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				COMBINE_HIDPI_IMAGES = YES;
-				FRAMEWORK_SEARCH_PATHS = (
-					"\"$(SRCROOT)/../../../MoltenVK/macOS/framework\"",
-					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/framework\"",
-				);
 				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					"$(inherited)",
@@ -719,10 +697,6 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				COMBINE_HIDPI_IMAGES = YES;
-				FRAMEWORK_SEARCH_PATHS = (
-					"\"$(SRCROOT)/../../../MoltenVK/macOS/framework\"",
-					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/framework\"",
-				);
 				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
 				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
 				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
@@ -760,6 +734,7 @@
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 				HEADER_SEARCH_PATHS = (
 					"\"$(SRCROOT)/../../../MoltenVK/include\"",
+					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/include\"",
 					"\"$(SRCROOT)/../VulkanSamples/API-Samples/utils\"",
 				);
 				ONLY_ACTIVE_ARCH = YES;
@@ -788,6 +763,7 @@
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 				HEADER_SEARCH_PATHS = (
 					"\"$(SRCROOT)/../../../MoltenVK/include\"",
+					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/include\"",
 					"\"$(SRCROOT)/../VulkanSamples/API-Samples/utils\"",
 				);
 				PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-iOS.xcscheme b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-iOS.xcscheme
index 5275333..0d68747 100644
--- a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-iOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-iOS.xcscheme
@@ -27,15 +27,6 @@
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
-            BuildableName = "API-Samples.app"
-            BlueprintName = "API-Samples-iOS"
-            ReferencedContainer = "container:API-Samples.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
       <Testables>
       </Testables>
    </TestAction>
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-macOS.xcscheme b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-macOS.xcscheme
index beeee17..6be3dac 100644
--- a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-macOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-macOS.xcscheme
@@ -27,15 +27,6 @@
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "A977BCBD1B66BB010067E5BF"
-            BuildableName = "API-Samples.app"
-            BlueprintName = "API-Samples-macOS"
-            ReferencedContainer = "container:API-Samples.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
       <Testables>
       </Testables>
    </TestAction>
diff --git a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
index cc2ab9d..943125e 100644
--- a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
 	archiveVersion = 1;
 	classes = {
 	};
-	objectVersion = 48;
+	objectVersion = 52;
 	objects = {
 
 /* Begin PBXBuildFile section */
@@ -13,9 +13,10 @@
 		A93DBF4124A2A4D500079F64 /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */; };
 		A93DBF4224A2A4D500079F64 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; };
 		A93DBF4324A2A4D500079F64 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; };
-		A93DBF4E24A2A6F000079F64 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A93DBF4D24A2A6F000079F64 /* libMoltenVK.dylib */; };
-		A93DBF4F24A2A6F000079F64 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A93DBF4D24A2A6F000079F64 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		A94D4CB724A2C9A3009C9139 /* MainTV.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A94D4CB624A2C9A3009C9139 /* MainTV.storyboard */; };
+		A991E27624FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E27524FD543A00D968D4 /* MoltenVK.xcframework */; };
+		A991E27724FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E27524FD543A00D968D4 /* MoltenVK.xcframework */; };
+		A991E27824FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E27524FD543A00D968D4 /* MoltenVK.xcframework */; };
 		A9B53B151C3AC0BE00ABC6F6 /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; };
 		A9B53B161C3AC0BE00ABC6F6 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; };
 		A9B53B181C3AC0BE00ABC6F6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B831C3AAEA200373FFD /* AppDelegate.m */; };
@@ -28,53 +29,16 @@
 		A9B53B341C3AC15200ABC6F6 /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */; };
 		A9B53B351C3AC15200ABC6F6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; };
 		A9B53B361C3AC15200ABC6F6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; };
-		A9C2ABAC2185086D00DDBC03 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */; };
-		A9C2ABAD2185087500DDBC03 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */; };
-		A9C2ABB02185098A00DDBC03 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
-		A9C2ABB12185099500DDBC03 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 /* End PBXBuildFile section */
 
-/* Begin PBXCopyFilesBuildPhase section */
-		A91F43A11EDDD48800733D01 /* CopyFiles */ = {
-			isa = PBXCopyFilesBuildPhase;
-			buildActionMask = 2147483647;
-			dstPath = "";
-			dstSubfolderSpec = 10;
-			files = (
-				A9C2ABB02185098A00DDBC03 /* libMoltenVK.dylib in CopyFiles */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		A93DBF4624A2A4D500079F64 /* CopyFiles */ = {
-			isa = PBXCopyFilesBuildPhase;
-			buildActionMask = 2147483647;
-			dstPath = "";
-			dstSubfolderSpec = 10;
-			files = (
-				A93DBF4F24A2A6F000079F64 /* libMoltenVK.dylib in CopyFiles */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		A9B2A5571D7E4FC400F66656 /* CopyFiles */ = {
-			isa = PBXCopyFilesBuildPhase;
-			buildActionMask = 2147483647;
-			dstPath = "";
-			dstSubfolderSpec = 10;
-			files = (
-				A9C2ABB12185099500DDBC03 /* libMoltenVK.dylib in CopyFiles */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXCopyFilesBuildPhase section */
-
 /* Begin PBXFileReference section */
 		A904B5301C9A08C90008C013 /* cube.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cube.c; sourceTree = "<group>"; };
 		A904B5311C9A08C90008C013 /* cube.frag */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.frag; sourceTree = "<group>"; };
 		A904B5331C9A08C90008C013 /* cube.vert */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.vert; sourceTree = "<group>"; };
 		A93DBF4B24A2A4D500079F64 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
-		A93DBF4D24A2A6F000079F64 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/tvOS/dynamic/libMoltenVK.dylib; sourceTree = "<group>"; };
 		A94D4CB424A2A95E009C9139 /* InfoTV.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = InfoTV.plist; sourceTree = "<group>"; };
 		A94D4CB624A2C9A3009C9139 /* MainTV.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = MainTV.storyboard; sourceTree = "<group>"; };
+		A991E27524FD543A00D968D4 /* MoltenVK.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = MoltenVK.xcframework; path = ../../../MoltenVK/MoltenVK.xcframework; sourceTree = "<group>"; };
 		A9B53B271C3AC0BE00ABC6F6 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		A9B53B431C3AC15200ABC6F6 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
@@ -97,8 +61,6 @@
 		A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
 		A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
 		A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = "<group>"; };
-		A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/macOS/dynamic/libMoltenVK.dylib; sourceTree = "<group>"; };
-		A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/iOS/dynamic/libMoltenVK.dylib; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -106,7 +68,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A93DBF4E24A2A6F000079F64 /* libMoltenVK.dylib in Frameworks */,
+				A991E27724FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -114,7 +76,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9C2ABAD2185087500DDBC03 /* libMoltenVK.dylib in Frameworks */,
+				A991E27824FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -122,7 +84,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9C2ABAC2185086D00DDBC03 /* libMoltenVK.dylib in Frameworks */,
+				A991E27624FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -217,9 +179,7 @@
 		A9C2ABA82185085B00DDBC03 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
-				A93DBF4D24A2A6F000079F64 /* libMoltenVK.dylib */,
-				A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */,
-				A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */,
+				A991E27524FD543A00D968D4 /* MoltenVK.xcframework */,
 			);
 			name = Frameworks;
 			sourceTree = "<group>";
@@ -234,7 +194,6 @@
 				A93DBF3B24A2A4D500079F64 /* Resources */,
 				A93DBF4024A2A4D500079F64 /* Sources */,
 				A93DBF4424A2A4D500079F64 /* Frameworks */,
-				A93DBF4624A2A4D500079F64 /* CopyFiles */,
 			);
 			buildRules = (
 			);
@@ -252,7 +211,6 @@
 				A9B53B141C3AC0BE00ABC6F6 /* Resources */,
 				A9B53B171C3AC0BE00ABC6F6 /* Sources */,
 				A9B53B1B1C3AC0BE00ABC6F6 /* Frameworks */,
-				A9B2A5571D7E4FC400F66656 /* CopyFiles */,
 			);
 			buildRules = (
 			);
@@ -270,7 +228,6 @@
 				A9B53B2E1C3AC15200ABC6F6 /* Resources */,
 				A9B53B331C3AC15200ABC6F6 /* Sources */,
 				A9B53B371C3AC15200ABC6F6 /* Frameworks */,
-				A91F43A11EDDD48800733D01 /* CopyFiles */,
 			);
 			buildRules = (
 			);
@@ -391,8 +348,6 @@
 					MVK_SAMP_CUBE,
 				);
 				INFOPLIST_FILE = "$(SRCROOT)/iOS/InfoTV.plist";
-				LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/tvOS/dynamic\"";
 				MARKETING_VERSION = 1;
 				PRODUCT_NAME = Cube;
 				SDKROOT = appletvos;
@@ -412,8 +367,6 @@
 					MVK_SAMP_CUBE,
 				);
 				INFOPLIST_FILE = "$(SRCROOT)/iOS/InfoTV.plist";
-				LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/tvOS/dynamic\"";
 				MARKETING_VERSION = 1;
 				PRODUCT_NAME = Cube;
 				SDKROOT = appletvos;
@@ -432,8 +385,6 @@
 					MVK_SAMP_CUBE,
 				);
 				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
-				LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks";
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/dynamic\"";
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				PRODUCT_NAME = Cube;
 				SDKROOT = macosx;
@@ -451,8 +402,6 @@
 					MVK_SAMP_CUBE,
 				);
 				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
-				LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks";
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/dynamic\"";
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				PRODUCT_NAME = Cube;
 				SDKROOT = macosx;
@@ -472,8 +421,6 @@
 				);
 				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
-				LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/dynamic\"";
 				MARKETING_VERSION = 1;
 				PRODUCT_NAME = Cube;
 				SDKROOT = iphoneos;
@@ -494,8 +441,6 @@
 				);
 				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
-				LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/dynamic\"";
 				MARKETING_VERSION = 1;
 				PRODUCT_NAME = Cube;
 				SDKROOT = iphoneos;
@@ -529,7 +474,10 @@
 					"\"$(SRCROOT)/../../../MoltenVK/include\"",
 				);
 				ONLY_ACTIVE_ARCH = YES;
-				OTHER_LDFLAGS = "-ObjC";
+				OTHER_LDFLAGS = (
+					"-ObjC",
+					"-lstdc++",
+				);
 				PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
 			};
 			name = Debug;
@@ -553,7 +501,10 @@
 					"\"$(SRCROOT)/include\"",
 					"\"$(SRCROOT)/../../../MoltenVK/include\"",
 				);
-				OTHER_LDFLAGS = "-ObjC";
+				OTHER_LDFLAGS = (
+					"-ObjC",
+					"-lstdc++",
+				);
 				PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
 			};
 			name = Release;
diff --git a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
index 6c3e35a..7e7431a 100644
--- a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
@@ -27,15 +27,6 @@
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "A9B53B291C3AC15200ABC6F6"
-            BuildableName = "Cube.app"
-            BlueprintName = "Cube-iOS"
-            ReferencedContainer = "container:Cube.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
       <Testables>
       </Testables>
    </TestAction>
diff --git a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
index 6344ada..ee686bb 100644
--- a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
@@ -27,15 +27,6 @@
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "A9B53B0F1C3AC0BE00ABC6F6"
-            BuildableName = "Cube.app"
-            BlueprintName = "Cube-macOS"
-            ReferencedContainer = "container:Cube.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
       <Testables>
       </Testables>
    </TestAction>
diff --git a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-tvOS.xcscheme b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-tvOS.xcscheme
index 694d0ac..851887a 100644
--- a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-tvOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-tvOS.xcscheme
@@ -27,15 +27,6 @@
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "A9B53B291C3AC15200ABC6F6"
-            BuildableName = "Cube.app"
-            BlueprintName = "Cube-iOS"
-            ReferencedContainer = "container:Cube.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
       <Testables>
       </Testables>
    </TestAction>
diff --git a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
index bda4518..902ad08 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
@@ -7,6 +7,10 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		A92806E724FD77C00082B2CF /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A991E27124FD520900D968D4 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
+		A92806E924FD77EC0082B2CF /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A991E27324FD521600D968D4 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
+		A991E27224FD520900D968D4 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E27124FD520900D968D4 /* libMoltenVK.dylib */; };
+		A991E27424FD521600D968D4 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E27324FD521600D968D4 /* libMoltenVK.dylib */; };
 		A99789AF1CD3D4E2005E7DAC /* Hologram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789831CD3D4E2005E7DAC /* Hologram.cpp */; };
 		A99789B01CD3D4E2005E7DAC /* Hologram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789831CD3D4E2005E7DAC /* Hologram.cpp */; };
 		A99789B71CD3D4E2005E7DAC /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789881CD3D4E2005E7DAC /* Main.cpp */; };
@@ -31,12 +35,33 @@
 		A9B67B8F1C3AAEA200373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B871C3AAEA200373FFD /* main.m */; };
 		A9B67B901C3AAEA200373FFD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; };
 		A9B67B911C3AAEA200373FFD /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; };
-		A9C2AB99218503A400DDBC03 /* libMoltenVK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB97218503A400DDBC03 /* libMoltenVK.a */; };
-		A9C2AB9E218503BA00DDBC03 /* libMoltenVK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */; };
 		A9D516F81CD575E300097D96 /* HelpersDispatchTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */; };
 		A9D516F91CD575E300097D96 /* HelpersDispatchTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */; };
 /* End PBXBuildFile section */
 
+/* Begin PBXCopyFilesBuildPhase section */
+		A92806E624FD77AA0082B2CF /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = "";
+			dstSubfolderSpec = 10;
+			files = (
+				A92806E724FD77C00082B2CF /* libMoltenVK.dylib in CopyFiles */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		A92806E824FD77D50082B2CF /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = "";
+			dstSubfolderSpec = 10;
+			files = (
+				A92806E924FD77EC0082B2CF /* libMoltenVK.dylib in CopyFiles */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXCopyFilesBuildPhase section */
+
 /* Begin PBXFileReference section */
 		1D6058910D05DD3D006BFB54 /* Hologram.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Hologram.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		A93374642284CD260059D36E /* Hologram.vert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Hologram.vert.h; path = android/src/main/jni/Hologram.vert.h; sourceTree = "<group>"; };
@@ -45,6 +70,8 @@
 		A93CC3701CD56B8F00EB8A56 /* generate-dispatch-table */ = {isa = PBXFileReference; explicitFileType = text.script.python; path = "generate-dispatch-table"; sourceTree = "<group>"; };
 		A93CC3711CD56FD600EB8A56 /* CMakeLists.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
 		A977BCFE1B66BB010067E5BF /* Hologram.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Hologram.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		A991E27124FD520900D968D4 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/dylib/iOS/libMoltenVK.dylib; sourceTree = "<group>"; };
+		A991E27324FD521600D968D4 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/dylib/macOS/libMoltenVK.dylib; sourceTree = "<group>"; };
 		A997897F1CD3D4E2005E7DAC /* Game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Game.h; sourceTree = "<group>"; };
 		A99789821CD3D4E2005E7DAC /* Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Helpers.h; sourceTree = "<group>"; };
 		A99789831CD3D4E2005E7DAC /* Hologram.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Hologram.cpp; sourceTree = "<group>"; };
@@ -79,8 +106,6 @@
 		A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
 		A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
 		A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = "<group>"; };
-		A9C2AB97218503A400DDBC03 /* libMoltenVK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMoltenVK.a; path = ../../../MoltenVK/iOS/static/libMoltenVK.a; sourceTree = "<group>"; };
-		A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMoltenVK.a; path = ../../../MoltenVK/macOS/static/libMoltenVK.a; sourceTree = "<group>"; };
 		A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HelpersDispatchTable.cpp; sourceTree = "<group>"; };
 		A9D516F71CD575E300097D96 /* HelpersDispatchTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelpersDispatchTable.h; sourceTree = "<group>"; };
 /* End PBXFileReference section */
@@ -90,7 +115,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9C2AB99218503A400DDBC03 /* libMoltenVK.a in Frameworks */,
+				A991E27224FD520900D968D4 /* libMoltenVK.dylib in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -98,7 +123,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9C2AB9E218503BA00DDBC03 /* libMoltenVK.a in Frameworks */,
+				A991E27424FD521600D968D4 /* libMoltenVK.dylib in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -207,8 +232,8 @@
 		A9C2AB96218503A400DDBC03 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
-				A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */,
-				A9C2AB97218503A400DDBC03 /* libMoltenVK.a */,
+				A991E27124FD520900D968D4 /* libMoltenVK.dylib */,
+				A991E27324FD521600D968D4 /* libMoltenVK.dylib */,
 			);
 			name = Frameworks;
 			sourceTree = "<group>";
@@ -232,6 +257,7 @@
 				1D60588D0D05DD3D006BFB54 /* Resources */,
 				1D60588E0D05DD3D006BFB54 /* Sources */,
 				1D60588F0D05DD3D006BFB54 /* Frameworks */,
+				A92806E624FD77AA0082B2CF /* CopyFiles */,
 			);
 			buildRules = (
 			);
@@ -249,6 +275,7 @@
 				A977BCBE1B66BB010067E5BF /* Resources */,
 				A977BCC91B66BB010067E5BF /* Sources */,
 				A977BCF11B66BB010067E5BF /* Frameworks */,
+				A92806E824FD77D50082B2CF /* CopyFiles */,
 			);
 			buildRules = (
 			);
@@ -358,7 +385,8 @@
 				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
 				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\"";
+				LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/dylib/iOS\"";
 				MARKETING_VERSION = 1;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
@@ -374,7 +402,8 @@
 				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
 				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\"";
+				LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/dylib/iOS\"";
 				MARKETING_VERSION = 1;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
@@ -388,7 +417,8 @@
 				COMBINE_HIDPI_IMAGES = YES;
 				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
 				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/static\"";
+				LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks";
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/dylib/macOS\"";
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				OTHER_LDFLAGS = (
 					"$(inherited)",
@@ -405,7 +435,8 @@
 				COMBINE_HIDPI_IMAGES = YES;
 				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
 				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/static\"";
+				LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks";
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/dylib/macOS\"";
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				OTHER_LDFLAGS = (
 					"$(inherited)",
diff --git a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-iOS.xcscheme b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-iOS.xcscheme
index 3e0f340..3d15109 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-iOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-iOS.xcscheme
@@ -27,15 +27,6 @@
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
-            BuildableName = "Hologram.app"
-            BlueprintName = "Hologram-iOS"
-            ReferencedContainer = "container:Hologram.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
       <Testables>
       </Testables>
    </TestAction>
diff --git a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-macOS.xcscheme b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-macOS.xcscheme
index 354ab2d..b597c72 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-macOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-macOS.xcscheme
@@ -27,15 +27,6 @@
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "A977BCBD1B66BB010067E5BF"
-            BuildableName = "Hologram.app"
-            BlueprintName = "Hologram-macOS"
-            ReferencedContainer = "container:Hologram.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
       <Testables>
       </Testables>
    </TestAction>
diff --git a/Demos/README.md b/Demos/README.md
index aeccf91..0334bb3 100644
--- a/Demos/README.md
+++ b/Demos/README.md
@@ -56,9 +56,8 @@
 The *macOS* version of this demo includes a sizable window, and represents an example of how to detect,
 within your *Vulkan* code, when a window has been resized, and to modify the *Vulkan* swapchain accordingly.
 
-The `Cube` demo is a simple example of installing **MoltenVK** as a *dynamic library*. In this demo, 
-the **MoltenVK** *dynamic library* is embedded in the application, but it could have been installed 
-as a system library instead.
+The `Cube` demo is a simple example of installing **MoltenVK** as an `XCFramework` 
+that is statically linked to the application.
 
 
 <a name="lunarg-vulkan-samples-hologram"></a>
@@ -82,7 +81,9 @@
 To customize, modify the arguments created in the `DemoViewController viewDidLoad` method
 found in the `iOS/DemoViewController.mm` or `macOS/DemoViewController.mm` file.
 
-The `Hologram` demo is a simple example of installing **MoltenVK** as a *static library*.
+The `Hologram` demo is a simple example of installing **MoltenVK** as a *dynamic library* that is 
+dynamically linked to the application. In this demo, the **MoltenVK** *dynamic library* is copied 
+into and embedded in the application, but it could have been installed as a system library instead.
 
 
 <a name="lunarg-vulkan-samples-api"></a>
@@ -119,7 +120,8 @@
 To see descriptions and screenshots of each of the demos, open 
 [this summary document](LunarG-VulkanSamples/VulkanSamples/samples_index.html#AdditionalVulkan).
 
-The `API-Samples` demo is a simple example of installing **MoltenVK** as a *static framework*.
+The `API-Samples` demo is a simple example of installing **MoltenVK** as an `XCFramework` that 
+is statically linked to the application.
 
 
 
diff --git a/Docs/MoltenVK_Runtime_UserGuide.md b/Docs/MoltenVK_Runtime_UserGuide.md
index ba27473..f1fc211 100644
--- a/Docs/MoltenVK_Runtime_UserGuide.md
+++ b/Docs/MoltenVK_Runtime_UserGuide.md
@@ -20,8 +20,9 @@
 - [About This Document](#about_this)
 - [About **MoltenVK**](#about_moltenvk)
 - [Installing **MoltenVK** in Your *Vulkan* Application](#install)
+	- [Install *MoltenVK* as a Universal `XCFramework`](#install_xcfwk)
+	- [Install *MoltenVK* as a Dynamic Library](#install_dylib)
 	- [Build and Runtime Requirements](#requirements)
-	- [Install as Static Framework, Static Library, or Dynamic Library](#install_lib)
 - [Interacting with the **MoltenVK** Runtime](#interaction)
 	- [MoltenVK `VK_MVK_moltenvk` Extension](#moltenvk_extension)
 	- [Configuring MoltenVK](#moltenvk_config)
@@ -76,6 +77,144 @@
 Installing **MoltenVK** in Your *Vulkan* Application
 ----------------------------------------------------
 
+Installation of **MoltenVK** in your application is straightforward and easy!
+
+Depending on your build and deployment needs, you can link **MoltenVK** to your application either 
+as a universal `XCFramework` or as a *dynamic library* (`.dylib`). Distributing an app containing 
+a dynamic library via the *iOS App Store* or *tvOS App Store* can require specialized bundling. 
+If you are unsure about which linking and deployment option you need, or on *iOS* or *tvOS*, 
+unless you have specific needs for dynamic libraries, follow the steps for linking **MoltenVK** 
+as an `XCFramework`, as it is the simpler option.
+
+The demo apps, found in the `Demos.xcworkspace`, located in the `Demos` folder, demonstrate both
+of the installation techniques discussed above:
+
+- `XCFramework`: `Cube` and `API-Samples` demos.
+- Dynamic library: `Hologram` demo.
+
+
+<a name="install_xcfwk"></a>
+### Install *MoltenVK* as a Universal `XCFramework`
+
+To link **MoltenVK** to your application as an `XCFramework`, follow these steps:
+
+1. Open your application in *Xcode* and select your application's target in the 
+   *Project Navigator* panel.
+
+2. Open the *Build Settings* tab.
+
+	1. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting, 
+           add an entry that points to the `MoltenVK/include` folder.
+
+	2. If using `IOSurfaces` on *iOS*, open the **iOS Deployment Target** (aka `IPHONEOS_DEPLOYMENT_TARGET`) 
+	   setting, and ensure it is set to a value of `iOS 11.0` or greater,  or if using `IOSurfaces` on *tvOS*, 
+	   open the **tvOS Deployment Target** (aka `TVOS_DEPLOYMENT_TARGET`) setting, and ensure it is set to a
+	   value of `tvOS 11.0` or greater.
+
+3. Open the *Build Phases* tab and open the *Link Binary With Libraries* list.
+   
+	1. Drag `MoltenVK/MoltenVK.xcframework` to the *Link Binary With Libraries* list.
+
+	2. If your application does **_not_** use use `C++`, click the **+** button, 
+	   and add `libc++.tbd` by selecting it from the list of system frameworks. 
+	   This is needed because **MoltenVK** uses `C++` system libraries internally.
+      
+	3. If you do **_not_** have the **Link Frameworks Automatically** (aka `CLANG_MODULES_AUTOLINK`) and 
+       **Enable Modules (C and Objective-C)** (aka `CLANG_ENABLE_MODULES`) settings enabled, click the 
+       **+** button, and add the following items by selecting them from the list of system frameworks:
+	   - `libc++.tbd` *(if not already done in Step 2)*
+	   - `Metal.framework`
+	   - `Foundation.framework`.
+	   - `QuartzCore.framework`
+	   - `IOKit.framework` (*macOS*)
+	   - `UIKit.framework` (*iOS* or *tvOS*)
+	   - `IOSurface.framework` (*macOS*, or *iOS* if `IPHONEOS_DEPLOYMENT_TARGET` is at least `iOS 11.0`, 
+	      or *tvOS* if `TVOS_DEPLOYMENT_TARGET` is at least `tvOS 11.0`)
+
+
+
+<a name="install_dylib"></a>
+### Install *MoltenVK* as a Dynamic Library
+
+To link **MoltenVK** to your application as a dynamic library (`.dylib`), follow these steps:
+
+1. Open your application in *Xcode* and select your application's target in the 
+   *Project Navigator* panel.
+
+
+2. Open the *Build Settings* tab.
+
+    1. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting, 
+       add an entry that points to the `MoltenVK/include` folder.
+       
+    2. In the **Library Search Paths** (aka `LIBRARY_SEARCH_PATHS`) setting, 
+       add an entry that points to **_one_** of the following folders:
+          - `MoltenVK/dylib/macOS` *(macOS)*
+          - `MoltenVK/dylib/iOS` *(iOS)*
+          - `MoltenVK/dylib/tvOS` *(tvOS)*
+          
+    3. In the **Runpath Search Paths** (aka `LD_RUNPATH_SEARCH_PATHS`) setting, 
+       add an entry that matches where the dynamic library will be located in your runtime
+       environment. If the dynamic library is to be embedded within your application, 
+       you would typically set this to  **_one_** of these values:
+
+       - `@executable_path/../Frameworks` *(macOS)*
+       - `@executable_path/Frameworks` *(iOS or tvOS)*
+       
+       The `libMoltenVK.dylib` library is internally configured to be located at 
+       `@rpath/libMoltenVK.dylib`.
+
+	3. If using `IOSurfaces` on *iOS*, open the **iOS Deployment Target** (aka `IPHONEOS_DEPLOYMENT_TARGET`) 
+	   setting, and ensure it is set to a value of `iOS 11.0` or greater,  or if using `IOSurfaces` on *tvOS*, 
+	   open the **tvOS Deployment Target** (aka `TVOS_DEPLOYMENT_TARGET`) setting, and ensure it is set to a
+	   value of `tvOS 11.0` or greater.
+
+3. Open the *Build Phases* tab and open the *Link Binary With Libraries* list.
+   
+	1. Drag **_one_** of the following files to the *Link Binary With Libraries* list:
+      - `MoltenVK/dylib/macOS/libMoltenVK.dylib` *(macOS)* 
+      - `MoltenVK/dylib/iOS/libMoltenVK.dylib` *(iOS)* 
+      - `MoltenVK/dylib/tvOS/libMoltenVK.dylib` *(tvOS)* 
+
+	2. If your application does **_not_** use use `C++`, click the **+** button, 
+	   and add `libc++.tbd` by selecting it from the list of system frameworks. 
+	   This is needed because **MoltenVK** uses `C++` system libraries internally.
+      
+	3. If you do **_not_** have the **Link Frameworks Automatically** (aka `CLANG_MODULES_AUTOLINK`) and 
+       **Enable Modules (C and Objective-C)** (aka `CLANG_ENABLE_MODULES`) settings enabled, click the 
+       **+** button, and add the following items by selecting them from the list of system frameworks:
+	   - `libc++.tbd` *(if not already done in Step 2)*
+	   - `Metal.framework`
+	   - `Foundation.framework`.
+	   - `QuartzCore.framework`
+	   - `IOKit.framework` (*macOS*)
+	   - `UIKit.framework` (*iOS* or *tvOS*)
+	   - `IOSurface.framework` (*macOS*, or *iOS* if `IPHONEOS_DEPLOYMENT_TARGET` is at least `iOS 11.0`, 
+	      or *tvOS* if `TVOS_DEPLOYMENT_TARGET` is at least `tvOS 11.0`)
+
+4. Arrange to install the `libMoltenVK.dylib` file in your application environment:
+
+   - To copy the `libMoltenVK.dylib` file into your application or component library:
+   
+	   1. On the *Build Phases* tab, add a new *Copy Files* build phase.
+	    
+	   2. Set the *Destination* into which you want to place  the `libMoltenVK.dylib` file.
+	      Typically this will be *Frameworks* (and it should match the **Runpath Search Paths** 
+	      (aka `LD_RUNPATH_SEARCH_PATHS`) build setting you added above).
+	    
+	   3. Drag **_one_** of the following files to the *Copy Files* list in this new build phase:
+	     - `MoltenVK/dylib/macOS/libMoltenVK.dylib` *(macOS)* 
+	     - `MoltenVK/dylib/iOS/libMoltenVK.dylib` *(iOS)* 
+	     - `MoltenVK/dylib/tvOS/libMoltenVK.dylib` *(tvOS)* 
+   
+   - Alternately, you may create your own installation mechanism to install one of the following 
+     files into a standard *macOS*, *iOS*, or  *tvOS* system library folder on the user's device:
+      - `MoltenVK/dylib/macOS/libMoltenVK.dylib` *(macOS)* 
+      - `MoltenVK/dylib/iOS/libMoltenVK.dylib` *(iOS)* 
+      - `MoltenVK/dylib/tvOS/libMoltenVK.dylib` *(tvOS)* 
+     
+
+
 <a name="requirements"></a>
 ### Build and Runtime Requirements
 
@@ -97,145 +236,19 @@
 - Information on *iOS* devices that are compatible with *Metal* can be found in 
   [this article](https://developer.apple.com/library/content/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/HardwareGPUInformation/HardwareGPUInformation.html).
 
-
-
-<a name="install_lib"></a>
-### Install as Static Framework, Static Library, or Dynamic Library
-
-Installation of **MoltenVK** is straightforward and easy!
-
-Depending on your build and deployment needs, you can install **MoltenVK** as a *static framework*,
-*static library*, or *dynamic library*, by following the steps in this section. If you are unsure 
-about which linking and deployment option you need, follow the steps for installing a 
-*static framework*, as it is the simplest to install.
-  
->**_Note:_** Distributing an app containing a dynamic library via the *iOS App Store* or 
- *tvOS App Store* can require specialized bundling. Unless you have specific needs for 
- dynamic libraries, the recommended approach on *iOS* or *tvOS* is to link **MoltenVK** 
- to your app as a static library or framework.
- 
-
-1. Open your application in *Xcode* and select your application's target in the 
-   *Project Navigator* panel.
-
-
-2. Open the *Build Settings* tab.
-
-	- If installing **MoltenVK** as a *static framework* in your application:
-	    1. In the **Framework Search Paths** (aka `FRAMEWORK_SEARCH_PATHS`) 
-	       setting, add an entry that points to **_one_** of the following folders:
-	          - `MoltenVK/macOS/framework` *(macOS)*
-	          - `MoltenVK/iOS/framework` *(iOS)*
-	          - `MoltenVK/tvOS/framework` *(tvOS)*
-
-	- If installing **MoltenVK** as a *static library* in your application:
-	    1. In the **Library Search Paths** (aka `LIBRARY_SEARCH_PATHS`) setting, 
-	       add an entry that points to **_one_** of the following folders:
-	          - `MoltenVK/macOS/static` *(macOS)*
-	          - `MoltenVK/iOS/static` *(iOS)*
-	          - `MoltenVK/tvOS/static` *(tvOS)*
-	          
-        2. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting, 
-           add an entry that points to the `MoltenVK/include` folder.
-
-	- If installing **MoltenVK** as a *dynamic library* in your application:
-	    1. In the **Library Search Paths** (aka `LIBRARY_SEARCH_PATHS`) setting, 
-	       add an entry that points to **_one_** of the following folders:
-	          - `MoltenVK/macOS/dynamic` *(macOS)*
-	          - `MoltenVK/iOS/dynamic` *(iOS)*
-	          - `MoltenVK/tvOS/dynamic` *(tvOS)*
-	          
-        2. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting, 
-           add an entry that points to the `MoltenVK/include` folder.
-        3. In the **Runpath Search Paths** (aka `LD_RUNPATH_SEARCH_PATHS`) setting, 
-           add an entry that matches where the dynamic library will be located in your runtime
-           environment. If the dynamic library is to be embedded within your application, 
-           you would typically set this value to either:
-
-           - `@executable_path/../Frameworks` *(macOS)*
-           - `@executable_path/Frameworks` *(iOS or tvOS)*
-           
-           The `libMoltenVK.dylib` library is internally configured to be located at 
-           `@rpath/libMoltenVK.dylib`.
-
-3. With the *Build Settings* tab open, if using `IOSurfaces` on *iOS*, open the **iOS Deployment Target** 
-   (aka `IPHONEOS_DEPLOYMENT_TARGET`) setting, and ensure it is set to a value of `iOS 11.0` or greater, 
-   or if using `IOSurfaces` on *tvOS*, open the **tvOS Deployment Target** (aka `TVOS_DEPLOYMENT_TARGET`)
-   setting, and ensure it is set to a value of `tvOS 11.0` or greater.
-
-4. On the *Build Phases* tab, open the *Link Binary With Libraries* list.
+When a *Metal* app is running from *Xcode*, the default ***Scheme*** settings may reduce performance. 
+To improve performance and gain the benefits of *Metal*, perform the following in *Xcode*:
    
-   - For *macOS*, drag **_one_** of the following files to the *Link Binary With Libraries* list:
-      - `MoltenVK/macOS/framework/MoltenVK.framework ` *(static framework)* 
-      - `MoltenVK/macOS/static/libMoltenVK.a` *(static library)* 
-      - `MoltenVK/macOS/dynamic/libMoltenVK.dylib` *(dynamic library)* 
-
-   - For *iOS*, drag **_one_** of the following files to the *Link Binary With Libraries* list:
-      - `MoltenVK/iOS/framework/MoltenVK.framework ` *(static framework)* 
-      - `MoltenVK/iOS/static/libMoltenVK.a` *(static library)* 
-      - `MoltenVK/iOS/dynamic/libMoltenVK.dylib` *(dynamic library)* 
-
-   - For *tvOS*, drag **_one_** of the following files to the *Link Binary With Libraries* list:
-      - `MoltenVK/tvOS/framework/MoltenVK.framework ` *(static framework)* 
-      - `MoltenVK/tvOS/static/libMoltenVK.a` *(static library)* 
-      - `MoltenVK/tvOS/dynamic/libMoltenVK.dylib` *(dynamic library)* 
-
-5. While in the *Link Binary With Libraries* list on the *Build Phases* tab, if you do **_not_** 
-   have the **Link Frameworks Automatically** (aka `CLANG_MODULES_AUTOLINK`) and 
-   **Enable Modules (C and Objective-C)** (aka `CLANG_ENABLE_MODULES`) settings enabled, click
-   the **+** button, and (selecting from the list of system frameworks) add the following items:
-   - `libc++.tbd`
-   - `Metal.framework`
-   - `Foundation.framework`.
-   - `QuartzCore.framework`
-   - `IOKit.framework` (*macOS*)
-   - `UIKit.framework` (*iOS* or *tvOS*)
-   - `IOSurface.framework` (*macOS*, or *iOS* if `IPHONEOS_DEPLOYMENT_TARGET` is at least `iOS 11.0`, 
-      or *tvOS* if `TVOS_DEPLOYMENT_TARGET` is at least `tvOS 11.0`)
-
-6. If installing **MoltenVK** as a *dynamic library* in your application, arrange to install 
-   the `libMoltenVK.dylib` file in your application environment:
-
-   - To copy the `libMoltenVK.dylib` file into your application or component library:
-   
-        1. On the *Build Phases* tab, add a new *Copy Files* build phase.
-        
-        2. Set the *Destination* into which you want to place  the `libMoltenVK.dylib` file.
-           Typically this will be *Frameworks* (and should match the **Runpath Search Paths** 
-           (aka `LD_RUNPATH_SEARCH_PATHS`) build setting you set above).
-        
-        3. Drag **_one_** of the following files to the *Copy Files* list in this new build phase:
-	          - `MoltenVK/macOS/dynamic/libMoltenVK.dylib` *(macOS)*
-	          - `MoltenVK/iOS/dynamic/libMoltenVK.dylib` *(iOS)*
-	          - `MoltenVK/tvOS/dynamic/libMoltenVK.dylib` *(tvOS)*
-   
-   - Alternately, you may create your own installation mechanism to install one of the 
-     `MoltenVK/macOS/dynamic/libMoltenVK.dylib`, `MoltenVK/iOS/dynamic/libMoltenVK.dylib`, 
-     or `MoltenVK/tvOS/dynamic/libMoltenVK.dylib` file into a standard *macOS*, *iOS*, or 
-     *tvOS* system library folder on the user's device.
-
-7. When a *Metal* app is running from *Xcode*, the default ***Scheme*** settings reduce
-   performance. To improve performance and gain the benefits of *Metal*, perform the 
-   following in *Xcode*:
-   
-	1. Open the ***Scheme Editor*** for building your main application. You can do 
-	   this by selecting ***Edit Scheme...*** from the ***Scheme*** drop-down menu, or select 
-	   ***Product -> Scheme -> Edit Scheme...*** from the main menu.
-	2. On the ***Info*** tab, set the ***Build Configuration*** to ***Release***, and disable the 
-	   ***Debug executable*** check-box.
-	3. On the ***Options*** tab, disable both the ***Metal API Validation*** and ***GPU Frame Capture***
-	   options. For optimal performance, you may also consider disabling the other simulation
-	   and debugging options on this tab. For further information, see the 
-	   [Xcode Scheme Settings and Performance](https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/MetalProgrammingGuide/Dev-Technique/Dev-Technique.html#//apple_ref/doc/uid/TP40014221-CH8-SW3) 
-	   section of Apple's *Metal Programming Guide* documentation.
-
-
-The demo apps, found in the `Demos.xcworkspace`, located in the `Demos` folder, demonstrate each
-of the installation techniques discussed above:
-
-- Static Framework: `API-Samples`.
-- Static library: `Hologram`.
-- Dynamic library: `Cube`.
+1. Open the ***Scheme Editor*** for building your main application. You can do 
+   this by selecting ***Edit Scheme...*** from the ***Scheme*** drop-down menu, or select 
+   ***Product -> Scheme -> Edit Scheme...*** from the main menu.
+2. On the ***Info*** tab, set the ***Build Configuration*** to ***Release***, and disable the 
+   ***Debug executable*** check-box.
+3. On the ***Options*** tab, disable both the ***Metal API Validation*** and ***GPU Frame Capture***
+   options. For optimal performance, you may also consider disabling the other simulation
+   and debugging options on this tab. For further information, see the 
+   [Xcode Scheme Settings and Performance](https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/MetalProgrammingGuide/Dev-Technique/Dev-Technique.html#//apple_ref/doc/uid/TP40014221-CH8-SW3) 
+   section of Apple's *Metal Programming Guide* documentation.
 
 
 
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index 03b2cc5..6ee632b 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -18,6 +18,8 @@
 
 Released 2020/09/28
 
+>**_Note:_** This release contains changes to library paths and framework linking options.
+
 - Add support for Vulkan 1.1, including:
 	- The `vkEnumerateInstanceVersion()` function
 	- The `vkGetDeviceQueue2()` function
@@ -38,6 +40,12 @@
 	  future `MTLSharedEvent` Vulkan extension)
 	- `VK_KHR_multiview`
 - Remove support for obsolete `VK_EXTX_portability_subset` extension.
+- Redesign build and linking options that leverage newer framework technology:
+	- Add comprehensive support for multi-platform, multi-architecture `XCFrameworks`.
+	- Build fat single-platform, multi-architecture `dylibs`.
+	- Add support for *Apple Silicon* builds for *macOS* and *Simulators*.
+	- Remove support for distinct legacy frameworks and static libraries.
+	- Remove support for fat libraries and frameworks that span device and simulators.
 - Improve performance of tessellation control pipeline stage by processing multiple 
   patches per workgroup.
 - `vkCmdBindDescriptorSets` order `pDynamicOffsets` by descriptor binding number 
diff --git a/ExternalDependencies.xcodeproj/project.pbxproj b/ExternalDependencies.xcodeproj/project.pbxproj
index d308c9f..3dab9b0 100644
--- a/ExternalDependencies.xcodeproj/project.pbxproj
+++ b/ExternalDependencies.xcodeproj/project.pbxproj
@@ -11,8 +11,6 @@
 			isa = PBXAggregateTarget;
 			buildConfigurationList = 2FEA0AE52490320500EEF3AD /* Build configuration list for PBXAggregateTarget "ExternalDependencies-tvOS" */;
 			buildPhases = (
-				A9A5F2C1249D09820016D8B1 /* Create Fat Libraries */,
-				2FEA0AE42490320500EEF3AD /* Package External Libraries */,
 			);
 			dependencies = (
 				2FEA0CF12490325400EEF3AD /* PBXTargetDependency */,
@@ -26,7 +24,6 @@
 			isa = PBXAggregateTarget;
 			buildConfigurationList = A972A7E721CEC72F0013AB25 /* Build configuration list for PBXAggregateTarget "ExternalDependencies-macOS" */;
 			buildPhases = (
-				A9679AB021D26C7000856BF7 /* Package Libraries */,
 			);
 			dependencies = (
 				A972A7E921CEC76A0013AB25 /* PBXTargetDependency */,
@@ -40,8 +37,6 @@
 			isa = PBXAggregateTarget;
 			buildConfigurationList = A972A7ED21CEC8030013AB25 /* Build configuration list for PBXAggregateTarget "ExternalDependencies-iOS" */;
 			buildPhases = (
-				A932E9C6249A7B9B00D64150 /* Create Fat Libraries */,
-				A9679AAF21D26C1400856BF7 /* Package Libraries */,
 			);
 			dependencies = (
 				A972A7F121CEC8140013AB25 /* PBXTargetDependency */,
@@ -55,6 +50,7 @@
 			isa = PBXAggregateTarget;
 			buildConfigurationList = A972A7F521CEC81B0013AB25 /* Build configuration list for PBXAggregateTarget "ExternalDependencies" */;
 			buildPhases = (
+				A9194DF624E8990C00FB127B /* Create XCFramework */,
 				A9FC5F8B249DB48D003CB086 /* Package Finish */,
 			);
 			dependencies = (
@@ -1728,8 +1724,8 @@
 		A913F24424CF87AE006CB02F /* ShaderLang.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShaderLang.h; sourceTree = "<group>"; };
 		A913F25724CF87AE006CB02F /* CodeGen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CodeGen.cpp; sourceTree = "<group>"; };
 		A913F25824CF87AE006CB02F /* Link.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Link.cpp; sourceTree = "<group>"; };
-		A932E9C5249A743B00D64150 /* create_fat_lib_func.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_lib_func.sh; sourceTree = "<group>"; };
-		A932E9DF249BC44D00D64150 /* create_fat_ext_libs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_ext_libs.sh; sourceTree = "<group>"; };
+		A9194DF424E8940600FB127B /* copy_ext_lib_to_staging.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = copy_ext_lib_to_staging.sh; sourceTree = "<group>"; };
+		A9194DF524E8979100FB127B /* create_ext_lib_xcframeworks.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_ext_lib_xcframeworks.sh; sourceTree = "<group>"; };
 		A9415EF624366B0E00566F16 /* packagePregenSpirvToolsHeaders */ = {isa = PBXFileReference; lastKnownFileType = text; path = packagePregenSpirvToolsHeaders; sourceTree = "<group>"; };
 		A95D90FE23A7F1E500CBCC60 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
 		A95D90FF23A7F1E500CBCC60 /* InitializeDll.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitializeDll.h; sourceTree = "<group>"; };
@@ -1760,7 +1756,6 @@
 		A95D911923A7F1E500CBCC60 /* Logger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logger.h; sourceTree = "<group>"; };
 		A95D911A23A7F1E500CBCC60 /* doc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = doc.cpp; sourceTree = "<group>"; };
 		A95D911B23A7F1E500CBCC60 /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = "<group>"; };
-		A9679AAE21D269D900856BF7 /* package_ext_libs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ext_libs.sh; sourceTree = "<group>"; };
 		A972A80F21CECBBF0013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVTools.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		A972A82321CECBE90013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVTools.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		A972ABDC21CED7BC0013AB25 /* libglslang.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libglslang.a; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -2179,6 +2174,8 @@
 		A9765DEE2485758500FDD115 /* validation_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validation_state.cpp; sourceTree = "<group>"; };
 		A9765DEF2485758500FDD115 /* validate_primitives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_primitives.cpp; sourceTree = "<group>"; };
 		A9765DF02485758500FDD115 /* decoration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration.h; sourceTree = "<group>"; };
+		A9772CFF24F9930E002617D0 /* copy_lib_to_staging.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = copy_lib_to_staging.sh; sourceTree = "<group>"; };
+		A991DB2124E6016E00AEEC36 /* create_xcframework_func.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_xcframework_func.sh; sourceTree = "<group>"; };
 		A9C2104521D14FD7006BA2D3 /* fetchDependencies */ = {isa = PBXFileReference; lastKnownFileType = text; path = fetchDependencies; sourceTree = "<group>"; };
 		A9C2104721D15843006BA2D3 /* ExternalRevisions */ = {isa = PBXFileReference; lastKnownFileType = folder; path = ExternalRevisions; sourceTree = "<group>"; };
 		A9FC5F7F249DA96D003CB086 /* package_ext_libs_finish.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ext_libs_finish.sh; sourceTree = "<group>"; };
@@ -2381,10 +2378,11 @@
 		A9679AAB21D2699800856BF7 /* Scripts */ = {
 			isa = PBXGroup;
 			children = (
-				A932E9DF249BC44D00D64150 /* create_fat_ext_libs.sh */,
-				A932E9C5249A743B00D64150 /* create_fat_lib_func.sh */,
+				A9194DF424E8940600FB127B /* copy_ext_lib_to_staging.sh */,
+				A9772CFF24F9930E002617D0 /* copy_lib_to_staging.sh */,
+				A9194DF524E8979100FB127B /* create_ext_lib_xcframeworks.sh */,
+				A991DB2124E6016E00AEEC36 /* create_xcframework_func.sh */,
 				A9FC5F7F249DA96D003CB086 /* package_ext_libs_finish.sh */,
-				A9679AAE21D269D900856BF7 /* package_ext_libs.sh */,
 				A9415EF624366B0E00566F16 /* packagePregenSpirvToolsHeaders */,
 			);
 			path = Scripts;
@@ -3725,6 +3723,7 @@
 			buildPhases = (
 				2FEA0AE92490321700EEF3AD /* Headers */,
 				2FEA0B1C2490321700EEF3AD /* Sources */,
+				A9194DF124E8855F00FB127B /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -3741,6 +3740,7 @@
 			buildPhases = (
 				2FEA0B4C2490322100EEF3AD /* Headers */,
 				2FEA0C0A2490322100EEF3AD /* Sources */,
+				A9194DEE24E8852B00FB127B /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -3757,6 +3757,7 @@
 			buildPhases = (
 				2FEA0CDA2490322B00EEF3AD /* Headers */,
 				2FEA0CE32490322B00EEF3AD /* Sources */,
+				A9194DEC24E884FC00FB127B /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -3773,6 +3774,7 @@
 			buildPhases = (
 				A976290021CC608E00B52A68 /* Headers */,
 				A976290121CC609100B52A68 /* Sources */,
+				A9194DE724E8431600FB127B /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -3789,6 +3791,7 @@
 			buildPhases = (
 				A97628FF21CC608900B52A68 /* Headers */,
 				A97628FE21CC608400B52A68 /* Sources */,
+				A9194DEB24E85ABC00FB127B /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -3805,6 +3808,7 @@
 			buildPhases = (
 				A972A7FD21CECBBF0013AB25 /* Headers */,
 				A972A80521CECBBF0013AB25 /* Sources */,
+				A9194DED24E8851900FB127B /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -3821,6 +3825,7 @@
 			buildPhases = (
 				A972A81121CECBE90013AB25 /* Headers */,
 				A972A81921CECBE90013AB25 /* Sources */,
+				A9194DEF24E8853B00FB127B /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -3837,6 +3842,7 @@
 			buildPhases = (
 				A972ABCA21CED7BC0013AB25 /* Headers */,
 				A972ABD221CED7BC0013AB25 /* Sources */,
+				A9194DF024E8854D00FB127B /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -3853,6 +3859,7 @@
 			buildPhases = (
 				A972ABDE21CED7CB0013AB25 /* Headers */,
 				A972ABE621CED7CB0013AB25 /* Sources */,
+				A9194DF224E8856E00FB127B /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -3918,7 +3925,7 @@
 /* End PBXProject section */
 
 /* Begin PBXShellScriptBuildPhase section */
-		2FEA0AE42490320500EEF3AD /* Package External Libraries */ = {
+		A9194DE724E8431600FB127B /* Copy to Staging */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -3927,16 +3934,16 @@
 			);
 			inputPaths = (
 			);
-			name = "Package External Libraries";
+			name = "Copy to Staging";
 			outputFileListPaths = (
 			);
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "export MVK_OS=\"tvOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_ext_libs.sh\"\n";
+			shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
 		};
-		A932E9C6249A7B9B00D64150 /* Create Fat Libraries */ = {
+		A9194DEB24E85ABC00FB127B /* Copy to Staging */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -3945,16 +3952,16 @@
 			);
 			inputPaths = (
 			);
-			name = "Create Fat Libraries";
+			name = "Copy to Staging";
 			outputFileListPaths = (
 			);
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "export MVK_OS=\"iOS\"\nexport MVK_OS_PROD_EXTN=\"iphoneos\"\nexport MVK_SIM_PROD_EXTN=\"iphonesimulator\"\n\n. \"${SRCROOT}/Scripts/create_fat_ext_libs.sh\"\n";
+			shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
 		};
-		A9679AAF21D26C1400856BF7 /* Package Libraries */ = {
+		A9194DEC24E884FC00FB127B /* Copy to Staging */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -3963,16 +3970,16 @@
 			);
 			inputPaths = (
 			);
-			name = "Package Libraries";
+			name = "Copy to Staging";
 			outputFileListPaths = (
 			);
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "export MVK_OS=\"iOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_ext_libs.sh\"\n";
+			shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
 		};
-		A9679AB021D26C7000856BF7 /* Package Libraries */ = {
+		A9194DED24E8851900FB127B /* Copy to Staging */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -3981,16 +3988,16 @@
 			);
 			inputPaths = (
 			);
-			name = "Package Libraries";
+			name = "Copy to Staging";
 			outputFileListPaths = (
 			);
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "export MVK_OS=\"macOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}\"\n\n. \"${SRCROOT}/Scripts/package_ext_libs.sh\"\n";
+			shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
 		};
-		A9A5F2C1249D09820016D8B1 /* Create Fat Libraries */ = {
+		A9194DEE24E8852B00FB127B /* Copy to Staging */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -3999,14 +4006,104 @@
 			);
 			inputPaths = (
 			);
-			name = "Create Fat Libraries";
+			name = "Copy to Staging";
 			outputFileListPaths = (
 			);
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "export MVK_OS=\"tvOS\"\nexport MVK_OS_PROD_EXTN=\"appletvos\"\nexport MVK_SIM_PROD_EXTN=\"appletvsimulator\"\n\n. \"${SRCROOT}/Scripts/create_fat_ext_libs.sh\"\n";
+			shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
+		};
+		A9194DEF24E8853B00FB127B /* Copy to Staging */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			name = "Copy to Staging";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
+		};
+		A9194DF024E8854D00FB127B /* Copy to Staging */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			name = "Copy to Staging";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
+		};
+		A9194DF124E8855F00FB127B /* Copy to Staging */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			name = "Copy to Staging";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n\n";
+		};
+		A9194DF224E8856E00FB127B /* Copy to Staging */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			name = "Copy to Staging";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
+		};
+		A9194DF624E8990C00FB127B /* Create XCFramework */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			name = "Create XCFramework";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = ". \"${SRCROOT}/Scripts/create_ext_lib_xcframeworks.sh\"\n";
 		};
 		A9FC5F8B249DB48D003CB086 /* Package Finish */ = {
 			isa = PBXShellScriptBuildPhase;
diff --git a/ExternalRevisions/README.md b/ExternalRevisions/README.md
index cbf5c1c..8a52555 100644
--- a/ExternalRevisions/README.md
+++ b/ExternalRevisions/README.md
@@ -43,7 +43,7 @@
 To retrieve and build these libraries from their sources, run the `fetchDependencies`
 script in the main repository directory:
 
-	./fetchDependencies [--debug]
+	./fetchDependencies --all [--debug]
 
 The `--debug` option will build the external libraries in Debug mode, which may
 be useful when debugging and tracing calls into those libraries.
diff --git a/Makefile b/Makefile
index ebfee2c..b2c8406 100644
--- a/Makefile
+++ b/Makefile
@@ -5,14 +5,18 @@
 .PHONY: all
 all:
 	@$(MAKE) macos
-	@$(MAKE) iosfat
-	@$(MAKE) tvosfat
+	@$(MAKE) ios
+	@$(MAKE) iossim
+	@$(MAKE) tvos
+	@$(MAKE) tvossim
 
 .PHONY: all-debug
 all-debug:
 	@$(MAKE) macos-debug
-	@$(MAKE) iosfat-debug
-	@$(MAKE) tvosfat-debug
+	@$(MAKE) ios-debug
+	@$(MAKE) iossim-debug
+	@$(MAKE) tvos-debug
+	@$(MAKE) tvossim-debug
 
 .PHONY: macos
 macos:
@@ -30,12 +34,12 @@
 ios-debug:
 	xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (iOS only)" -configuration "Debug"
 
-.PHONY: iosfat
-iosfat: ios
+.PHONY: iossim
+iossim:
 	xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (iOS only)" -destination "generic/platform=iOS Simulator"
 
-.PHONY: iosfat-debug
-iosfat-debug: ios-debug
+.PHONY: iossim-debug
+iossim-debug:
 	xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (iOS only)" -destination "generic/platform=iOS Simulator" -configuration "Debug"
 
 .PHONY: tvos
@@ -46,12 +50,12 @@
 tvos-debug:
 	xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (tvOS only)" -configuration "Debug"
 
-.PHONY: tvosfat
-tvosfat: tvos
+.PHONY: tvossim
+tvossim:
 	xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (tvOS only)" -destination "generic/platform=tvOS Simulator"
 
-.PHONY: tvosfat-debug
-tvosfat-debug: tvos-debug
+.PHONY: tvossim-debug
+tvossim-debug:
 	xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (tvOS only)" -destination "generic/platform=tvOS Simulator" -configuration "Debug"
 
 .PHONY: clean
@@ -63,5 +67,26 @@
 .PHONY: install
 install:
 	rm -rf /Library/Frameworks/MoltenVK.framework
-	cp -a Package/Latest/MoltenVK/macOS/framework/MoltenVK.framework /Library/Frameworks/
+	rm -rf /Library/Frameworks/MoltenVK.xcframework
+	cp -a Package/Latest/MoltenVK/MoltenVK.xcframework /Library/Frameworks/
 
+# Deprecated target names
+.PHONY: iosfat
+iosfat:
+	@$(MAKE) ios
+	@$(MAKE) iossim
+
+.PHONY: iosfat-debug
+iosfat-debug:
+	@$(MAKE) ios-debug
+	@$(MAKE) iossim-debug
+
+.PHONY: tvosfat
+tvosfat:
+	@$(MAKE) tvos
+	@$(MAKE) tvossim
+
+.PHONY: tvosfat-debug
+tvosfat-debug:
+	@$(MAKE) tvos-debug
+	@$(MAKE) tvossim-debug
diff --git a/MoltenVK/MoltenVK.xcframework b/MoltenVK/MoltenVK.xcframework
new file mode 120000
index 0000000..a3abb4a
--- /dev/null
+++ b/MoltenVK/MoltenVK.xcframework
@@ -0,0 +1 @@
+../Package/Latest/MoltenVK/MoltenVK.xcframework
\ No newline at end of file
diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
index ffdf19a..4c1567c 100644
--- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
+++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
@@ -1061,9 +1061,8 @@
 				A980A25D24C6288D007A8F6F /* Generate Version Header */,
 				2FEA0A4024902F9F00EEF3AD /* Headers */,
 				2FEA0A8224902F9F00EEF3AD /* Sources */,
+				A9CBBFF124F89F79006D41EF /* Copy to Staging */,
 				2FEA0AB524902F9F00EEF3AD /* Create Dynamic Library */,
-				A9FC5F6D249D39F3003CB086 /* Create Fat Libraries */,
-				2FEA0AB624902F9F00EEF3AD /* Create Framework */,
 			);
 			buildRules = (
 			);
@@ -1083,9 +1082,8 @@
 				A980A25B24C6283D007A8F6F /* Generate Version Header */,
 				A9B8EE071A98D796009C5A02 /* Headers */,
 				A9B8EE051A98D796009C5A02 /* Sources */,
+				A9CBBFEF24F89F5F006D41EF /* Copy to Staging */,
 				A9731FAD1EDDAE39006B7298 /* Create Dynamic Library */,
-				A9EE084F249BD4AE00E523A2 /* Create Fat Libraries */,
-				A92EF79721854B3300C8B91B /* Create Framework */,
 			);
 			buildRules = (
 			);
@@ -1105,8 +1103,8 @@
 				A980A25E24C62895007A8F6F /* Generate Version Header */,
 				A9CBED871B6299D800E45FDC /* Headers */,
 				A9CBEDCE1B6299D800E45FDC /* Sources */,
+				A9CBBFF224F89F87006D41EF /* Copy to Staging */,
 				A93F47C91D7E389E002AF700 /* Create Dynamic Library */,
-				A92EF78D21852B2400C8B91B /* Create Framework */,
 			);
 			buildRules = (
 			);
@@ -1230,60 +1228,6 @@
 			shellPath = /bin/sh;
 			shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_tvos.sh\"\n";
 		};
-		2FEA0AB624902F9F00EEF3AD /* Create Framework */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Framework";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_framework_tvos.sh\"\n";
-		};
-		A92EF78D21852B2400C8B91B /* Create Framework */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Framework";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_framework_macos.sh\"\n";
-		};
-		A92EF79721854B3300C8B91B /* Create Framework */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Framework";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_framework_ios.sh\"\n";
-		};
 		A93F47C91D7E389E002AF700 /* Create Dynamic Library */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -1366,7 +1310,7 @@
 			shellPath = /bin/sh;
 			shellScript = "\"${SRCROOT}/../Scripts/gen_moltenvk_rev_hdr.sh\"\n";
 		};
-		A9EE084F249BD4AE00E523A2 /* Create Fat Libraries */ = {
+		A9CBBFEF24F89F5F006D41EF /* Copy to Staging */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -1375,16 +1319,16 @@
 			);
 			inputPaths = (
 			);
-			name = "Create Fat Libraries";
+			name = "Copy to Staging";
 			outputFileListPaths = (
 			);
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_ios.sh\"\n";
+			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
 		};
-		A9FC5F6D249D39F3003CB086 /* Create Fat Libraries */ = {
+		A9CBBFF124F89F79006D41EF /* Copy to Staging */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -1393,14 +1337,32 @@
 			);
 			inputPaths = (
 			);
-			name = "Create Fat Libraries";
+			name = "Copy to Staging";
 			outputFileListPaths = (
 			);
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_tvos.sh\"\n";
+			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
+		};
+		A9CBBFF224F89F87006D41EF /* Copy to Staging */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			name = "Copy to Staging";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
@@ -1721,6 +1683,9 @@
 				);
 				MACH_O_TYPE = staticlib;
 				MTL_ENABLE_DEBUG_INFO = YES;
+				MVK_SKIP_DYLIB = "";
+				"MVK_SKIP_DYLIB[sdk=appletvsimulator*]" = YES;
+				"MVK_SKIP_DYLIB[sdk=iphonesimulator*]" = YES;
 				ONLY_ACTIVE_ARCH = YES;
 				PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKSPIRVToMSLConverter.a ${CONFIGURATION_BUILD_DIR}/libMoltenVKGLSLToSPIRVConverter.a";
 				PRODUCT_NAME = MoltenVK;
@@ -1782,6 +1747,9 @@
 				);
 				MACH_O_TYPE = staticlib;
 				MTL_ENABLE_DEBUG_INFO = NO;
+				MVK_SKIP_DYLIB = "";
+				"MVK_SKIP_DYLIB[sdk=appletvsimulator*]" = YES;
+				"MVK_SKIP_DYLIB[sdk=iphonesimulator*]" = YES;
 				PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKSPIRVToMSLConverter.a ${CONFIGURATION_BUILD_DIR}/libMoltenVKGLSLToSPIRVConverter.a";
 				PRODUCT_NAME = MoltenVK;
 				SKIP_INSTALL = YES;
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h b/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h
index 1e5d460..105483f 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h
@@ -186,7 +186,7 @@
         // even if the structure contains alignment gaps.
         mvkClear(this);
 
-        enabled = false,
+        enabled = false;
         stencilCompareFunction = MTLCompareFunctionAlways;
         stencilFailureOperation = MTLStencilOperationKeep;
         depthFailureOperation = MTLStencilOperationKeep;
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
index cd7ab9e..e485d39 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
@@ -1251,6 +1251,12 @@
 	_metalFeatures.mslVersion = SPIRV_CROSS_NAMESPACE::CompilerMSL::Options::make_msl_version(maj, min);
 
 	switch (_metalFeatures.mslVersionEnum) {
+#if (defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101600) ||  \
+	(defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 140000)		// also covers tvOS
+		case MTLLanguageVersion2_3:
+			setMSLVersion(2, 3);
+			break;
+#endif
 		case MTLLanguageVersion2_2:
 			setMSLVersion(2, 2);
 			break;
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
index e615c7f..7db5dfd 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
@@ -1256,6 +1256,11 @@
 	}];
 	
 	if (hasPresentTime) {
+#if MVK_OS_SIMULATOR
+		// If MTLDrawable.presentedTime/addPresentedHandler isn't supported, just treat it as if the
+		// present happened when requested
+		_swapchain->recordPresentTime(presentID, desiredPresentTime, desiredPresentTime);
+#else
 		if ([_mtlDrawable respondsToSelector: @selector(addPresentedHandler:)]) {
 			[_mtlDrawable addPresentedHandler: ^(id<MTLDrawable> drawable) {
 				// Record the presentation time
@@ -1268,7 +1273,9 @@
 			// present happened when requested
 			_swapchain->recordPresentTime(presentID, desiredPresentTime, desiredPresentTime);
 		}
+#endif
 	}
+
 }
 
 // Resets the MTLTexture and CAMetalDrawable underlying this image.
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKSync.mm b/MoltenVK/MoltenVK/GPUObjects/MVKSync.mm
index 4f8ec3d..c63a16e 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKSync.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKSync.mm
@@ -78,7 +78,7 @@
 
 
 #pragma mark -
-#pragma mark MVKSemaphoreMTLEvent
+#pragma mark MVKSemaphoreMTLFence
 
 // Could use any encoder. Assume BLIT is fastest and lightest.
 // Nil mtlCmdBuff will do nothing.
diff --git a/MoltenVK/MoltenVK/Utility/MVKFoundation.h b/MoltenVK/MoltenVK/Utility/MVKFoundation.h
index 3ce5714..d8d1ed2 100644
--- a/MoltenVK/MoltenVK/Utility/MVKFoundation.h
+++ b/MoltenVK/MoltenVK/Utility/MVKFoundation.h
@@ -26,6 +26,7 @@
 #include <cassert>
 #include <limits>
 #include <string>
+#include <cassert>
 #include <simd/simd.h>
 #include <type_traits>
 
diff --git a/MoltenVK/dylib b/MoltenVK/dylib
new file mode 120000
index 0000000..d7bc57e
--- /dev/null
+++ b/MoltenVK/dylib
@@ -0,0 +1 @@
+../Package/Latest/MoltenVK/dylib
\ No newline at end of file
diff --git a/MoltenVK/iOS b/MoltenVK/iOS
deleted file mode 120000
index fcdc7b4..0000000
--- a/MoltenVK/iOS
+++ /dev/null
@@ -1 +0,0 @@
-../Package/Latest/MoltenVK/iOS
\ No newline at end of file
diff --git a/MoltenVK/macOS b/MoltenVK/macOS
deleted file mode 120000
index c83d7e9..0000000
--- a/MoltenVK/macOS
+++ /dev/null
@@ -1 +0,0 @@
-../Package/Latest/MoltenVK/macOS
\ No newline at end of file
diff --git a/MoltenVK/tvOS b/MoltenVK/tvOS
deleted file mode 120000
index 5b0bd8e..0000000
--- a/MoltenVK/tvOS
+++ /dev/null
@@ -1 +0,0 @@
-../Package/Latest/MoltenVK/tvOS
\ No newline at end of file
diff --git a/MoltenVKPackaging.xcodeproj/project.pbxproj b/MoltenVKPackaging.xcodeproj/project.pbxproj
index 584c18f..541efd7 100644
--- a/MoltenVKPackaging.xcodeproj/project.pbxproj
+++ b/MoltenVKPackaging.xcodeproj/project.pbxproj
@@ -15,7 +15,6 @@
 			);
 			dependencies = (
 				2FEA0AC32490303F00EEF3AD /* PBXTargetDependency */,
-				2FEA0AD92490308E00EEF3AD /* PBXTargetDependency */,
 			);
 			name = "MoltenVK-tvOS";
 			productName = Package;
@@ -28,7 +27,6 @@
 			);
 			dependencies = (
 				A975D5792140585200D4834F /* PBXTargetDependency */,
-				A975D5812140585200D4834F /* PBXTargetDependency */,
 			);
 			name = "MoltenVK-iOS";
 			productName = Package;
@@ -62,11 +60,13 @@
 			isa = PBXAggregateTarget;
 			buildConfigurationList = A9FEADDC1F3517480010240E /* Build configuration list for PBXAggregateTarget "MoltenVK" */;
 			buildPhases = (
+				A9B1008824F84BE400EADC6E /* Package MoltenVK */,
 			);
 			dependencies = (
-				A9AFC2622184EEF60084B396 /* PBXTargetDependency */,
-				A9AFC2602184EEF60084B396 /* PBXTargetDependency */,
-				A9FC5F5F249D277E003CB086 /* PBXTargetDependency */,
+				A9B1008124F84BA700EADC6E /* PBXTargetDependency */,
+				A9B1008324F84BA700EADC6E /* PBXTargetDependency */,
+				A9B1008524F84BA700EADC6E /* PBXTargetDependency */,
+				A9B1008724F84BA700EADC6E /* PBXTargetDependency */,
 			);
 			name = MoltenVK;
 			productName = Package;
@@ -88,13 +88,6 @@
 			remoteGlobalIDString = 2FEA0A3B24902F9F00EEF3AD;
 			remoteInfo = "MoltenVK-tvOS";
 		};
-		2FEA0AD82490308E00EEF3AD /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = 2FEA0AC42490305800EEF3AD;
-			remoteInfo = "MoltenVKGLSLToSPIRVConverter-tvOS";
-		};
 		2FEA0ADB2490308E00EEF3AD /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
@@ -123,13 +116,6 @@
 			remoteGlobalIDString = A9B8EE091A98D796009C5A02;
 			remoteInfo = "MoltenVK-iOS";
 		};
-		A975D5822140585200D4834F /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = A937472B1A9A8B2900F29B34;
-			remoteInfo = "MoltenVKGLSLToSPIRVConverter-iOS";
-		};
 		A975D58F2140586700D4834F /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
@@ -186,20 +172,34 @@
 			remoteGlobalIDString = A9092A8C1A81717B00051823;
 			remoteInfo = MoltenVKShaderConverter;
 		};
-		A9AFC25F2184EEF60084B396 /* PBXContainerItemProxy */ = {
+		A9B1008024F84BA700EADC6E /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */;
+			containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
 			proxyType = 1;
-			remoteGlobalIDString = A975D5782140585200D4834F;
+			remoteGlobalIDString = A9B8EE091A98D796009C5A02;
 			remoteInfo = "MoltenVK-iOS";
 		};
-		A9AFC2612184EEF60084B396 /* PBXContainerItemProxy */ = {
+		A9B1008224F84BA700EADC6E /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */;
+			containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
 			proxyType = 1;
-			remoteGlobalIDString = A975D58B2140586700D4834F;
+			remoteGlobalIDString = A9CBED861B6299D800E45FDC;
 			remoteInfo = "MoltenVK-macOS";
 		};
+		A9B1008424F84BA700EADC6E /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = 2FEA0A3B24902F9F00EEF3AD;
+			remoteInfo = "MoltenVK-tvOS";
+		};
+		A9B1008624F84BA700EADC6E /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = A9092A8C1A81717B00051823;
+			remoteInfo = MoltenVKShaderConverter;
+		};
 		A9FC5F5C249D2547003CB086 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
@@ -207,17 +207,9 @@
 			remoteGlobalIDString = 2FEA0D142490381A00EEF3AD;
 			remoteInfo = "MoltenVKSPIRVToMSLConverter-tvOS";
 		};
-		A9FC5F5E249D277E003CB086 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 2FEA0A2F24902F5E00EEF3AD;
-			remoteInfo = "MoltenVK-tvOS";
-		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
-		A9149F7A221A528900DD7C6C /* package_shader_converter_lib.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_lib.sh; sourceTree = "<group>"; };
 		A92DB3E41CE0F37D00FBC835 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
 		A92DB3E51CE0F37D00FBC835 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
 		A92DB3E61CE0F37D00FBC835 /* Whats_New.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = Whats_New.md; path = Docs/Whats_New.md; sourceTree = "<group>"; };
@@ -227,25 +219,21 @@
 		A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_tool.sh; sourceTree = "<group>"; };
 		A92EF7C921856EA200C8B91B /* package_docs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_docs.sh; sourceTree = "<group>"; };
 		A92EF7CA21856EA200C8B91B /* package_update_latest.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_update_latest.sh; sourceTree = "<group>"; };
-		A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter.sh; sourceTree = "<group>"; };
+		A92EF7CB21856EA300C8B91B /* package_shader_converter_xcframework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_xcframework.sh; sourceTree = "<group>"; };
 		A92EF7DE2186451700C8B91B /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; name = Makefile; path = ../Makefile; sourceTree = "<group>"; };
-		A941E2B1221AEBD000890C56 /* create_framework_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_framework_ios.sh; sourceTree = "<group>"; };
-		A941E2B2221AEBD000890C56 /* create_framework_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_framework_macos.sh; sourceTree = "<group>"; };
+		A93ED4DE24F59CDB00FEB018 /* copy_lib_to_staging.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = copy_lib_to_staging.sh; sourceTree = "<group>"; };
+		A93ED4E324F59CDB00FEB018 /* copy_to_staging.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = copy_to_staging.sh; sourceTree = "<group>"; };
 		A975D55C213F25D700D4834F /* create_dylib.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib.sh; sourceTree = "<group>"; };
 		A980A25F24C628F3007A8F6F /* gen_moltenvk_rev_hdr.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = gen_moltenvk_rev_hdr.sh; sourceTree = "<group>"; };
 		A98149E51FB78829005F00B4 /* MoltenVK_Runtime_UserGuide.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = MoltenVK_Runtime_UserGuide.md; path = Docs/MoltenVK_Runtime_UserGuide.md; sourceTree = "<group>"; };
-		A99A760321852584000A8E2A /* create_framework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_framework.sh; sourceTree = "<group>"; };
+		A9B1007A24F837AF00EADC6E /* create_xcframework_func.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_xcframework_func.sh; sourceTree = "<group>"; };
 		A9C70F41221B04C800FBA31A /* create_dylib_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_macos.sh; sourceTree = "<group>"; };
 		A9C70F45221B04C800FBA31A /* create_dylib_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_ios.sh; sourceTree = "<group>"; };
+		A9CBBFF924F8A1EB006D41EF /* package_moltenvk_xcframework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_moltenvk_xcframework.sh; sourceTree = "<group>"; };
 		A9DA8340218A198C002AA662 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .travis.yml; sourceTree = "<group>"; };
 		A9DA8341218A198C002AA662 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = "<group>"; };
-		A9EE084A249BD49200E523A2 /* create_fat_lib_func.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_lib_func.sh; sourceTree = "<group>"; };
-		A9EE084E249BD49200E523A2 /* create_fat_libs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_libs.sh; sourceTree = "<group>"; };
-		A9EE0851249BD71C00E523A2 /* create_fat_libs_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_libs_ios.sh; sourceTree = "<group>"; };
 		A9FC5F60249D2ED3003CB086 /* package_all.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_all.sh; sourceTree = "<group>"; };
 		A9FC5F64249D3778003CB086 /* create_dylib_tvos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_tvos.sh; sourceTree = "<group>"; };
-		A9FC5F69249D3843003CB086 /* create_framework_tvos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_framework_tvos.sh; sourceTree = "<group>"; };
-		A9FC5F6A249D38DF003CB086 /* create_fat_libs_tvos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_libs_tvos.sh; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXGroup section */
@@ -284,25 +272,20 @@
 		A975D55B213F25AD00D4834F /* Scripts */ = {
 			isa = PBXGroup;
 			children = (
+				A93ED4E324F59CDB00FEB018 /* copy_to_staging.sh */,
+				A93ED4DE24F59CDB00FEB018 /* copy_lib_to_staging.sh */,
 				A9C70F45221B04C800FBA31A /* create_dylib_ios.sh */,
 				A9C70F41221B04C800FBA31A /* create_dylib_macos.sh */,
 				A9FC5F64249D3778003CB086 /* create_dylib_tvos.sh */,
 				A975D55C213F25D700D4834F /* create_dylib.sh */,
-				A9EE084A249BD49200E523A2 /* create_fat_lib_func.sh */,
-				A9EE0851249BD71C00E523A2 /* create_fat_libs_ios.sh */,
-				A9FC5F6A249D38DF003CB086 /* create_fat_libs_tvos.sh */,
-				A9EE084E249BD49200E523A2 /* create_fat_libs.sh */,
-				A941E2B1221AEBD000890C56 /* create_framework_ios.sh */,
-				A941E2B2221AEBD000890C56 /* create_framework_macos.sh */,
-				A9FC5F69249D3843003CB086 /* create_framework_tvos.sh */,
-				A99A760321852584000A8E2A /* create_framework.sh */,
+				A9B1007A24F837AF00EADC6E /* create_xcframework_func.sh */,
 				A980A25F24C628F3007A8F6F /* gen_moltenvk_rev_hdr.sh */,
 				A9FC5F60249D2ED3003CB086 /* package_all.sh */,
 				A92EF7C921856EA200C8B91B /* package_docs.sh */,
+				A9CBBFF924F8A1EB006D41EF /* package_moltenvk_xcframework.sh */,
 				A92EF7C621856EA200C8B91B /* package_moltenvk.sh */,
-				A9149F7A221A528900DD7C6C /* package_shader_converter_lib.sh */,
 				A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */,
-				A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */,
+				A92EF7CB21856EA300C8B91B /* package_shader_converter_xcframework.sh */,
 				A92EF7CA21856EA200C8B91B /* package_update_latest.sh */,
 				A92EF7DE2186451700C8B91B /* Makefile */,
 			);
@@ -462,7 +445,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "export MVK_OS=\"tvOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_all.sh\"\n";
+			shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n";
 		};
 		A975D5872140585200D4834F /* Package MoltenVK */ = {
 			isa = PBXShellScriptBuildPhase;
@@ -476,7 +459,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "export MVK_OS=\"iOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_all.sh\"\n";
+			shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n";
 		};
 		A975D59A2140586700D4834F /* Package MoltenVK */ = {
 			isa = PBXShellScriptBuildPhase;
@@ -490,7 +473,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "export MVK_OS=\"macOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}\"\n\n. \"${SRCROOT}/Scripts/package_all.sh\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n";
+			shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n";
 		};
 		A9AD70122440ED3B00B9E254 /* Package MoltenVK */ = {
 			isa = PBXShellScriptBuildPhase;
@@ -504,7 +487,25 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "export MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n. \"${SRCROOT}/Scripts/package_update_latest.sh\"\n";
+			shellScript = ". \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n. \"${SRCROOT}/Scripts/package_update_latest.sh\"\n";
+		};
+		A9B1008824F84BE400EADC6E /* Package MoltenVK */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			name = "Package MoltenVK";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
@@ -514,21 +515,11 @@
 			name = "MoltenVK-tvOS";
 			targetProxy = 2FEA0AC22490303F00EEF3AD /* PBXContainerItemProxy */;
 		};
-		2FEA0AD92490308E00EEF3AD /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = "MoltenVKGLSLToSPIRVConverter-tvOS";
-			targetProxy = 2FEA0AD82490308E00EEF3AD /* PBXContainerItemProxy */;
-		};
 		A975D5792140585200D4834F /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			name = "MoltenVK-iOS";
 			targetProxy = A975D57A2140585200D4834F /* PBXContainerItemProxy */;
 		};
-		A975D5812140585200D4834F /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = "MoltenVKGLSLToSPIRVConverter-iOS";
-			targetProxy = A975D5822140585200D4834F /* PBXContainerItemProxy */;
-		};
 		A975D58E2140586700D4834F /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			name = "MoltenVK-macOS";
@@ -544,20 +535,25 @@
 			name = MoltenVKShaderConverter;
 			targetProxy = A9AD70112440ED3B00B9E254 /* PBXContainerItemProxy */;
 		};
-		A9AFC2602184EEF60084B396 /* PBXTargetDependency */ = {
+		A9B1008124F84BA700EADC6E /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			target = A975D5782140585200D4834F /* MoltenVK-iOS */;
-			targetProxy = A9AFC25F2184EEF60084B396 /* PBXContainerItemProxy */;
+			name = "MoltenVK-iOS";
+			targetProxy = A9B1008024F84BA700EADC6E /* PBXContainerItemProxy */;
 		};
-		A9AFC2622184EEF60084B396 /* PBXTargetDependency */ = {
+		A9B1008324F84BA700EADC6E /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			target = A975D58B2140586700D4834F /* MoltenVK-macOS */;
-			targetProxy = A9AFC2612184EEF60084B396 /* PBXContainerItemProxy */;
+			name = "MoltenVK-macOS";
+			targetProxy = A9B1008224F84BA700EADC6E /* PBXContainerItemProxy */;
 		};
-		A9FC5F5F249D277E003CB086 /* PBXTargetDependency */ = {
+		A9B1008524F84BA700EADC6E /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			target = 2FEA0A2F24902F5E00EEF3AD /* MoltenVK-tvOS */;
-			targetProxy = A9FC5F5E249D277E003CB086 /* PBXContainerItemProxy */;
+			name = "MoltenVK-tvOS";
+			targetProxy = A9B1008424F84BA700EADC6E /* PBXContainerItemProxy */;
+		};
+		A9B1008724F84BA700EADC6E /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = MoltenVKShaderConverter;
+			targetProxy = A9B1008624F84BA700EADC6E /* PBXContainerItemProxy */;
 		};
 /* End PBXTargetDependency section */
 
diff --git a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter.xcframework b/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter.xcframework
new file mode 120000
index 0000000..cf42e4b
--- /dev/null
+++ b/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter.xcframework
@@ -0,0 +1 @@
+../Package/Latest/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter.xcframework
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS b/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS
deleted file mode 120000
index 4a4b357..0000000
--- a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS
+++ /dev/null
@@ -1 +0,0 @@
-../../Package/Latest/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS b/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS
deleted file mode 120000
index ffa407b..0000000
--- a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS
+++ /dev/null
@@ -1 +0,0 @@
-../../Package/Latest/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/tvOS b/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/tvOS
deleted file mode 120000
index 15a8980..0000000
--- a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/tvOS
+++ /dev/null
@@ -1 +0,0 @@
-../../Package/Latest/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/tvOS
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter.xcframework b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter.xcframework
new file mode 120000
index 0000000..1ba785f
--- /dev/null
+++ b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter.xcframework
@@ -0,0 +1 @@
+../Package/Latest/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter.xcframework
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/iOS b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/iOS
deleted file mode 120000
index 4a4b357..0000000
--- a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/iOS
+++ /dev/null
@@ -1 +0,0 @@
-../../Package/Latest/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/macOS b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/macOS
deleted file mode 120000
index ffa407b..0000000
--- a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/macOS
+++ /dev/null
@@ -1 +0,0 @@
-../../Package/Latest/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/tvOS b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/tvOS
deleted file mode 120000
index 15a8980..0000000
--- a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/tvOS
+++ /dev/null
@@ -1 +0,0 @@
-../../Package/Latest/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/tvOS
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
index 49986c6..8157a46 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
 	archiveVersion = 1;
 	classes = {
 	};
-	objectVersion = 48;
+	objectVersion = 52;
 	objects = {
 
 /* Begin PBXBuildFile section */
@@ -15,8 +15,6 @@
 		2FEA0ACC2490305800EEF3AD /* GLSLConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A90941A11C581F840094110D /* GLSLConversion.mm */; };
 		2FEA0ACD2490305800EEF3AD /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
 		2FEA0ACE2490305800EEF3AD /* GLSLToSPIRVConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */; };
-		2FEA0CFC249037E300EEF3AD /* libglslang.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FEA0CFB249037DA00EEF3AD /* libglslang.a */; };
-		2FEA0CFE2490380B00EEF3AD /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FEA0CF9249037DA00EEF3AD /* libSPIRVTools.a */; };
 		2FEA0D012490381A00EEF3AD /* SPIRVReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F5E220CB180007203D7 /* SPIRVReflection.h */; };
 		2FEA0D022490381A00EEF3AD /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
 		2FEA0D032490381A00EEF3AD /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
@@ -27,8 +25,6 @@
 		2FEA0D092490381A00EEF3AD /* SPIRVToMSLConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */; };
 		2FEA0D0A2490381A00EEF3AD /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
 		2FEA0D0B2490381A00EEF3AD /* SPIRVConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A928C9181D0488DC00071B88 /* SPIRVConversion.mm */; };
-		2FEA0D15249038E000EEF3AD /* libSPIRVCross.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FEA0CFA249037DA00EEF3AD /* libSPIRVCross.a */; };
-		2FEA0D16249038E600EEF3AD /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FEA0CF9249037DA00EEF3AD /* libSPIRVTools.a */; };
 		450A4F61220CB180007203D7 /* SPIRVReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F5E220CB180007203D7 /* SPIRVReflection.h */; };
 		450A4F62220CB180007203D7 /* SPIRVReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F5E220CB180007203D7 /* SPIRVReflection.h */; };
 		A909408A1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */; };
@@ -52,22 +48,29 @@
 		A95096BB2003D00300F10950 /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
 		A95096BC2003D00300F10950 /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
 		A95096BF2003D32400F10950 /* OSSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A95096BD2003D32400F10950 /* OSSupport.mm */; };
-		A972AD2B21CEE6A90013AB25 /* libglslang.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD2A21CEE6A90013AB25 /* libglslang.a */; };
-		A972AD3121CEE7040013AB25 /* libSPIRVCross.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD2F21CEE7040013AB25 /* libSPIRVCross.a */; };
-		A972AD3221CEE7040013AB25 /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3021CEE7040013AB25 /* libSPIRVTools.a */; };
-		A972AD3621CEE7330013AB25 /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3421CEE7330013AB25 /* libSPIRVTools.a */; };
-		A972AD3721CEE7330013AB25 /* libSPIRVCross.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3521CEE7330013AB25 /* libSPIRVCross.a */; };
-		A972AD3921CEE7480013AB25 /* libglslang.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3821CEE7480013AB25 /* libglslang.a */; };
 		A97CC7401C7527F3004A5C7E /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97CC73D1C7527F3004A5C7E /* main.cpp */; };
 		A97CC7411C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */; };
 		A98149661FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
 		A98149671FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
 		A98149681FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
 		A98149691FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
+		A98386F924EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
+		A98386FA24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
+		A98386FB24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
+		A98386FC24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
+		A98386FE24EEE93700199A05 /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
+		A98386FF24EEE93700199A05 /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
+		A983870024EEE93700199A05 /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
+		A983870124EEE93700199A05 /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
+		A983870324EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+		A983870424EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+		A983870524EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+		A983870624EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+		A983870724EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+		A983870824EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+		A983870924EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
 		A9A14E332244388700C080F3 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9A14E322244388700C080F3 /* Metal.framework */; };
 		A9B51BDD225E98BB00AC74D2 /* MVKOSExtensions.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B51BDB225E98BB00AC74D2 /* MVKOSExtensions.mm */; };
-		A9C70F5A221B2F6500FBA31A /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3021CEE7040013AB25 /* libSPIRVTools.a */; };
-		A9C70F5B221B2F8100FBA31A /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3421CEE7330013AB25 /* libSPIRVTools.a */; };
 		A9C70F5F221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
 		A9C70F60221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
 		A9C70F61221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
@@ -102,9 +105,6 @@
 
 /* Begin PBXFileReference section */
 		2FEA0AD72490305800EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKGLSLToSPIRVConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		2FEA0CF9249037DA00EEF3AD /* libSPIRVTools.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVTools.a; path = ../Release/tvOS/libSPIRVTools.a; sourceTree = "<group>"; };
-		2FEA0CFA249037DA00EEF3AD /* libSPIRVCross.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVCross.a; path = ../Release/tvOS/libSPIRVCross.a; sourceTree = "<group>"; };
-		2FEA0CFB249037DA00EEF3AD /* libglslang.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libglslang.a; path = ../Release/tvOS/libglslang.a; sourceTree = "<group>"; };
 		2FEA0D142490381A00EEF3AD /* libMoltenVKSPIRVToMSLConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKSPIRVToMSLConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		450A4F5E220CB180007203D7 /* SPIRVReflection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPIRVReflection.h; sourceTree = "<group>"; };
 		A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SPIRVToMSLConverter.cpp; sourceTree = "<group>"; };
@@ -124,16 +124,13 @@
 		A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = MoltenVKShaderConverter; sourceTree = BUILT_PRODUCTS_DIR; };
 		A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKGLSLToSPIRVConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		A964BD611C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKGLSLToSPIRVConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		A972AD2A21CEE6A90013AB25 /* libglslang.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libglslang.a; path = iOS/libglslang.a; sourceTree = "<group>"; };
-		A972AD2F21CEE7040013AB25 /* libSPIRVCross.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVCross.a; path = iOS/libSPIRVCross.a; sourceTree = "<group>"; };
-		A972AD3021CEE7040013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVTools.a; path = iOS/libSPIRVTools.a; sourceTree = "<group>"; };
-		A972AD3421CEE7330013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVTools.a; path = macOS/libSPIRVTools.a; sourceTree = "<group>"; };
-		A972AD3521CEE7330013AB25 /* libSPIRVCross.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVCross.a; path = macOS/libSPIRVCross.a; sourceTree = "<group>"; };
-		A972AD3821CEE7480013AB25 /* libglslang.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libglslang.a; path = macOS/libglslang.a; sourceTree = "<group>"; };
 		A97CC73D1C7527F3004A5C7E /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
 		A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MoltenVKShaderConverterTool.cpp; sourceTree = "<group>"; };
 		A97CC73F1C7527F3004A5C7E /* MoltenVKShaderConverterTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MoltenVKShaderConverterTool.h; sourceTree = "<group>"; };
 		A98149651FB6A98A005F00B4 /* MVKStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKStrings.h; sourceTree = "<group>"; };
+		A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = SPIRVCross.xcframework; sourceTree = "<group>"; };
+		A98386FD24EEE93700199A05 /* glslang.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = glslang.xcframework; sourceTree = "<group>"; };
+		A983870224EEE94800199A05 /* SPIRVTools.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = SPIRVTools.xcframework; sourceTree = "<group>"; };
 		A9A14E322244388700C080F3 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
 		A9B51BDB225E98BB00AC74D2 /* MVKOSExtensions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MVKOSExtensions.mm; sourceTree = "<group>"; };
 		A9B51BDC225E98BB00AC74D2 /* MVKOSExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKOSExtensions.h; sourceTree = "<group>"; };
@@ -147,8 +144,8 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				2FEA0CFE2490380B00EEF3AD /* libSPIRVTools.a in Frameworks */,
-				2FEA0CFC249037E300EEF3AD /* libglslang.a in Frameworks */,
+				A983870524EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+				A983870024EEE93700199A05 /* glslang.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -156,8 +153,8 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				2FEA0D16249038E600EEF3AD /* libSPIRVTools.a in Frameworks */,
-				2FEA0D15249038E000EEF3AD /* libSPIRVCross.a in Frameworks */,
+				A983870824EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+				A98386FB24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -165,9 +162,12 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				A98386FE24EEE93700199A05 /* glslang.xcframework in Frameworks */,
 				A9A14E332244388700C080F3 /* Metal.framework in Frameworks */,
 				A925B71A1C78DEB2006E7ECD /* libMoltenVKGLSLToSPIRVConverter.a in Frameworks */,
 				A925B71B1C78DEB2006E7ECD /* libMoltenVKSPIRVToMSLConverter.a in Frameworks */,
+				A983870324EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+				A98386F924EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -175,8 +175,8 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A972AD2B21CEE6A90013AB25 /* libglslang.a in Frameworks */,
-				A9C70F5A221B2F6500FBA31A /* libSPIRVTools.a in Frameworks */,
+				A983870424EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+				A98386FF24EEE93700199A05 /* glslang.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -184,8 +184,8 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A972AD3921CEE7480013AB25 /* libglslang.a in Frameworks */,
-				A9C70F5B221B2F8100FBA31A /* libSPIRVTools.a in Frameworks */,
+				A983870624EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+				A983870124EEE93700199A05 /* glslang.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -193,8 +193,8 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A972AD3221CEE7040013AB25 /* libSPIRVTools.a in Frameworks */,
-				A972AD3121CEE7040013AB25 /* libSPIRVCross.a in Frameworks */,
+				A983870724EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+				A98386FA24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -202,8 +202,8 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A972AD3621CEE7330013AB25 /* libSPIRVTools.a in Frameworks */,
-				A972AD3721CEE7330013AB25 /* libSPIRVCross.a in Frameworks */,
+				A983870924EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+				A98386FC24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -240,9 +240,11 @@
 			children = (
 				A93903C71C57E9ED00FE90DC /* libMoltenVKSPIRVToMSLConverter.a */,
 				A93903BF1C57E9D700FE90DC /* libMoltenVKSPIRVToMSLConverter.a */,
+				2FEA0D142490381A00EEF3AD /* libMoltenVKSPIRVToMSLConverter.a */,
 				A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */,
 				A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */,
 				A964BD611C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */,
+				2FEA0AD72490305800EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -250,16 +252,10 @@
 		A972AD2921CEE6A80013AB25 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
+				A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */,
+				A98386FD24EEE93700199A05 /* glslang.xcframework */,
+				A983870224EEE94800199A05 /* SPIRVTools.xcframework */,
 				A9A14E322244388700C080F3 /* Metal.framework */,
-				2FEA0CF9249037DA00EEF3AD /* libSPIRVTools.a */,
-				2FEA0CFA249037DA00EEF3AD /* libSPIRVCross.a */,
-				2FEA0CFB249037DA00EEF3AD /* libglslang.a */,
-				A972AD2A21CEE6A90013AB25 /* libglslang.a */,
-				A972AD3821CEE7480013AB25 /* libglslang.a */,
-				A972AD2F21CEE7040013AB25 /* libSPIRVCross.a */,
-				A972AD3521CEE7330013AB25 /* libSPIRVCross.a */,
-				A972AD3021CEE7040013AB25 /* libSPIRVTools.a */,
-				A972AD3421CEE7330013AB25 /* libSPIRVTools.a */,
 			);
 			name = Frameworks;
 			path = ../External/build/Latest;
@@ -299,8 +295,6 @@
 				A97CC73C1C7527F3004A5C7E /* MoltenVKShaderConverterTool */,
 				A9F042A81FB4D060009FCCB8 /* Common */,
 				A964B28D1C57EBC400D930D8 /* Products */,
-				2FEA0AD72490305800EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */,
-				2FEA0D142490381A00EEF3AD /* libMoltenVKSPIRVToMSLConverter.a */,
 				A972AD2921CEE6A80013AB25 /* Frameworks */,
 			);
 			sourceTree = "<group>";
@@ -393,9 +387,7 @@
 				2FEA0AC52490305800EEF3AD /* Headers */,
 				2FEA0ACB2490305800EEF3AD /* Sources */,
 				2FEA0ACF2490305800EEF3AD /* Frameworks */,
-				2FEA0AD22490305800EEF3AD /* Create Dynamic Library */,
-				A9FC5F6B249D3959003CB086 /* Create Fat Libraries */,
-				2FEA0AD32490305800EEF3AD /* Create Framework */,
+				A93ED4E524F59DEA00FEB018 /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -413,9 +405,7 @@
 				2FEA0D002490381A00EEF3AD /* Headers */,
 				2FEA0D072490381A00EEF3AD /* Sources */,
 				2FEA0D0C2490381A00EEF3AD /* Frameworks */,
-				2FEA0D0F2490381A00EEF3AD /* Create Dynamic Library */,
-				A9FC5F6C249D3987003CB086 /* Create Fat Libraries */,
-				2FEA0D102490381A00EEF3AD /* Create Framework */,
+				A93ED4E824F59E1100FEB018 /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -451,9 +441,7 @@
 				A93747291A9A8B2900F29B34 /* Headers */,
 				A93747271A9A8B2900F29B34 /* Sources */,
 				A972AD2821CEE6310013AB25 /* Frameworks */,
-				A9C70F49221B075700FBA31A /* Create Dynamic Library */,
-				A9303625249BDF6B00DE139C /* Create Fat Libraries */,
-				A941E2A7221AC9C300890C56 /* Create Framework */,
+				A93ED4E424F59DC600FEB018 /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -471,8 +459,7 @@
 				A937476E1A9A98D000F29B34 /* Headers */,
 				A937476C1A9A98D000F29B34 /* Sources */,
 				A972AD2C21CEE6C30013AB25 /* Frameworks */,
-				A9C70F4A221B076D00FBA31A /* Create Dynamic Library */,
-				A941E2A9221ACA2C00890C56 /* Create Framework */,
+				A93ED4E624F59DFB00FEB018 /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -490,9 +477,7 @@
 				A93903B91C57E9D700FE90DC /* Headers */,
 				A93903BA1C57E9D700FE90DC /* Sources */,
 				A972AD2E21CEE6F50013AB25 /* Frameworks */,
-				A9C70F4B221B077C00FBA31A /* Create Dynamic Library */,
-				A9303626249BDFA000DE139C /* Create Fat Libraries */,
-				A941E2A8221AC9E800890C56 /* Create Framework */,
+				A93ED4E724F59E0900FEB018 /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -510,8 +495,7 @@
 				A93903C11C57E9ED00FE90DC /* Headers */,
 				A93903C21C57E9ED00FE90DC /* Sources */,
 				A972AD3321CEE7230013AB25 /* Frameworks */,
-				A9C70F4C221B078C00FBA31A /* Create Dynamic Library */,
-				A941E2AA221ACA4C00890C56 /* Create Framework */,
+				A93ED4E924F59E1800FEB018 /* Copy to Staging */,
 			);
 			buildRules = (
 			);
@@ -576,7 +560,7 @@
 /* End PBXProject section */
 
 /* Begin PBXShellScriptBuildPhase section */
-		2FEA0AD22490305800EEF3AD /* Create Dynamic Library */ = {
+		A93ED4E424F59DC600FEB018 /* Copy to Staging */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -585,16 +569,16 @@
 			);
 			inputPaths = (
 			);
-			name = "Create Dynamic Library";
+			name = "Copy to Staging";
 			outputFileListPaths = (
 			);
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_tvos.sh\"\n";
+			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
 		};
-		2FEA0AD32490305800EEF3AD /* Create Framework */ = {
+		A93ED4E524F59DEA00FEB018 /* Copy to Staging */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -603,16 +587,16 @@
 			);
 			inputPaths = (
 			);
-			name = "Create Framework";
+			name = "Copy to Staging";
 			outputFileListPaths = (
 			);
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_framework_tvos.sh\"\n";
+			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
 		};
-		2FEA0D0F2490381A00EEF3AD /* Create Dynamic Library */ = {
+		A93ED4E624F59DFB00FEB018 /* Copy to Staging */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -621,16 +605,16 @@
 			);
 			inputPaths = (
 			);
-			name = "Create Dynamic Library";
+			name = "Copy to Staging";
 			outputFileListPaths = (
 			);
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_tvos.sh\"\n";
+			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
 		};
-		2FEA0D102490381A00EEF3AD /* Create Framework */ = {
+		A93ED4E724F59E0900FEB018 /* Copy to Staging */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -639,16 +623,16 @@
 			);
 			inputPaths = (
 			);
-			name = "Create Framework";
+			name = "Copy to Staging";
 			outputFileListPaths = (
 			);
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_framework_tvos.sh\"\n";
+			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
 		};
-		A9303625249BDF6B00DE139C /* Create Fat Libraries */ = {
+		A93ED4E824F59E1100FEB018 /* Copy to Staging */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -657,16 +641,16 @@
 			);
 			inputPaths = (
 			);
-			name = "Create Fat Libraries";
+			name = "Copy to Staging";
 			outputFileListPaths = (
 			);
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_ios.sh\"\n";
+			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
 		};
-		A9303626249BDFA000DE139C /* Create Fat Libraries */ = {
+		A93ED4E924F59E1800FEB018 /* Copy to Staging */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -675,194 +659,14 @@
 			);
 			inputPaths = (
 			);
-			name = "Create Fat Libraries";
+			name = "Copy to Staging";
 			outputFileListPaths = (
 			);
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_ios.sh\"\n";
-		};
-		A941E2A7221AC9C300890C56 /* Create Framework */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Framework";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_framework_ios.sh\"\n";
-		};
-		A941E2A8221AC9E800890C56 /* Create Framework */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Framework";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_framework_ios.sh\"\n";
-		};
-		A941E2A9221ACA2C00890C56 /* Create Framework */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Framework";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_framework_macos.sh\"\n";
-		};
-		A941E2AA221ACA4C00890C56 /* Create Framework */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Framework";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_framework_macos.sh\"\n";
-		};
-		A9C70F49221B075700FBA31A /* Create Dynamic Library */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Dynamic Library";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_ios.sh\"\n";
-		};
-		A9C70F4A221B076D00FBA31A /* Create Dynamic Library */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Dynamic Library";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_macos.sh\"\n";
-		};
-		A9C70F4B221B077C00FBA31A /* Create Dynamic Library */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Dynamic Library";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_ios.sh\"\n";
-		};
-		A9C70F4C221B078C00FBA31A /* Create Dynamic Library */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Dynamic Library";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_macos.sh\"\n";
-		};
-		A9FC5F6B249D3959003CB086 /* Create Fat Libraries */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Fat Libraries";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_tvos.sh\"\n";
-		};
-		A9FC5F6C249D3987003CB086 /* Create Fat Libraries */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = "Create Fat Libraries";
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_tvos.sh\"\n";
+			shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter.xcscheme
index cb3a6c8..dc03203 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter.xcscheme
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter.xcscheme
@@ -27,15 +27,6 @@
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "A9092A8C1A81717B00051823"
-            BuildableName = "MoltenVKShaderConverter"
-            BlueprintName = "MoltenVKShaderConverter"
-            ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
       <Testables>
       </Testables>
    </TestAction>
diff --git a/README.md b/README.md
index 0591f77..a546e3c 100644
--- a/README.md
+++ b/README.md
@@ -80,11 +80,10 @@
 
 - **MoltenVKShaderConverter** converts *SPIR-V* shader code to *Metal Shading Language (MSL)*
   shader code, and converts *GLSL* shader source code to *SPIR-V* shader code and/or
-  *Metal Shading Language (MSL)* shader code. The *SPIR-V* portion of the converter is also 
-  embedded in the **MoltenVK** runtime to automatically convert *SPIR-V* shaders to their *MSL* 
-  equivalents. In addition, both the *SPIR-V* and *GLSL* converters are packaged into a 
-  stand-alone command-line `MoltenVKShaderConverter` *macOS* tool for converting shaders 
-  at development time from the command line.
+  *Metal Shading Language (MSL)* shader code. The converter is embedded in the **MoltenVK** 
+  runtime to automatically convert *SPIR-V* shaders to their *MSL* equivalents. In addition, 
+  both the *SPIR-V* and *GLSL* converters are packaged into a stand-alone command-line 
+  `MoltenVKShaderConverter` *macOS* tool for converting shaders at development time from the command line.
 
 
 
@@ -117,14 +116,23 @@
 When running the `fetchDependencies` script, you must specify one or more platforms 
 for which to build the external libraries. The platform choices include: 
 
-	--all --macos --ios --iosfat --tvos --tvosfat
+	--all 
+	--macos 
+	--ios 
+	--iossim 
+	--tvos 
+	--tvossim
 
-You can specify multiple of these selections. The `--iosfat` and `--tvosfat` selection builds one 
-binary for each external library, with each binary including code for both *iOS* and *iOS Simulator* 
-platforms, or  *tvOS* and *tvOS Simulator* platforms, respectively. The `--all` selection is the same 
-as selecting `--macos --iosfat --tvosfat` and results in three binaries for each external library: 
-a *macOS* binary, a *fat iOS* binary, and a *fat tvOS* binary. The more selections you include,
-the longer the build time.
+You can specify multiple of these selections. The result is a single `XCFramework` 
+for each external dependency library, with each `XCFramework` containing binaries for 
+each of the requested platforms. 
+
+The `--all` selection is the same as entering all of the other platform choices,
+and will result in a single `XCFramework` for each external dependency library, 
+with each `XCFramework` containing binaries for all supported platforms and simulators.
+
+Running `fetchDependencies` repeatedly with different platforms will accumulate 
+targets in the `XCFramework`.
 
 For more information about the external open-source libraries used by **MoltenVK**,
 see the [`ExternalRevisions/README.md`](ExternalRevisions/README.md) document.
@@ -196,29 +204,28 @@
 	make all
 	make macos
 	make ios
-	make iosfat
+	make iossim
 	make tvos
-	make tvosfat
+	make tvossim
 	
 	make all-debug
 	make macos-debug
 	make ios-debug
-	make iosfat-debug
+	make iossim-debug
 	make tvos-debug
-	make tvosfat-debug
+	make tvossim-debug
 	
 	make clean
 	make install
 
+- Running `make` repeatedly with different targets will accumulate binaries for these different targets.
+- The `all` target executes all platform targets.
 - The `all` target is the default target. Running `make` with no arguments is the same as running `make all`.
-- The `*fat*` targets build fat binaries containing both platform and simulator code.
 - The `*-debug` targets build the binaries using the **_Debug_** configuration.
-- The `all` target executes the `macos`, `iosfat`, and `tvosfat` targets.
-- The `all-debug` target executes the `macos-debug`, `iosfat-debug`, and `tvosfat-debug` targets.
-- The `install` target will copy the most recently built *macOS* `MoltenVK.framework` into 
-  the `/Library/Frameworks` folder of your computer. Since `/Library/Frameworks` is protected, 
+- The `install` target will copy the most recently built `MoltenVK.xcframework` into the 
+  `/Library/Frameworks` folder of your computer. Since `/Library/Frameworks` is protected, 
   you will generally need to run it as `sudo make install` and enter your password.
-  The `install` target just installs the   built framework, it does not first build the framework.
+  The `install` target just installs the built framework, it does not first build the framework.
   You will first need to at least run `make macos` first.
 
 The `make` targets all require that *Xcode* is installed on your system. 
diff --git a/Scripts/copy_ext_lib_to_staging.sh b/Scripts/copy_ext_lib_to_staging.sh
new file mode 100755
index 0000000..77ec865
--- /dev/null
+++ b/Scripts/copy_ext_lib_to_staging.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+export MVK_XCFWK_STAGING_DIR="${PROJECT_DIR}/External/build/Intermediates/XCFrameworkStaging/${CONFIGURATION}"
+. "${SRCROOT}/Scripts/copy_lib_to_staging.sh"
diff --git a/Scripts/copy_lib_to_staging.sh b/Scripts/copy_lib_to_staging.sh
new file mode 100755
index 0000000..0441cbe
--- /dev/null
+++ b/Scripts/copy_lib_to_staging.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+# Copy the static library file to its own directory within the XCFrameworkStaging directory.
+#
+# Requires the variable MVK_XCFWK_STAGING_DIR.
+#
+export MVK_PROD_FILENAME="lib${PRODUCT_NAME}.a"
+export MVK_BUILT_PROD_FILE="${BUILT_PRODUCTS_DIR}/${MVK_PROD_FILENAME}"
+
+staging_dir="${MVK_XCFWK_STAGING_DIR}/Platform${EFFECTIVE_PLATFORM_NAME}"
+mkdir -p "${staging_dir}"
+cp -a "${MVK_BUILT_PROD_FILE}" "${staging_dir}/${MVK_PROD_FILENAME}"
diff --git a/Scripts/copy_to_staging.sh b/Scripts/copy_to_staging.sh
new file mode 100755
index 0000000..17044f4
--- /dev/null
+++ b/Scripts/copy_to_staging.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+export MVK_XCFWK_STAGING_DIR="${BUILT_PRODUCTS_DIR}/../XCFrameworkStaging/${CONFIGURATION}"
+. "${SRCROOT}/../Scripts/copy_lib_to_staging.sh"
diff --git a/Scripts/create_dylib.sh b/Scripts/create_dylib.sh
index ca0e316..35ff8da 100755
--- a/Scripts/create_dylib.sh
+++ b/Scripts/create_dylib.sh
@@ -1,6 +1,12 @@
 #!/bin/bash
 
-set -e
+# Allow dylib building to be skipped based on bulid setting.
+# For example, skipping the build of a dylib for Simulator builds
+# because Xcode cannot currently handle creating a Simulator dylib
+# containing both x86_64 and arm64 (Apple Silicon) architectures.
+if [ "${MVK_SKIP_DYLIB}" == "YES" ]; then
+	exit 0
+fi
 
 export MVK_BUILT_PROD_DIR="${BUILT_PRODUCTS_DIR}"
 export MVK_DYLIB_NAME="lib${PRODUCT_NAME}.dylib"
diff --git a/Scripts/create_ext_lib_xcframeworks.sh b/Scripts/create_ext_lib_xcframeworks.sh
new file mode 100755
index 0000000..33cd977
--- /dev/null
+++ b/Scripts/create_ext_lib_xcframeworks.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+. "${PROJECT_DIR}/Scripts/create_xcframework_func.sh"
+
+export MVK_EXT_DIR="${PROJECT_DIR}/External"
+export MVK_XCFWK_STAGING_DIR="${MVK_EXT_DIR}/build/Intermediates/XCFrameworkStaging"
+export MVK_XCFWK_DEST_DIR="${MVK_EXT_DIR}/build/${CONFIGURATION}"
+
+# Assemble the headers for the external libraries
+abs_ext_dir=`cd "${MVK_EXT_DIR}"; pwd; cd - > /dev/null`
+hdr_dir="${MVK_XCFWK_STAGING_DIR}/Headers"
+rm -rf "${hdr_dir}"
+mkdir -p "${hdr_dir}"
+ln -sfn "${abs_ext_dir}/SPIRV-Cross" "${hdr_dir}/SPIRVCross"
+ln -sfn "${abs_ext_dir}/glslang/External/spirv-tools/include/spirv-tools" "${hdr_dir}/SPIRVTools"
+ln -sfn "${abs_ext_dir}/glslang" "${hdr_dir}/glslang"
+
+create_xcframework "SPIRVCross"
+create_xcframework "SPIRVTools"
+create_xcframework "glslang"
diff --git a/Scripts/create_fat_ext_libs.sh b/Scripts/create_fat_ext_libs.sh
deleted file mode 100755
index fb0a3ac..0000000
--- a/Scripts/create_fat_ext_libs.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-# Load functions
-. "${SRCROOT}/Scripts/create_fat_lib_func.sh"
-
-set -e
-
-export MVK_BUILT_OS_PROD_DIR="${BUILT_PRODUCTS_DIR}-${MVK_OS_PROD_EXTN}"
-export MVK_BUILT_SIM_PROD_DIR="${BUILT_PRODUCTS_DIR}-${MVK_SIM_PROD_EXTN}"
-export MVK_BUILT_FAT_PROD_DIR="${BUILT_PRODUCTS_DIR}-${MVK_OS}"
-
-create_fat_lib "libSPIRVCross.a"
-create_fat_lib "libSPIRVTools.a"
-create_fat_lib "libglslang.a"
-
diff --git a/Scripts/create_fat_lib_func.sh b/Scripts/create_fat_lib_func.sh
deleted file mode 100755
index 6d48b6f..0000000
--- a/Scripts/create_fat_lib_func.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/bash
-
-# If both platform and simulator lib files exist, create a fat file
-# from them both, otherwise if only one exists, copy it to the fat file.
-#
-# Takes one parameter:
-#   1 - filename
-#
-# Requires 3 build settings:
-#   MVK_BUILT_OS_PROD_DIR  - location to find OS input file
-#   MVK_BUILT_SIM_PROD_DIR - location to find simulator input file
-#   MVK_BUILT_FAT_PROD_DIR - location to put fat output file
-function create_fat_lib() {
-	FILE_NAME=${1}
-	BUILT_OS_PROD_FILE="${MVK_BUILT_OS_PROD_DIR}/${FILE_NAME}"
-	BUILT_SIM_PROD_FILE="${MVK_BUILT_SIM_PROD_DIR}/${FILE_NAME}"
-	BUILT_FAT_PROD_FILE="${MVK_BUILT_FAT_PROD_DIR}/${FILE_NAME}"
-
-	if [ ! -e "${MVK_BUILT_FAT_PROD_DIR}" ]; then
-		mkdir -p "${MVK_BUILT_FAT_PROD_DIR}"
-	fi
-	rm -rf "${BUILT_FAT_PROD_FILE}"
-
-	if test -e "${BUILT_OS_PROD_FILE}"; then
-		if test -e "${BUILT_SIM_PROD_FILE}"; then
-			lipo \
-			-create \
-			-output "${BUILT_FAT_PROD_FILE}" \
-			"${BUILT_OS_PROD_FILE}" \
-			"${BUILT_SIM_PROD_FILE}"
-		else
-			cp -a "${BUILT_OS_PROD_FILE}" "${BUILT_FAT_PROD_FILE}"
-		fi
-	elif test -e "${BUILT_SIM_PROD_FILE}"; then
-		cp -a "${BUILT_SIM_PROD_FILE}" "${BUILT_FAT_PROD_FILE}"
-	fi
-}
diff --git a/Scripts/create_fat_libs.sh b/Scripts/create_fat_libs.sh
deleted file mode 100755
index 4a2f922..0000000
--- a/Scripts/create_fat_libs.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-
-# Load functions
-. "${SRCROOT}/../Scripts/create_fat_lib_func.sh"
-
-set -e
-
-#Static library
-export MVK_BUILT_OS_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_OS_PROD_EXTN}"
-export MVK_BUILT_SIM_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_SIM_PROD_EXTN}"
-export MVK_BUILT_FAT_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_OS}"
-create_fat_lib "lib${PRODUCT_NAME}.a"
-
-# Dynamic library
-export MVK_BUILT_OS_PROD_DIR="${MVK_BUILT_OS_PROD_DIR}/dynamic"
-export MVK_BUILT_SIM_PROD_DIR="${MVK_BUILT_SIM_PROD_DIR}/dynamic"
-export MVK_BUILT_FAT_PROD_DIR="${MVK_BUILT_FAT_PROD_DIR}/dynamic"
-create_fat_lib "lib${PRODUCT_NAME}.dylib"
-
-# Dynamic library dSYM
-if [ "${CONFIGURATION}" == "Debug" ]; then
-	cp -a  "${MVK_BUILT_OS_PROD_DIR}/lib${PRODUCT_NAME}.dylib.dSYM" "${MVK_BUILT_FAT_PROD_DIR}"
-	export MVK_BUILT_OS_PROD_DIR="${MVK_BUILT_OS_PROD_DIR}/lib${PRODUCT_NAME}.dylib.dSYM/Contents/Resources/DWARF"
-	export MVK_BUILT_SIM_PROD_DIR="${MVK_BUILT_SIM_PROD_DIR}/lib${PRODUCT_NAME}.dylib.dSYM/Contents/Resources/DWARF"
-	export MVK_BUILT_FAT_PROD_DIR="${MVK_BUILT_FAT_PROD_DIR}/lib${PRODUCT_NAME}.dylib.dSYM/Contents/Resources/DWARF"
-	create_fat_lib "lib${PRODUCT_NAME}.dylib"
-fi
diff --git a/Scripts/create_fat_libs_ios.sh b/Scripts/create_fat_libs_ios.sh
deleted file mode 100755
index b5d3797..0000000
--- a/Scripts/create_fat_libs_ios.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_OS="iOS"
-export MVK_OS_PROD_EXTN="iphoneos"
-export MVK_SIM_PROD_EXTN="iphonesimulator"
-
-. "${SRCROOT}/../Scripts/create_fat_libs.sh"
-
diff --git a/Scripts/create_fat_libs_tvos.sh b/Scripts/create_fat_libs_tvos.sh
deleted file mode 100755
index 9003f0c..0000000
--- a/Scripts/create_fat_libs_tvos.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_OS="tvOS"
-export MVK_OS_PROD_EXTN="appletvos"
-export MVK_SIM_PROD_EXTN="appletvsimulator"
-
-. "${SRCROOT}/../Scripts/create_fat_libs.sh"
-
diff --git a/Scripts/create_framework.sh b/Scripts/create_framework.sh
deleted file mode 100755
index 37aaca4..0000000
--- a/Scripts/create_framework.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_TMPLT_PATH="${PROJECT_DIR}/../Templates/framework/${MVK_OS}"
-export MVK_BUILT_FRWK_PATH="${MVK_BUILT_PROD_DIR}/framework/${PRODUCT_NAME}.framework"
-export MVK_BUILT_FRWK_CONTENT_PATH="${MVK_BUILT_FRWK_PATH}/${MVK_FRWK_SUBPATH}"
-
-mkdir -p "${MVK_BUILT_PROD_DIR}/framework"
-
-rm -rf "${MVK_BUILT_FRWK_PATH}"
-cp -a  "${MVK_TMPLT_PATH}/Template.framework" "${MVK_BUILT_FRWK_PATH}"
-cp -a  "${MVK_BUILT_PROD_DIR}/lib${PRODUCT_NAME}.a" "${MVK_BUILT_FRWK_CONTENT_PATH}${PRODUCT_NAME}"
-cp -pRL "${PROJECT_DIR}/include/${PRODUCT_NAME}/" "${MVK_BUILT_FRWK_CONTENT_PATH}Headers"
-rm -f "${MVK_BUILT_FRWK_CONTENT_PATH}Headers/README"	#Remove git empty directory placeholder file
diff --git a/Scripts/create_framework_ios.sh b/Scripts/create_framework_ios.sh
deleted file mode 100755
index c75be1f..0000000
--- a/Scripts/create_framework_ios.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_OS="iOS"
-export MVK_BUILT_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_OS}"
-export MVK_FRWK_SUBPATH=""
-
-. "${SRCROOT}/../Scripts/create_framework.sh"
diff --git a/Scripts/create_framework_macos.sh b/Scripts/create_framework_macos.sh
deleted file mode 100755
index d776044..0000000
--- a/Scripts/create_framework_macos.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_OS="macOS"
-export MVK_BUILT_PROD_DIR="${BUILT_PRODUCTS_DIR}"
-export MVK_FRWK_SUBPATH="Versions/Current/"
-
-. "${SRCROOT}/../Scripts/create_framework.sh"
-
-ln -sfn "${MVK_FRWK_SUBPATH}${PRODUCT_NAME}" "${MVK_BUILT_FRWK_PATH}/${PRODUCT_NAME}"
diff --git a/Scripts/create_framework_tvos.sh b/Scripts/create_framework_tvos.sh
deleted file mode 100755
index 7cfde03..0000000
--- a/Scripts/create_framework_tvos.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_OS="tvOS"
-export MVK_BUILT_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_OS}"
-export MVK_FRWK_SUBPATH=""
-
-. "${SRCROOT}/../Scripts/create_framework.sh"
diff --git a/Scripts/create_xcframework_func.sh b/Scripts/create_xcframework_func.sh
new file mode 100755
index 0000000..c7b20cf
--- /dev/null
+++ b/Scripts/create_xcframework_func.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+# Creates a universal XCFramework for a product from any libraries that can be found for the product.
+#
+# Takes one parameter:
+#   1 - product_name
+#
+# Requires the variables MVK_XCFWK_STAGING_DIR and MVK_XCFWK_DEST_DIR.
+#
+function create_xcframework() {
+	prod_name=${1}
+	xcfwk_path="${MVK_XCFWK_DEST_DIR}/${prod_name}.xcframework"
+	hdr_path="${MVK_XCFWK_STAGING_DIR}/Headers/${prod_name}"
+
+	xcfwk_cmd="xcodebuild -quiet -create-xcframework -output \"${xcfwk_path}\""
+
+	# For each platform directory in the staging directory, add the library to the
+	# XCFramework if it exists, and for each library, add headers if they exist.
+	for prod_staging_dir in "${MVK_XCFWK_STAGING_DIR}/${CONFIGURATION}"/*; do
+		prod_lib_path="${prod_staging_dir}/lib${prod_name}.a"
+		if [[ -e "${prod_lib_path}" ]]; then
+			xcfwk_cmd+=" -library \"${prod_lib_path}\""
+#			if [[ -e "${hdr_path}" ]]; then
+#				xcfwk_cmd+=" -headers \"${hdr_path}\""		# Headers currently break build due to Xcode 12 ProcessXCFramework bug: https://developer.apple.com/forums/thread/651043?answerId=628400022#628400022
+#			fi
+		fi
+	done
+
+	rm -rf "${xcfwk_path}"
+	eval "${xcfwk_cmd}"
+}
diff --git a/Scripts/package_all.sh b/Scripts/package_all.sh
index 2a6c0ef..e8b65c2 100755
--- a/Scripts/package_all.sh
+++ b/Scripts/package_all.sh
@@ -1,7 +1,8 @@
 #!/bin/bash
 
 . "${SRCROOT}/Scripts/package_moltenvk.sh"
-. "${SRCROOT}/Scripts/package_shader_converter.sh"
+. "${SRCROOT}/Scripts/package_moltenvk_xcframework.sh"
+. "${SRCROOT}/Scripts/package_shader_converter_xcframework.sh"
 . "${SRCROOT}/Scripts/package_docs.sh"
 . "${SRCROOT}/Scripts/package_update_latest.sh"
 
diff --git a/Scripts/package_ext_libs.sh b/Scripts/package_ext_libs.sh
deleted file mode 100755
index 8ec1a59..0000000
--- a/Scripts/package_ext_libs.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_EXT_LIB_DST_PATH="${PROJECT_DIR}/External/build/"
-export MVK_EXT_LIB_DST_OS_PATH="${MVK_EXT_LIB_DST_PATH}/${CONFIGURATION}/${MVK_OS}"
-
-rm -rf "${MVK_EXT_LIB_DST_OS_PATH}"
-mkdir -p "${MVK_EXT_LIB_DST_OS_PATH}"
-
-cp -a "${MVK_BUILT_PROD_DIR}/"*.a "${MVK_EXT_LIB_DST_OS_PATH}"
diff --git a/Scripts/package_moltenvk.sh b/Scripts/package_moltenvk.sh
index 766865b..61f99b2 100755
--- a/Scripts/package_moltenvk.sh
+++ b/Scripts/package_moltenvk.sh
@@ -2,28 +2,39 @@
 
 set -e
 
+# Copy dylibs only if the source directory exists.
+# Takes two args: source build path OS suffix and destination path OS directory name
+function copy_dylib() {
+	src_dir="${BUILD_DIR}/${CONFIGURATION}${1}/dynamic"
+	dst_dir="${MVK_PKG_PROD_PATH}/dylib/${2}"
+
+	# If dylib file exists, copy it, any debug symbol file, and the Vulkan layer JSON file
+	src_file="${src_dir}/lib${MVK_PROD_NAME}.dylib"
+	if [[ -e "${src_file}" ]]; then
+		rm -rf "${dst_dir}"
+		mkdir -p "${dst_dir}"
+
+		cp -a "${src_file}" "${dst_dir}"
+
+		src_file+=".dSYM"
+		if [[ -e "${src_file}" ]]; then
+		   cp -a "${src_file}" "${dst_dir}"
+		fi
+
+		cp -a "${MVK_PROD_PROJ_PATH}/icd/${MVK_PROD_NAME}_icd.json" "${dst_dir}"
+
+	fi
+}
+
 export MVK_PROD_NAME="MoltenVK"
 export MVK_PROD_PROJ_PATH="${PROJECT_DIR}/${MVK_PROD_NAME}"
 export MVK_PKG_PROD_PATH="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_NAME}"
-export MVK_PKG_PROD_PATH_OS="${MVK_PKG_PROD_PATH}/${MVK_OS}"
 
-rm -rf "${MVK_PKG_PROD_PATH_OS}"
-
-mkdir -p "${MVK_PKG_PROD_PATH_OS}/static"
-cp -a "${MVK_BUILT_PROD_DIR}/lib${MVK_PROD_NAME}.a" "${MVK_PKG_PROD_PATH_OS}/static"
-
-mkdir -p "${MVK_PKG_PROD_PATH_OS}/dynamic"
-cp -a "${MVK_BUILT_PROD_DIR}/dynamic/lib${MVK_PROD_NAME}.dylib" "${MVK_PKG_PROD_PATH_OS}/dynamic"
-if test "$CONFIGURATION" = Debug; then
-   cp -a "${MVK_BUILT_PROD_DIR}/dynamic/lib${MVK_PROD_NAME}.dylib.dSYM" "${MVK_PKG_PROD_PATH_OS}/dynamic"
-fi
-cp -a "${MVK_PROD_PROJ_PATH}/icd/${MVK_PROD_NAME}_icd.json" "${MVK_PKG_PROD_PATH_OS}/dynamic"
-
-mkdir -p "${MVK_PKG_PROD_PATH_OS}/framework"
-cp -a "${MVK_BUILT_PROD_DIR}/framework/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}/framework"
-
-# Remove the code signature
-rm -rf "${MVK_PKG_PROD_PATH_OS}/framework/${MVK_PROD_NAME}.framework/_CodeSignature"
+copy_dylib "" "macOS"
+copy_dylib "-iphoneos" "iOS"
+copy_dylib "-iphonesimulator" "iOS-simulator"
+copy_dylib "-appletvos" "tvOS"
+copy_dylib "-appletvsimulator" "tvOS-simulator"
 
 # Remove and replace header include folder
 rm -rf "${MVK_PKG_PROD_PATH}/include"
diff --git a/Scripts/package_moltenvk_xcframework.sh b/Scripts/package_moltenvk_xcframework.sh
new file mode 100755
index 0000000..adbf883
--- /dev/null
+++ b/Scripts/package_moltenvk_xcframework.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+set -e
+
+. "${PROJECT_DIR}/Scripts/create_xcframework_func.sh"
+
+export MVK_PROD_BASE_NAME="MoltenVK"
+export MVK_XCFWK_STAGING_DIR="${BUILD_DIR}/XCFrameworkStaging"
+export MVK_XCFWK_DEST_DIR="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_BASE_NAME}"
+
+# Assemble the headers
+hdr_dir="${MVK_XCFWK_STAGING_DIR}/Headers"
+mkdir -p "${hdr_dir}"
+rm -rf "${hdr_dir}/${MVK_PROD_BASE_NAME}"
+cp -pRL "${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/include/${MVK_PROD_BASE_NAME}" "${hdr_dir}"
+
+create_xcframework "MoltenVK"
diff --git a/Scripts/package_shader_converter.sh b/Scripts/package_shader_converter.sh
deleted file mode 100755
index 98568b6..0000000
--- a/Scripts/package_shader_converter.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_PROD_BASE_NAME="MoltenVKShaderConverter"
-export MVK_PKG_BASE_PATH="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_BASE_NAME}"
-export MVK_PKG_INCLUDE_PATH="${MVK_PKG_BASE_PATH}/include"
-
-# Remove and replace header include folder
-rm -rf "${MVK_PKG_INCLUDE_PATH}"
-mkdir -p "${MVK_PKG_INCLUDE_PATH}"
-cp -pRL "${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/include/" "${MVK_PKG_INCLUDE_PATH}"
-
-#-----------------------------------
-# MoltenVKSPIRVToMSLConverter
-export MVK_PROD_NAME="MoltenVKSPIRVToMSLConverter"
-
-. "${SRCROOT}/Scripts/package_shader_converter_lib.sh"
-
-#-----------------------------------
-# MoltenVKGLSLToSPIRVConverter
-export MVK_PROD_NAME="MoltenVKGLSLToSPIRVConverter"
-
-. "${SRCROOT}/Scripts/package_shader_converter_lib.sh"
diff --git a/Scripts/package_shader_converter_lib.sh b/Scripts/package_shader_converter_lib.sh
deleted file mode 100755
index 14cf732..0000000
--- a/Scripts/package_shader_converter_lib.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_PROD_PROJ_PATH="${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/${MVK_PROD_NAME}"
-export MVK_PKG_PROD_PATH="${MVK_PKG_BASE_PATH}/${MVK_PROD_NAME}"
-export MVK_PKG_PROD_PATH_OS="${MVK_PKG_PROD_PATH}/${MVK_OS}"
-
-rm -rf "${MVK_PKG_PROD_PATH_OS}"
-
-mkdir -p "${MVK_PKG_PROD_PATH_OS}/static"
-cp -a "${MVK_BUILT_PROD_DIR}/lib${MVK_PROD_NAME}.a" "${MVK_PKG_PROD_PATH_OS}/static"
-
-mkdir -p "${MVK_PKG_PROD_PATH_OS}/dynamic"
-cp -a "${MVK_BUILT_PROD_DIR}/dynamic/lib${MVK_PROD_NAME}.dylib" "${MVK_PKG_PROD_PATH_OS}/dynamic"
-if test "$CONFIGURATION" = Debug; then
-    cp -a "${MVK_BUILT_PROD_DIR}/dynamic/lib${MVK_PROD_NAME}.dylib.dSYM" "${MVK_PKG_PROD_PATH_OS}/dynamic"
-fi
-
-mkdir -p "${MVK_PKG_PROD_PATH_OS}/framework"
-cp -a "${MVK_BUILT_PROD_DIR}/framework/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}/framework"
diff --git a/Scripts/package_shader_converter_tool.sh b/Scripts/package_shader_converter_tool.sh
index 43330d4..98cb659 100755
--- a/Scripts/package_shader_converter_tool.sh
+++ b/Scripts/package_shader_converter_tool.sh
@@ -4,6 +4,7 @@
 
 export MVK_PROD_NAME="MoltenVKShaderConverter"
 export MVK_PKG_PROD_PATH_OS="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_NAME}/Tools"
+export MVK_BUILT_PROD_DIR="${BUILT_PRODUCTS_DIR}"
 
 rm -rf "${MVK_PKG_PROD_PATH_OS}"
 mkdir -p "${MVK_PKG_PROD_PATH_OS}"
diff --git a/Scripts/package_shader_converter_xcframework.sh b/Scripts/package_shader_converter_xcframework.sh
new file mode 100755
index 0000000..abb930a
--- /dev/null
+++ b/Scripts/package_shader_converter_xcframework.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+set -e
+
+. "${PROJECT_DIR}/Scripts/create_xcframework_func.sh"
+
+export MVK_PROD_BASE_NAME="MoltenVKShaderConverter"
+export MVK_XCFWK_STAGING_DIR="${BUILD_DIR}/XCFrameworkStaging"
+export MVK_XCFWK_DEST_DIR="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_BASE_NAME}"
+
+# Assemble the headers for the shader frameworks
+hdr_dir="${MVK_XCFWK_STAGING_DIR}/Headers"
+mkdir -p "${hdr_dir}"
+rm -rf "${hdr_dir}/MoltenVKSPIRVToMSLConverter"
+cp -pRL "${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/include/MoltenVKSPIRVToMSLConverter" "${hdr_dir}"
+rm -rf "${hdr_dir}/MoltenVKGLSLToSPIRVConverter"
+cp -pRL "${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/include/MoltenVKGLSLToSPIRVConverter" "${hdr_dir}"
+
+# Also copy headers to an include directory in the package.
+# This will not be needed once the XCFramework can be created with a Headers directory.
+mkdir -p "${MVK_XCFWK_DEST_DIR}"
+cp -pRL "${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/include/" "${MVK_XCFWK_DEST_DIR}/include"
+
+create_xcframework "MoltenVKSPIRVToMSLConverter"
+create_xcframework "MoltenVKGLSLToSPIRVConverter"
diff --git a/Templates/framework/iOS/Template.framework/Headers/README b/Templates/framework/iOS/Template.framework/Headers/README
deleted file mode 100644
index 26382bc..0000000
--- a/Templates/framework/iOS/Template.framework/Headers/README
+++ /dev/null
@@ -1 +0,0 @@
-Placeholder for empty git directory.
\ No newline at end of file
diff --git a/Templates/framework/macOS/Template.framework/Headers b/Templates/framework/macOS/Template.framework/Headers
deleted file mode 120000
index a177d2a..0000000
--- a/Templates/framework/macOS/Template.framework/Headers
+++ /dev/null
@@ -1 +0,0 @@
-Versions/Current/Headers
\ No newline at end of file
diff --git a/Templates/framework/macOS/Template.framework/Versions/A/Headers/README b/Templates/framework/macOS/Template.framework/Versions/A/Headers/README
deleted file mode 100644
index 26382bc..0000000
--- a/Templates/framework/macOS/Template.framework/Versions/A/Headers/README
+++ /dev/null
@@ -1 +0,0 @@
-Placeholder for empty git directory.
\ No newline at end of file
diff --git a/Templates/framework/macOS/Template.framework/Versions/Current b/Templates/framework/macOS/Template.framework/Versions/Current
deleted file mode 120000
index 8c7e5a6..0000000
--- a/Templates/framework/macOS/Template.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-A
\ No newline at end of file
diff --git a/Templates/framework/tvOS b/Templates/framework/tvOS
deleted file mode 120000
index d4676fd..0000000
--- a/Templates/framework/tvOS
+++ /dev/null
@@ -1 +0,0 @@
-iOS
\ No newline at end of file
diff --git a/fetchDependencies b/fetchDependencies
index d6602d5..28bd8d7 100755
--- a/fetchDependencies
+++ b/fetchDependencies
@@ -4,31 +4,29 @@
 #
 # fetchDependencies - Retrieves the correct versions of all dependencies
 #
-# macOS usage: ./fetchDependencies [--ios] [--iosfat] [--tvos] [--tvosfat] [--macos] [--all] [--none]
+# macOS usage: ./fetchDependencies [--macos] [--ios] [--iossim] [--tvos] [--tvossim] [--all] [--none]
 #                                  [-v] [--debug] [--build-spirv-tools]
 #                                  [--v-headers-root path] [--spirv-cross-root path] [--glslang-root path]
 #
-#      --ios
-#              Build the external libraries for the iOS platform.
-#
-#      --iosfat
-#              Build a single binary for each external library, each containing code
-#              for both iOS and iOS Simulator platforms.
-#
-#      --tvos
-#              Build the external libraries for the tvOS platform.
-#
-#      --tvosfat
-#              Build a single binary for each external library, each containing code
-#              for both tvOS and tvOS Simulator platforms.
-#
 #      --macos
 #              Build the external libraries for the macOS platform.
 #
+#      --ios
+#              Build the external libraries for the iOS platform.
+#
+#      --iossim
+#              Build the external libraries for the iOS Simulator platform.
+#
+#      --tvos
+#              Build the external libraries for the tvOS platform.
+#
+#      --tvossim
+#              Build the external libraries for the tvOS Simulator platform.
+#
 #      --all
-#              Equivalent to specifying [--iosfat --tvosfat --macos]. Results in thee
-#              binaries for each external library: one for the iOS and iOS Simulator platforms,
-#              one for the tvOS and tvOS Simulator platforms, and one for the macOS platform.
+#              Equivalent to specifying [--macos --ios --iossim --tvos --tvossim].
+#              Results in one XCFramework for each external library, each containing
+#              binaries for all supported platforms.
 #
 #      --none
 #              Don't build the external libraries for any platform.
@@ -94,8 +92,7 @@
          BLD_SPECIFIED="Y"
          shift 1
          ;;
-       --iosfat)
-         BLD_IOS="Y"
+       --iossim)
          BLD_IOS_SIM="Y"
          BLD_SPECIFIED="Y"
          shift 1
@@ -105,8 +102,7 @@
          BLD_SPECIFIED="Y"
          shift 1
          ;;
-       --tvosfat)
-         BLD_TVOS="Y"
+       --tvossim)
          BLD_TVOS_SIM="Y"
          BLD_SPECIFIED="Y"
          shift 1
@@ -363,7 +359,7 @@
 if [ "$BLD_SPECIFIED" = "" ]; then
 	echo "ERROR: You did not specify a platform to build."
 	echo "Include one or more of the following platform options:"
-	echo "    --ios --iosfat --tvos --tvosfat --macos --all"
+	echo "    --macos --ios --iossim --tvos --tvossim --all"
 	echo "See the instructions in the fetchDependencies script for more info."
 	exit 1
 fi
@@ -380,7 +376,7 @@
 	XC_PLTFM=${2}
 
 	XC_SCHEME="${EXT_DEPS}-${XC_OS}"
-	XC_LCL_DD_PATH="${XC_DD_PATH}/Intermediates/${XC_OS}"
+	XC_LCL_DD_PATH="${XC_DD_PATH}/Intermediates/${XC_PLTFM}"
 	XC_DEST="generic/platform=${XC_PLTFM}"
 
 	echo Building external libraries for ${XC_PLTFM}
@@ -402,29 +398,9 @@
 # 2 - platform
 function build() {
 	if [ "$XC_USE_BCKGND" != "" ]; then
-		build_impl ${1} ${2} &
+		build_impl "${1}" "${2}" &
 	else
-		build_impl ${1} ${2}
-	fi
-}
-
-# Build a fat library for the OS containing code for the OS and its Simulator
-# Builds serially to ensure both are built
-# 1 - OS
-function build_fat_impl() {
-	XC_OS=${1}
-
-	build_impl ${XC_OS} ${XC_OS}
-	build_impl ${XC_OS} "${XC_OS} Simulator"
-}
-
-# Select whether or not to run the build in parallel.
-# 1 - OS
-function build_fat() {
-	if [ "$XC_USE_BCKGND" != "" ]; then
-		build_fat_impl ${1} &
-	else
-		build_fat_impl ${1}
+		build_impl "${1}" "${2}"
 	fi
 }
 
@@ -448,19 +424,19 @@
 fi
 
 if [ "$BLD_IOS" != "" ]; then
-	if [ "$BLD_IOS_SIM" != "" ]; then
-		build_fat "iOS"
-	else
-		build "iOS" "iOS"
-	fi
+	build "iOS" "iOS"
+fi
+
+if [ "$BLD_IOS_SIM" != "" ]; then
+	build "iOS" "iOS Simulator"
 fi
 
 if [ "$BLD_TVOS" != "" ]; then
-	if [ "$BLD_TVOS_SIM" != "" ]; then
-		build_fat "tvOS"
-	else
-		build "tvOS" "tvOS"
-	fi
+	build "tvOS" "tvOS"
+fi
+
+if [ "$BLD_TVOS_SIM" != "" ]; then
+	build "tvOS" "tvOS Simulator"
 fi
 
 # Wait for any background process (if selected) to finish
@@ -468,9 +444,10 @@
 	wait
 fi
 
-# Update latest symlink and clean MoltenVK for rebuild
+# Build XCFrameworks, update latest symlink, and clean MoltenVK for rebuild
 PROJECT_DIR="."
 CONFIGURATION=${XC_CONFIG}
+. "./Scripts/create_ext_lib_xcframeworks.sh"
 . "./Scripts/package_ext_libs_finish.sh"
 
 echo ========== Finished at `date +"%r"` ==========
