Exemplo n.º 1
0
            public void OnPreprocessBuild(BuildReport report)
            {
                if (report.summary.platform != BuildTarget.iOS)
                {
                    return;
                }

                if (string.IsNullOrEmpty(PlayerSettings.iOS.cameraUsageDescription))
                {
                    throw new BuildFailedException("ARKit requires a Camera Usage Description (Player Settings > iOS > Other Settings > Camera Usage Description)");
                }

                EnsureOnlyMetalIsUsed();
                EnsureTargetArchitecturesAreSupported(report.summary.platformGroup);

                if (LinkerUtility.AssemblyStrippingEnabled(report.summary.platformGroup))
                {
                    LinkerUtility.EnsureLinkXmlExistsFor("ARKit");
                    var arkitSettings = ARKitSettings.GetOrCreateSettings();
                    if (arkitSettings.ARKitFaceTrackingEnabled)
                    {
                        LinkerUtility.EnsureLinkXmlExistsFor("ARKit.FaceTracking");
                    }
                }
            }
Exemplo n.º 2
0
            public void OnPreprocessBuild(BuildReport report)
            {
                if (report.summary.platform != BuildTarget.iOS)
                {
                    return;
                }

                if (string.IsNullOrEmpty(PlayerSettings.iOS.cameraUsageDescription))
                {
                    throw new BuildFailedException("ARKit requires a Camera Usage Description (Player Settings > iOS > Other Settings > Camera Usage Description)");
                }

                EnsureOnlyMetalIsUsed();

#if !UNITY_2018_3_OR_NEWER
                if ((report.summary.options & BuildOptions.SymlinkLibraries) != BuildOptions.None)
                {
                    throw new BuildFailedException("The \"ARKit XR Plugin\" package cannot be symlinked. Go to File > Build Settings... and uncheck \"Symlink Unity libraries\".");
                }
#endif

                if (LinkerUtility.AssemblyStrippingEnabled(report.summary.platformGroup))
                {
                    LinkerUtility.EnsureLinkXmlExistsFor("ARKit");
                }
            }
        public void OnPreprocessBuild(BuildReport report)
        {
            if (report.summary.platform != BuildTarget.Android)
            {
                return;
            }

            EnsureMultithreadedRenderingDisabled(report);
            EnsureARCoreSupportedIsNotChecked();
            EnsureGoogleARCoreIsNotPresent();
            EnsureMinSdkVersion();
            EnsureOnlyOpenGLES3IsUsed();
            EnsureGradleIsUsed();

            if (LinkerUtility.AssemblyStrippingEnabled(report.summary.platformGroup))
            {
                LinkerUtility.EnsureLinkXmlExistsFor("ARCore");
            }
        }
Exemplo n.º 4
0
            public void OnPreprocessBuild(BuildReport report)
            {
                if (report.summary.platform != BuildTarget.iOS)
                {
                    return;
                }

                if (string.IsNullOrEmpty(PlayerSettings.iOS.cameraUsageDescription))
                {
                    throw new BuildFailedException("ARKit requires a Camera Usage Description (Player Settings > iOS > Other Settings > Camera Usage Description)");
                }

                EnsureOnlyMetalIsUsed();
                EnsureTargetArchitecturesAreSupported(report.summary.platformGroup);

                var arkitSettings = ARKitSettings.GetOrCreateSettings();

                if (LinkerUtility.AssemblyStrippingEnabled(report.summary.platformGroup))
                {
                    LinkerUtility.EnsureLinkXmlExistsFor("ARKit");
                    if (arkitSettings.ARKitFaceTrackingEnabled)
                    {
                        LinkerUtility.EnsureLinkXmlExistsFor("ARKit.FaceTracking");
                    }
                }

                if (!arkitSettings.ARKitFaceTrackingEnabled)
                {
                    EnsureLinkXmlDoesNotContainFaceTracking();
                }

                var pluginImporter = AssetImporter.GetAtPath("Packages/com.unity.xr.arkit/Runtime/iOS/libUnityARKitFaceTracking.a") as PluginImporter;

                if (pluginImporter)
                {
                    pluginImporter.SetCompatibleWithPlatform(BuildTarget.iOS, arkitSettings.ARKitFaceTrackingEnabled);
                }
            }