//Apply texture rules at first import void OnPreprocessAsset() { if (assetImporter.importSettingsMissing) { var textureImporter = assetImporter as TextureImporter; if (textureImporter != null) { TextureSettingsTool.ApplyRules(textureImporter); } } }
//Apply texture rules when renaming texture assets and magic string changed. static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { for (int i = 0; i < movedAssets.Length; i++) { var textureImporter = AssetImporter.GetAtPath(movedAssets[i]) as TextureImporter; if (textureImporter != null) { if (Path.GetFileName(movedAssets[i]) != Path.GetFileName(movedFromAssetPaths[i])) { if (TextureSettingsTool.GetAssetMagicString(movedAssets[i]) != TextureSettingsTool.GetAssetMagicString(movedFromAssetPaths[i])) { TextureSettingsTool.ApplyRules(textureImporter); } } } } }
void OnPreprocessTexture() { var textureImporter = assetImporter as TextureImporter; // Skip bad if (!textureImporter) { return; } // Only apply if initial import var existing = AssetDatabase.LoadAssetAtPath(assetPath, typeof(Texture)); if (existing != null) { return; } TextureSettingsTool.ApplyRules(textureImporter); }