Você tem a idéia certa de definir gatilhos em seus mapas de jogos e jogos para disparar eventos (observe, eu não necessariamente quero dizer os eventos no idioma C #). Os scripts são opcionais, mas podem ser uma maneira mais flexível de adicionar esses gatilhos ao seu jogo e recarregar novos, se uma mudança no enredo solicitar.
Independentemente de você estar usando scripts ou não, geralmente seria bom ter um "carregador de eventos" que possa transmitir um novo grupo de eventos ou gatilhos para os mapas do jogo sempre que necessário. Com os scripts, ele será considerado um carregador de scripts e será responsável por preencher o mundo do jogo com novos eventos em locais específicos, incluindo eventos que podem carregar outro script.
Por exemplo, no início do jogo, o primeiro script (ou objeto do carregador de eventos) será chamado automaticamente e enche o jogo com gatilhos de eventos. Um desses eventos pode ser acionado após derrotar o primeiro chefe, e esse evento, por sua vez, carregará outro script que substitui parte ou todos os acionadores de eventos do jogo. Agora você tem um novo conjunto de interações ou objetivos que você pode explorar. Isso adiciona uma camada de flexibilidade aos caminhos de ramificação nas missões e na história, mas, com isso, lembre-se de planejar bem os caminhos de ramificação do seu enredo, para que você saiba que todos os seus eventos fazem sentido na história.