Я думаю, вам нужно понять, что проблема, которую вы пытаетесь решить, связана не только с текстурами, но и со всеми игровыми ресурсами.Я думаю, что лучшим решением является автоматизированный метод отслеживания зависимостей в сочетании с подсчетом ссылок.Для каждой «вещи», которую вы хотите в своей игре, у вас должен быть какой-то корневой файл, который ссылается на все остальные ресурсы (звуки, текстуры, модели, эффекты частиц), которые эта «вещь» использует.У вас должен быть какой-то инструмент или скрипт сборки, который будет упаковывать все ресурсы для каждого элемента.Прежде чем создавать какие-либо свои «вещи», вы загружаете соответствующий пакет.Каждая вещь, которую вы загружаете, добавляет пакет, и, в свою очередь, пакет добавляет все ресурсы, которые загружены.Вы знаете, что безопасно удалять ресурсы или целые пакеты, как только счетчик ссылок становится равным 0.
Еще одна хорошая особенность этого подхода заключается в том, что вы можете выделить себе бюджеты памяти и проверять их во время сборки, а не во время выполнения, посколькуВы знаете, насколько велика каждая упаковка.Кроме того, пакеты могут совместно использовать ресурсы, поэтому вы можете убедиться, что не загружаете их более одного раза, если другой пакет уже добавил их.