World Editor FAQ: Campaign Editor
What is the Campaign Editor for?
A: The Campaign Editor is a module within the World Editor. It opens in a separate window, like all the other modules, and it starts off with an empty campaign file. The Campaign Editor opens and saves campaign files (.w3n), which are archives which contain multiple map files, as well as any campaign specific data (custom object data, imported files) that is accessible to all of the maps in the campaign.
How do I add maps to a campaign?
A: Use the "Edit->Add Map" command while on the General tab. Once a map is added, make sure to always edit it from within the campaign by selecting it and using the "Edit->Edit Map" command. This way you don't have to continually export and re-import the map.
How do I run the maps in my campaign?
A: This is a crucial step that a lot of people miss, you need to actually use your maps from within the campaign. This can be done in two ways:
  • load the map from a different map using the "Game - Set Next Level" trigger action (note that this is how maps have always been linked, even before the Campaign Editor existed)
  • Create a campaign screen button in the Loading Screen tab which will load the map (and make sure it is initially visible).
  • Q:
    Where can I find an example campaign?
    A: Look at the demo campaign that comes with the game, "Campaigns\DemoCampaign.w3n"
    How does the "Test Map" button work within a campaign?
    A: The tested map is run as an "orphan" with no connection to the campaign. If you are testing level transitions or custom units you will want to run your map from within the campaign instead.
    How do I make it so when my map finishes, another immediately starts, like in the single player campaign?
    A: Use the trigger action "Game - Set Next Level". This action only works correctly in single player. This will not end the map by itself, you will need a standard victory/defeat as well.
    What is a map cache?
    A: A map cache is a file stored on the player's computer that saves information between different maps in a campaign. For example you could exit one level with a hero, and have the same hero appear in the second map. Game cache only works in single player, and never on battlenet.
    How do I use a map cache?
    End of Level 1:
    Game Cache - Create a game cache from MyCampaign.w3v
    Game Cache - Store MyHero as MyHero of MyFirstMap in (Last created game cache)
    Game Cache - Save (Last created game cache)

    Start of Level 2:
    -------- Load Hero From Cache --------
    Game Cache - Create a game cache from MyCampaign.w3v
    Game Cache - Restore MyHero of MyFirstMap from (Last created game cache) for Player 1 (Red) at (Center of (Playable map area)) facing 225.00
    Set MyHero = (Last restored unit)
    If (MyHero Not equal to No unit) then do (Skip remaining actions) else do (Do nothing)
    -------- If loading the hero failed, then create a default hero instead --------
    Game - Display to (All players) the text: Hero loading failed!
    Unit - Create 1 Varimathras for Player 1 (Red) at (Center of (Playable map area)) facing 210.00 degrees
    Set MyHero = (Last created unit)
    Hero - Set (Last created unit) Hero-level to 2, Hide level-up graphics
    Hero - Learn skill for (Last created unit): Undead Dreadlord - Vampiric Aura
    Hero - Learn skill for (Last created unit): Undead Dreadlord - Sleep

    Keep in mind you can store reals, integers, booleans, and strings in the map cache as well.