public override void InvokePreAction(AssetImporter assetImporter) { ModelImporter modelImporter = (ModelImporter)assetImporter; // Remove any missing remaps. Dictionary <AssetImporter.SourceAssetIdentifier, UnityEngine.Object> remappedMaterials = assetImporter.GetExternalObjectMap(); foreach (KeyValuePair <AssetImporter.SourceAssetIdentifier, UnityEngine.Object> entry in remappedMaterials) { if (entry.Value == null || entry.Key.name != entry.Value.name) { modelImporter.RemoveRemap(new AssetImporter.SourceAssetIdentifier(entry.Key.type, entry.Key.name)); } } modelImporter.SearchAndRemapMaterials(modelImporter.materialName, modelImporter.materialSearch); }