Нынче много чего стало возможно. Эта задачка - не исключение. В принципе процесс был уже описан - собрать все двери в локации, прописать им ключ. Подход видится простой: на заход в локацию срабатывает OnCellEnter. Вешаем на этот ивент скрипт, который пройдётся по объектам в ячейке и найдёт двери (например через GetFirstRef) и пропишет им ключ через SetOpenKey. Я бы, конечно, ещё проверял бы, а заперта ли дверь вообще, и уровень замка, чтобы недоступные двери не трогать. Можно ещё и контейнеры докинуть, чтобы совсем чудо-ключ получился.