Use this class to modify AudioClip import settings from editor scripts.
Use these settings to ensure all or a subset of your audio files have the same import settings. You can also edit these settings in the Audio Clip Inspector.
Additional resources: AudioClip
// This script adds a new menu item to the Unity Editor. Select the menu item to change the settings of and reimport audio from a certain folder.
using UnityEditor; using UnityEngine;
public class AudioImporterExample { // Creates a new menu item in Unity Editor. [MenuItem("Tools/Reimport sounds with new settings")] public static void SetAllToAmbisonic() { // Put the audio that you want to change in this directory. string folderPath = "Assets/Sounds";
// Find all AudioClip assets in the specified folder. string[] guids = AssetDatabase.FindAssets("t:AudioClip", new[] { folderPath });
foreach (string guid in guids) { // Get the paths to the audio clips. string assetPath = AssetDatabase.GUIDToAssetPath(guid);
// Get the AudioImporter for this audio clip. AudioImporter importer = AssetImporter.GetAtPath(assetPath) as AudioImporter; if (importer != null) { // Change the importer settings. importer.ambisonic = true; importer.loadInBackground = true; importer.forceToMono = false; // Reimport the asset to apply changes. AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate); Debug.Log($"Changed '{assetPath}' settings."); } } } }
ambisonic | Enable this property to treat the audio clip as ambisonic. |
defaultSampleSettings | The default sample settings for the AudioClip importer. |
forceToMono | Force audioclips to mono sound type, so all audio plays through a single channel. |
loadInBackground | Corresponding to the "Load In Background" flag in the AudioClip inspector, when this flag is set, the loading of the clip will happen delayed without blocking the main thread. |
ClearSampleSettingOverride | Clears the sample settings override for the given platform. |
ContainsSampleSettingsOverride | Returns whether the sample settings for a specified build target are currently overridden. |
GetOverrideSampleSettings | Return the current override settings for the given platform. |
SetOverrideSampleSettings | Sets the override sample settings for the given platform. |
assetBundleName | Get or set the AssetBundle name. |
assetBundleVariant | Get or set the AssetBundle variant. |
assetPath | The path name of the asset for this importer. (Read Only) |
importSettingsMissing | The value is true when no meta file is provided with the imported asset. |
userData | Get or set any user data. |
hideFlags | Should the object be hidden, saved with the Scene or modifiable by the user? |
name | The name of the object. |
AddRemap | Map a sub-asset from an imported asset (such as an FBX file) to an external Asset of the same type. |
GetExternalObjectMap | Gets a copy of the external object map used by the AssetImporter. |
RemoveRemap | Removes an item from the map of external objects. |
SaveAndReimport | Save asset importer settings if asset importer is dirty. |
SetAssetBundleNameAndVariant | Set the AssetBundle name and variant. |
SupportsRemappedAssetType | Checks if the AssetImporter supports remapping the given asset type. |
GetInstanceID | Gets the instance ID of the object. |
ToString | Returns the name of the object. |
GetAtPath | Retrieves the asset importer for the asset at path. |
GetImportLog | Retrieves logs generated during the import of the asset at path. |
Destroy | Removes a GameObject, component or asset. |
DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. |
DontDestroyOnLoad | Do not destroy the target Object when loading a new Scene. |
FindAnyObjectByType | Retrieves any active loaded object of Type type. |
FindFirstObjectByType | Retrieves the first active loaded object of Type type. |
FindObjectsByType | Retrieves a list of all loaded objects of Type type. |
Instantiate | Clones the object original and returns the clone. |
InstantiateAsync | Captures a snapshot of the original object (that must be related to some GameObject) and returns the AsyncInstantiateOperation. |
bool | Does the object exist? |
operator != | Compares if two objects refer to a different object. |
operator == | Compares two object references to see if they refer to the same object. |