public void update(GameObjectLoader loader) { const float TIME = 10; timer += Time.deltaTime; if (timer >= TIME) { timer = 0; foreach (var res in loader.snapshot()) { if (res.loaded && res.tag != null) { res.update(); if (res.instanceCount == 0) { var last = (float)res.tag; if (Time.time - last >= TIME) { loader.unloadObject(res); } } } } } }