`AssetsManager manager = new AssetsManager();
var bunInst = manager.LoadBundleFile(bundlePath);
var bun = bunInst.file;
int fileTotal = bun.GetAllFileNames().Count;
for(int i = 0; i<fileTotal; i++)
{
var afileInst = manager.LoadAssetsFileFromBundle(bunInst, i, true);
var afile = afileInst.file;
foreach(var texInfo in afile.GetAssetsOfType(AssetClassID.Texture2D))
{
var texBase = manager.GetBaseField(afileInst, texInfo);
.......
}
}`
For AB contains both texture2D and Sprite assets, there is a NullReferenceException:Object reference not set to an instance of an object. AssetsTools.NET.Extra.AssetsManager.GetTemplateBaseField.
AssetsTools.NET.Extra.AssetsReadFlags.readFlags.
AssetsTools.NET.Extra.AssetsManager.GetTemplateBaseField.
For AB only contains texture2D asset it goes well and modified all the texture2D name successfully