protected override bool AddToLibrary() { if (storeDefaultTextureInAdvance && !UsesDefaultWrapAndFilterMode()) { if (!library.Contains(idWithDefaultTexSettings)) { // Save default texture asset asset.id = idWithDefaultTexSettings; asset.ConfigureTexture(DEFAULT_WRAP_MODE, DEFAULT_FILTER_MODE, false); if (!library.Add(asset)) { Debug.Log("add to library fail?"); return(false); } } // By always using library.Get() for the default tex we have stored, we increase its references counter, // that will come in handy for removing that default tex when there is no one using it var defaultTexAsset = library.Get(idWithDefaultTexSettings); asset = defaultTexAsset.Clone() as Asset_Texture; asset.dependencyAsset = defaultTexAsset; asset.texture = TextureHelpers.CopyTexture(defaultTexAsset.texture); } asset.id = idWithTexSettings; asset.ConfigureTexture(wrapMode, filterMode, storeTexAsNonReadable); if (!library.Add(asset)) { Debug.Log("add to library fail?"); return(false); } asset = library.Get(asset.id); return(true); }