void Texture::CheckTextureBudget(StringHash type) { ResourceCache* cache = GetSubsystem<ResourceCache>(); unsigned textureBudget = cache->GetMemoryBudget(type); unsigned textureUse = cache->GetMemoryUse(type); if (!textureBudget) return; // If textures are over the budget, they likely can not be freed directly as materials still refer to them. // Therefore free unused materials first if (textureUse > textureBudget) cache->ReleaseResources(Material::GetTypeStatic()); }