using System.Collections; using System.Collections.Generic; using System.IO; using UnityEditor; using UnityEngine; public class SetReadWrite : Editor { [MenuItem("Assets/FBX ReadWrite Enable %&r")] public static void EnableFBXReadWrite() { Object[] selectedObjects = Selection.GetFiltered(SelectionMode.DeepAssets); foreach (Object obj in selectedObjects) { if (obj != null) { string path = AssetDatabase.GetAssetPath(obj); if (Directory.Exists(path)) { EnableFBXReadWriteInFolder(path); } else if (path.EndsWith(".fbx", System.StringComparison.OrdinalIgnoreCase)) { EnableFBXReadWriteForFile(path); } } } } public static void EnableFBXReadWriteInFolder(string folderPath) { string[] files = Directory.GetFiles(folderPath, "*.fbx", SearchOption.AllDirectories); foreach (string file in files) { EnableFBXReadWriteForFile(file); } } public static void EnableFBXReadWriteForFile(string filePath) { string relativePath = filePath; ModelImporter importer = AssetImporter.GetAtPath(relativePath) as ModelImporter; if (importer != null) { importer.isReadable = true; AssetDatabase.ImportAsset(relativePath, ImportAssetOptions.ForceUpdate); Debug.Log("Enabled Read/Write for: " + relativePath); } } }