Ejemplo n.º 1
0
        private static void SetCustomMetadata(Run run)
        {
            var customMetadataManager = new CustomMetadataManager(run.Dependencies);

            // This field is historically not used so we can safely store additional string delimited
            // metadata here, then parse the metadata values out on the SQL side to give us access
            // to additional metadata that would normally require a schema change, or a property back field
            run.Player.AndroidTargetSdkVersion = customMetadataManager.GetCustomMetadata();
        }
Ejemplo n.º 2
0
        public void SerializeToAsset()
        {
            var settings  = CustomMetadataManager.Instance;
            var pathParts = Application.dataPath.Split('/');

            settings.ProjectName                  = pathParts.Length >= 2 ? pathParts[pathParts.Length - 2] : string.Empty;
            settings.PlayerGraphicsApi            = PlayerGraphicsApi.ToString();
            settings.MtRendering                  = MtRendering;
            settings.GraphicsJobs                 = GraphicsJobs;
            settings.EnableBurst                  = EnableBurst;
            settings.ScriptingBackend             = ScriptingImplementation.ToString();
            settings.ColorSpace                   = ColorSpace.ToString();
            settings.Username                     = Username = Environment.UserName;
            settings.PackageUnderTestName         = PackageUnderTestName;
            settings.PackageUnderTestVersion      = PackageUnderTestVersion;
            settings.PackageUnderTestRevision     = PackageUnderTestRevision;
            settings.PackageUnderTestRevisionDate = PackageUnderTestRevisionDate;
            settings.PackageUnderTestBranch       = PackageUnderTestBranch;
            settings.TestsRevision                = TestsRevision;
            settings.TestsRevisionDate            = TestsRevisionDate;
            settings.TestsBranch                  = TestsBranch;
            settings.JobLink                    = JobLink;
            settings.JobWorkerCount             = Unity.Jobs.LowLevel.Unsafe.JobsUtility.JobWorkerCount;
            settings.ApiCompatibilityLevel      = ApiCompatibilityLevel.ToString();
            settings.StripEngineCode            = StringEngineCode;
            settings.ManagedStrippingLevel      = ManagedStrippingLevel.ToString();
            settings.ScriptDebugging            = ScriptDebugging;
            settings.TestProjectName            = TestProjectName;
            settings.TestProjectRevision        = TestProjectRevision;
            settings.TestProjectRevisionDate    = TestProjectRevisionDate;
            settings.TestProjectBranch          = TestProjectBranch;
            settings.EnabledXrTarget            = EnabledXrTarget;
            settings.StereoRenderingMode        = StereoRenderingMode;
            settings.StereoRenderingModeDesktop = StereoRenderingModeDesktop;
            settings.StereoRenderingModeAndroid = StereoRenderingModeAndroid;
            settings.SimulationMode             = SimulationMode;
            settings.PluginVersion              = PluginVersion;
            settings.DeviceRuntimeVersion       = DeviceRuntimeVersion;
            settings.FfrLevel                   = FfrLevel;
            settings.AndroidTargetArchitecture  = AndroidTargetArchitecture.ToString();

            GetPackageUnderTestVersionInfo(settings);
            settings.RenderPipeline = RenderPipeline = $"{(GraphicsSettings.renderPipelineAsset != null ? GraphicsSettings.renderPipelineAsset.name : "BuiltInRenderer")}";

#if URP
            settings.AntiAliasing = GraphicsSettings.renderPipelineAsset != null
                ? ((UniversalRenderPipelineAsset)GraphicsSettings.renderPipelineAsset).msaaSampleCount
                : QualitySettings.antiAliasing;
#else
            settings.AntiAliasing = QualitySettings.antiAliasing;
#endif

#if ENABLE_VR
#if OCULUS_SDK
            // These fields are used by the performance test framework and are an artifact from this class
            // previously using the provider - specific enums before converting to a cross-platform friendly string
            if (BuildTarget == BuildTarget.Android)
            {
                settings.StereoRenderingModeAndroid = StereoRenderingMode;
            }
            else
            {
                settings.StereoRenderingModeDesktop = StereoRenderingMode;
            }

#if OCULUS_SDK_PERF
            settings.PluginVersion = string.Format("OculusPluginVersion|{0}", OculusStats.PluginVersion);
#endif
#endif
#if XR_SDK
            settings.StereoRenderingMode = StereoRenderingMode;
#else
            if (!string.IsNullOrEmpty(StereoRenderingMode))
            {
                // legacy xr has different enum for player settings and runtime settings for stereo rendering mode
                var builtInXrStereoPath = (StereoRenderingPath)Enum.Parse(typeof(StereoRenderingPath), StereoRenderingMode);
                settings.StereoRenderingMode = GetXrStereoRenderingPathMapping(builtInXrStereoPath).ToString();
            }
#endif
#endif
            CustomMetadataManager.SaveSettingsAssetInEditor();
        }