in Runtime/Scripts/AndroidPerformanceTunerInternal.cs [65:126]
ErrorCode StartInternal()
{
m_SetupConfig = Resources.Load("SetupConfig") as SetupConfig;
if (m_SetupConfig == null)
{
Debug.LogWarning(
"SetupConfig can not be loaded, open Google->Android Performance Tuner to setup the plugin.");
return ErrorCode.NoSettings;
}
if (!m_SetupConfig.pluginEnabled)
{
Debug.LogWarning(
"Android Performance Tuner plugin is not enabled, open Google->Android Performance Tuner to enable the plugin.");
return ErrorCode.TuningforkNotInitialized;
}
var annotationStatus = CheckAnnotationMessage(m_SetupConfig);
var fidelityStatus = CheckFidelityMessage(m_SetupConfig);
if (annotationStatus != ErrorCode.Ok) return annotationStatus;
if (fidelityStatus != ErrorCode.Ok) return fidelityStatus;
InitializationSettings settings = new InitializationSettings();
if (!m_SetupConfig.useAdvancedFidelityParameters)
{
settings.trainingFidelityParams = new TFidelity();
MessageUtil.SetQualityLevel(settings.trainingFidelityParams, QualitySettings.GetQualityLevel());
}
settings.endpointUriOverride = m_endPoint;
if (m_SetupConfig.mode == TunerMode.Experiments)
settings.fidelityParamsCallback = Callbacks.FidelityParamsCallbackImpl;
settings.maxNumMetrics = m_MetricLimits;
var errorCode = m_AdditionalLibraryMethods.InitWithSettings(settings);
if (errorCode != ErrorCode.Ok)
{
m_AdditionalLibraryMethods.FreePointers();
return errorCode;
}
m_OnStop += () => m_AdditionalLibraryMethods.FreePointers();
CreateSceneObject();
m_SceneObject.StartCoroutine(CallbacksCheck());
if (!SwappyIsEnabled()) EnableUnityFrameTicks();
if (!m_SetupConfig.useAdvancedAnnotations) EnableDefaultAnnotationsMode();
if (!m_SetupConfig.useAdvancedFidelityParameters) EnableDefaultFidelityMode();
AddAutoFlush();
AddAutoLifecycleUpdate();
CheckNetworkReachability();
return errorCode;
}