Experimental: this API is experimental and might be changed or removed in the future.


protected void Apply ();


Saves any changes from the Editor's control into the asset's import settings object.

Can be overridden as required. Gets called when changes to settings are being applied.

using UnityEngine;
using UnityEditor;
using UnityEditor.Experimental.AssetImporters;

public class ExampleScript : AssetImporterEditor { public void OnInspectorGUI() { // Add custom gui controls here...

ApplyRevertGUI(); }

protected override bool OnApplyRevertGUI() { using (new EditorGUI.DisabledScope(!HasModified())) { bool applied; using (new EditorGUI.DisabledScope(!HasModified())) { RevertButton(); applied = ApplyButton("Apply X"); }

bool upgrade = upgradeMaterials; GUIContent genButtonText = HasModified() || upgrade ? Styles.ApplyAndGenerate : Styles.Regenerate;

if (GUILayout.Button(genButtonText)) { bool hasModified = HasModified();

// Apply the changes and generate the materials before importing so that asset previews are up-to-date. if (hasModified) Apply();

if (upgrade) { foreach (var importer in importers) importer.SetMaterialVersionToCurrent(); }


if (hasModified || upgrade) { ApplyAndImport(); applied = true; } } return applied; } } }