Same Level different wave/player(character)

I am working on a Tower Defence game.

The campaign currently has 10 separate stories…

Is the following possible?

I want to keep using the same Level for those 10 stories… But change the following things

  • Enemy waves(the time period is different so the waves and the enemies need to be different as well)
  • Player Character (The player will be playing as a different ‘Commander’ in every story

I can’t figure out how to accomplish the above.

Sure I could just copy the level 9 times and do the above, but would NOT be the correct way to handle it?

So Please enlighten me.

You’re looking at:

Data Tables / Structures -> one of the way to store all the data you need for your levels
Player Controller / Possess Function -> the proper way to switch from a character to another at runtime

You would have a Game Mode which knows at what level the player is.

It would read data from the Data Table: which character to give the player, which enemies to spawn, which rewards to grant and so on and so forth.

The Game Mode would handle everything in between “story levels” (but you’d be staying on the same map). Things such as deleting previous level content and respawning new one.

Tell me if you want more information (quote me).

More info please, as achieving it seems a bit odd for me.

Currently my game mode contains the Array data of the Enemy AI (used the Moba Live training tutorial as reference), and the wave spawn.
As I haven’t built anything like the Splash screen, just the functioning map. Switching Character as runtime is not necessary as they’ll be booted back to the main menu after receiving their ‘Reward’ , from there they can choose the following campaign or play some other game mode instead of the campaign.