Static stringTestDir ="assets/luascripts/"; [MenuItem ("Test/lua naming")] Public Static voidMakeluabundlenames () {//get all files under the TestDir path foreach(varFilePathinchDirectory.GetFiles (TestDir,"*.*", Searchoption.alldirectories)) { //exclude. Meta files if(filepath. EndsWith (". Meta"))Continue; //Get Files varImporter =Assetimporter.getatpath (filepath); //exclude some empty files such as folders if(Importer = =NULL) { //log.error ("not found: {0}", filepath); Continue; } //get the exact path to the file in this TestDir varBundlename = filepath. Substring (Testdir.length, filepath. Length-testdir.length); //Debug.Log (bundlename); /************************************ My LUA naming rules **************************************/ //1. The outermost layer will not be named (the outermost layer will have some other files) [a "\" will not be named]//2. Named Ablua/lua_ First Level directory _ Second level directory, example: Ablua/lua_ablua_battle//3. Current 2-tier catalogue Charb ='\\'; //the C # LINQ language queries the number of characters//int num = (from q in Bundlename where Q.contains (b) Select q). Count (); //using LAMDA Expressions intCount = bundlename.count (ch = ch = =b); if(Count = =2) { string[] str = Bundlename.split ('\\'); stringLuaname ="Ablua/lua_"+ str[0] +"_"+ str[1]; //Assigning a value to the AB nameImporter.assetbundlename =Luaname; } /*********************************************************************************************/} Debug.Log ("finished"); }
Unity's Assetbundle auto-naming, taking my name Lua as an example