asset | The sub-asset to extract. |
newPath | The file path of the new Asset. |
string An empty string if Unity has successfully extracted the Asset, or an error message if not.
Creates an external Asset from an object (such as a Material) by extracting it from within an imported asset (such as an FBX file).
NOTE: The feature is currently only available for materials embedded in model assets.
All file paths are relative to the project folder. For example: "Assets/Materials/myMaterial.mat".
Method throws ArgumentNullException when the Asset is null and ArgumentException when the file path is null or empty.
#pragma strict public class Extractor { public static function ExtractFromAsset(subAsset: Object, destinationPath: String) { var assetPath: String = AssetDatabase.GetAssetPath(subAsset); AssetDatabase.ExtractAsset(subAsset, destinationPath); AssetDatabase.WriteImportSettingsIfDirty(assetPath); AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate); } }
using UnityEngine; using UnityEditor;
public class Extractor { public static void ExtractFromAsset(Object subAsset, string destinationPath) { string assetPath = AssetDatabase.GetAssetPath(subAsset);
AssetDatabase.ExtractAsset(subAsset, destinationPath);
AssetDatabase.WriteImportSettingsIfDirty(assetPath); AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate); } }