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.
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.