private static void ProcessAsset(AssetInfo asset, string assetName, int assetIndex, int totalAssets) { currentObjectIndex = 0; itemIndex = assetIndex; totalItems = totalAssets; var assetType = asset.Type; if (asset.Kind == AssetKind.Settings) { IssuesDetector.ProcessSettingsAsset(asset); } else { if (assetType == null) { if (CSAssetTools.IsAssetScriptableObjectWithMissingScript(asset.Path)) { IssuesDetector.ProcessScriptableObject(asset, null); } } else if (assetType.BaseType == CSReflectionTools.scriptableObjectType) { var scriptableObject = AssetDatabase.LoadMainAssetAtPath(asset.Path); IssuesDetector.ProcessScriptableObject(asset, scriptableObject); } #if UNITY_2019_1_OR_NEWER else if (assetType == CSReflectionTools.shaderType) { var shader = AssetDatabase.LoadAssetAtPath <Shader>(asset.Path); IssuesDetector.ProcessShader(asset, shader); } #endif } }