I'll chime in here: I get that you are influenced by/from the multiplayer games scene so I can tell you that "MOBA" or "PvE" aren't terms used in the single player world. PvE comes from the MMORPG scene which GG doesn't support
I don't fully understand what you are trying to do. Is it a single or multiplayer game you want to work on?
From what I understand you want to do: You want to spawn waves of enemies, presumably with increasing difficulties. You want the player to be able to level up and you want factions. I don't fully understand how factions are supposed to work in this arena type scenario but I think I can help you with spawning waves. (quoting from smallg)
Right click the enemies and name them all the same (I.e. wave1 for the enemies to spawn at the first trigger) then set them to spawn at start = no.
Now place a trigger zone somewhere on the map the player will reach first (resize it if needed) and set the name of the first wave enemies (in my example; wave1) in the ifused field of that zone.
Repeat the process using a different name for the next wave
(You will need to put the triggers in different areas or do some scripting to change when the triggers are activated if you want them to be in the same area - for a defend the position type map)
The main issue with doing this in GG is that you have to set up every enemy in the editor first (although its easy enough to extract and place multiples it will drop frame rate a lot) - there is no clone or create entity command via script
-Wolf
"When I contradict myself, I am telling the truth"
"absurdity has become necessity"