Спавнер врагов сделай ( на Ютубе полно туториалов ), а волны, ну например через bool переменные сделай, или через событие ( ivent ), что первое в голову пришло, можно делать булевую фалсе когда волна прошла, потом через некоторое время (avake), делать ее тру, и пойдет новая волна, через событие ещё проще, тоже можно посчитать среднее время прохода волны, и включать событие , например каждые 30 сек...например....