private void Update()
        {
            bool removed = false;

            for (int i = 0; i < assets.Count; i++)
            {
                var asset = assets[i];
                if (!asset.IsDone && !asset.useful)
                {
                    asset.UnLoad();
                    asset = null;
                    assets.RemoveAt(i);
                    i--;
                    removed = true;
                }
            }

            if (removed)
            {
                if (gc != null)
                {
                    Game.instance.StopCoroutine(gc);
                }
                gc = GC();
                Game.instance.StartCoroutine(gc);
            }

            Bundles.ClearUnUseBundles();
        }