1. Либо формат видео позволяет рассчитать с какого байта надо скачать, чтобы воспроизводить с нужной секунды, а веб серверу ты просто указываешь с какой позиции файл качать.
2. Либо API сервиса позволяет указать временной интервал и оно там само подготавливает видеофрагмент.
1. Либо запрещает удалять объект при загрузки новой сцены
2. Либо догружаешь дополнительную сцену аддитивно
3. Либо на новой сцене создаёшь объекты заново
А ты не видел что тебя предупреждают, что не нужно MonoBehaviour создавать через new. А раз ты создал, то будь добр инициировать его переменные самостоятельно. То что ты там где-то в инспекторе добавил ни кого теперь не волнует, это другое.
Но вообще красивше, это иметь общий объект синхронизации между потоками, где вы можете обмениваться данными. И уишка, например, периодически туда заглядывает и отображает у себя допустим прогресс вполнения.
Тут то всё просто, кастуешь к интерфейсу и проверяешь получилось что или пусто.
Но в данном примере вообще не вижу какой либо выгоды от интерфейсов, если всё равно надо делать развилки руками.
То что вы показали, это не ресурсы. Для начала положите их в ресурсы в свойствах проекта. И только тогда можно будет их извлекать.
И разве запить Resources.exit эта такое сложное получение?
Формально наверное можешь (я не читал спецификацию BMP). Пишешь свой класс который сумеет работать с таким большим размером, и не будет грузить в память его целиком.
Не знаю, что ты там наделал, но средние диалоги должны выглядеть как две системы: данные и их визуализация.
Условный NPC имеет id начального диалога. Извлекаем данные этого диалога и передаём их на визуализацию. А уже она и макет подберёт и основе npc найдёт его иконку и т.д.