Insurgency: Sandstorm

Insurgency: Sandstorm

Create and share custom maps, gamemodes and mutators for Insurgency: Sandstorm.

Learn more and find the game on Steam, Homepage, New World Interactive, Community Discord.

Quick Start Mapping Guide

This quick start guide walks you through creating your first map.

4 comments

Posted by on


Introduction

The goal of this quick start guide is to learn what you’ll need to make a functional map for Insurgency Sandstorm and how to publish it online for others to download.

It is in no way the intention to teach anyone how to use the UE4 Editor, for that you can refer to the official Unreal Engine 4 Documentation (Docs.unrealengine.com) or check out numerous tutorials available on the internet. You can download the Insurgency: Sandstorm level editor at sandstorm.game/editor

Important notes

Furthermore, it’s important to notice that the minimum and recommended system requirements for Insurgency Sandstorm don’t apply to the editor, especially when working on maps the same size as official maps.

We recommend a high end system with at least 16 GB of RAM and a powerful CPU.

If you’re looking to publish and share your creations, start with setting up your Mod or Map first before you start building. This will ensure that all the files you’ll create are already in the folder that is used to package and upload everything and saves you the hassle of moving them around later.

Lastly, the example maps can be found in: “ExampleContent Content/Maps/ExampleMap/”.

Create a Mod

Mod toolbar

Go into the editor and notice these three buttons in the toolbar. Click on “Create Mod”.

Create Mod dialog

A new window pops up where you can enter a name for your mod and a few details. The only important thing here is to create a new folder that will contain the map files for your Mod or Map. Enter “Yourmapname” in the box to the right of the folder location.

You can choose to fill out the other fields, but they’re not required.

Hit “Create Mod” and a message saying “‘Yourmapname’ was created successfully” appears. From here you can work on your mod outside the game's content.

Modular Meshes

These are the building blocks of every Sandstorm level, ranging from floors and walls to stairs, arches and everything in between. Using the Content Browser, you can find them in Environment > Props > Modular.

Modular Meshes in Content Browser

Sublevels

The persistent level acts like a parent level to any sublevels you might create. It can not be deleted. The ‘Levels’ window shows an overview of the persistent and any sublevels that are present in the map. You can open it by clicking Levels in the Window tab. In this window you can create, load, delete and edit sublevels.

Levels option highlighted in the Window menu

Sublevels are useful for a variety of applications, but here we’ll cover their use in regards to loading different game modes on the same map. Let’s say you want to add the Firefight game mode to your map. The first step is to create a new empty sublevel and rename it to “Yourmapname_Firefight”. If you’re planning to add multiple Firefight scenario’s you can add a suffix like “_West” or “_East”.

Creating a new sublevel from the Levels window

From here, you'll be presented a template to create your level with. For sublevels, you will want to select the "Empty Level" option.

New Level window

This sublevel will contain every actor that is needed to make the Firefight game mode work, such as spawn zones, objectives, restricted areas, etc. Since there can be multiple game modes on one map, this sublevel doesn’t need to be loaded by default. You’ll have to make sure the streaming method of the sublevel is set to Blueprint instead of Always Loaded. Since this is the default setting, you don’t have to change it, but it’s good to be aware of.

Changing streaming method of a level

Game Modes

Now we can move on to adding a game mode to the map. Make sure the correct sublevel is active. In this guide we will explain how to add the Firefight game mode. If you’re looking to add other game modes, you can check out the example maps which can be found in “Maps/Examples”.

Spawn Zones

Let’s start with adding spawn areas. Go to whatever location you choose and add 16 Player Start actors.

Player Start actor in toolbar

Make sure to select the top Player Start Actor, as the bottom one is the default Unreal Editor one. Group them together and add a Spawn Zone volume next that completely covers the Player Start actors.

Spawn zone actor placed over player starts

The spawn zones need a name that the Player Start actors can be linked to. Name the one for Security “SZ_Firefight_Team1” and set its Team Id to “0” (Security).

Do the same for the Insurgents and name it “SZ_Firefight_Team2” and set Team Id to “1” (Insurgents).

Example Spawn Zone settings

Now go back to the Player Start actors and disable them, give them the correct Team Id and link them to their corresponding Spawn Zone volume. For example for the Security team, your settings will want to match the image below:

Example spawn zone settings for Security.

To prevent players from getting too close to opponents’ Spawn Zones, we need to add Restricted Area volumes. Add one for each side that covers the spawn area and name it “RA_Firefight_Team1” and “RA_Firefight_Team2” respectively. Configure their Team Id and Linked Spawn Zone like the example below.

Restricted area settings.

Objectives

Firefight requires three objectives, each of them consists of a Capture Zone (CZ) volume and an Objective Capturable (OC). The former indicates the area that players can capture from while the latter represents the location of the objective icon in the HUD. Name the Capture Zone volume “CZ_Firefight_A” and the Objective Capturable “OC_Firefight_A”. In the Objective Capturable’s details, set up the corresponding Capture Zone volume(s).

Objective Capturable settings for Alpha

Now do the same for objective B and C.

Scenario

Next up is creating and configuring the Scenario. In the Content Browser, browse to “Your Plugin Name/Scenarios/Versus”, right-click in an empty space and select “Insurgency > Scenario”.

Select “ScenarioMultiplayer” and click on “Select”. This will create the file, which should be renamed to “Scenario_Yourmapname_Firefight”.

Creating a new scenario.

Now double-click to open it. A Scenario file basically tells the game what to do when a specific scenario is activated. This is where you select the required game mode, sublevel, Spawn Zones, Objective Capturables, etc.

After configuring it should look as below (will vary, depending on the game mode).

Scenario settings (1)

Scenario settings (2)

World Settings

The only thing left before you can jump in-game is adding your newly created game mode to the default scenarios of the map. Go to “World Settings” and add a new element to “Default Scenarios”.

World Settings for Scenario

As Game Mode select “INSFirefightGameMode” and then browse to your scenario file for the Scenario parameter.

Play in Editor

You’ll need to use Play In Editor (PIE) to check out your map ingame. First select the game mode you want to start the map with, which will be Firefight in this case.

PIE Settings

Then make sure ‘Spawn player at …” is set to “Default Player Start”. For this to be selectable the sublevel corresponding to the selected game mode needs to be set to visible.

Enable bots, if preferred, and click “New Editor Window (PIE)”.

This will open the game in a new window. You can access the in-game menu for setting binds etc by pressing N (default key). Pressing ESC will close the PIE window.

Map Overview

To add a working minimap in-game you’ll need to add another Playable Area volume to your Persistent level and rename it “OverviewArea”. This volume will be used as a reference to take the overview picture. So you’ll want to include everything, except inaccessible backdrop areas. To avoid squeezing or stretching of the overview in-game you need to make sure the volume is square in the Z plane.

Overview area scale settings

Overview area in viewport

A Firefight layout will likely not require the full map present on the overview and a Push layout probably will show a significant area. What is shown on the overview can be changed for every game mode individually.

All of these will be based of the main overview volume, so we’re gonna focus on that first, because of this, uncheck “Scenario Area” and change “Playable Area Type” to “Overview Area”.

Overview Area details settings

Now switch the viewport to “Orthographic Top” and the View Mode to “Lit”.

Viewport settings for map overview

The viewport should now look like below.

Map overview viewport

Hide everything that you don’t want to be visible in the overview, like spawn actors, capture zones, reflection spheres, etc.

Now zoom in to a level that you think shows of the map’s components (like buildings and vehicles) in great enough detail for an overview. Then open Viewport Options and select “High Resolution Screenshot…“.

High resolution screenshot option

This will open a control panel with a few settings. You’ll only have to worry about the one at the top: “Screenshot Size Multiplier”. With a factor of 1 it’ll take a screenshot of what is currently visible in the viewport. But you’ll need to capture the whole map, so increase the number until everything is included. This may require a bit of trial and error.

High resolution screenshot dialog

Remember where the screenshot was saved and open the image in an image editor like Photoshop or GIMP. Crop the image to a square, scale it down to 2048x2048 and save it as a PNG file.

Now it’s time to import this image into the UE4 editor. Browse to “Your Plugin Content/UI/Textures” and hit the “Import” button. Browse to wherever you saved the PNG file, import it and rename it to “T_MapOverview_Yourmapname”. Open the file and adjust the following settings: “Compress Without Alpha”, “Mip Gen Settings”, “Texture Group”, “X-axis Tiling Method” and “Y-axis Tiling Method”.

Map overview compression settings

Browse to “Your Plugin Content/UI/Materials” and create a Material Instance there, rename it to “MI_MapOverview_Yourmapname” and open it.

Check the TacticalMapTexture box and browse to the texture file you just created: “T_MapOverview_Yourmapname”.

The Parent parameter should be set to “MI_UI_MapOverview”.

Overview material settings

The final step is to go to “World Settings” and select this Material Instance as the “Tactical Map Material” parameter.

Tactical Map option in World Settings

The main overview is now correctly set up.

For every game mode you have created you can improve the overview by adding an additional Playable Area volume to every game mode’s sublevel. This way you can tell the game which part of the overview should be shown.

Check the “Scenario Area” checkbox for the volume and make sure it is a square in the Z plane.

Publishing

Insurgency: Sandstorm uses mod.io for sharing mods cross platform, so the first thing you need to do is make an account there. It is recommended you use your Steam account to login as this account will be linked to your in-game one.

Mod toolbar

When it’s time to publish and upload your map files. Click on “Share Mod” and a new window will pop up. This is the Mod Manager. It shows your previously uploaded Mods. You can double-click on an entry to view and update it. We’ll focus on adding a new mod now, so click on “New Mod” and another window will pop up.

The only required fields are “Name”, “Summary” and “Preview Image”. The rest is optional, but “Visibility” is obviously a pretty important one. When you’re done, click “Add Mod”. Alternatively, you can create your mod profile from Insurgencysandstorm.mod.io

Mod details editor

There may be a delay between the uploading process completing in the editor and actually updating on the mod.io website. You should get a confirmation email once it does.

Additional Tips

Blueprint Lights

To help light your map, you can make use of the BluePrint Lights that come with the editor. They can be found in “Content/Environment/BluePrints/Lights”. Once placed in the editor, you can alter their Light Type or Light Wattage if needed.

Of course, you can build your own from scratch, but this should help to get you started.

Blueprint lights in content browser

AI Cover Actors

If your map features a co-op mode you can enhance the in-game AI in your map by adding AICoverActors. They help bots with positioning themselves in good spots, holding sightlines, etc.

Placed AI cover actors

Place them around corners and doorways, behind low cover like sandbags and generally near and around points of interest like chokepoints and objectives. Don’t refrain from adding a lot of them, as that will make them less predictable.

This guide only merely touches on the subject of AICoverActors to point out their existence. A more in-depth guide on how to use their full potential might follow later.

Navmesh

First of all, you’ll want to disable autobuilding the navmesh. This will prevent the navmesh from being updated automatically each time you make the slightest of changes in the editor.

Go into Editor Preferences and select “Miscellaneous” below “Level Editor”. Here you can uncheck “Update Navigation Automatically”.

Level editor options for disabling auto navmesh generation

Now you’ll need a Nav Mesh Bounds Volume to define the areas where a navmesh should be built. Depending on the shape of your map, you might need more than one volume to efficiently cover the playable area.

To generate a navmesh, click on “Build” and select “Build Paths”.

Build Paths option

Nav Modifier Volume

Placed nav modifier volume

Whatever is covered by this volume will not get included into the navmesh.

This can be useful for spots that are difficult to navigate for bots or for areas where they’re not supposed to go anyway.

Blocking Volume

Not exactly related to the navmesh itself, but rather accessibility overall. These volumes will block players from passing through them.

Player Dimensions

  • Prone Height: 50 uu
  • Crouch Height: 100 uu
  • Standing Height: 180 uu
  • Max Jump Height: 80 uu
  • Crouch Jump Height: 100 uu
  • Max Vaulting Height: 135 uu

1 uu (Unreal Units) = 1 cm

4 comments

Join the community or sign in with your gaming account to join the conversation:

digitist
digitist @digitist

Is there something weird that happens differently between dedicated servers on linux vs windows platform concerning collision?

[NF]Tazzy
[NF]Tazzy @nftazzy

anyone else having issues loading a previously saved map?? i click on my map landscape file and it crashes and sends error report

WussKraken?
WussKraken? @wusskraken

I started having that issue last week, and it took me a week to find a 'solution'. Instead of opening the main landscape as the persistent level, go to the top right under the Levels window and add existing. Add the main landscape. Then right-click main landscape, select all actors, right-click Persistent Level, and move all actors. Then remove the landscape and save the new persistent level over the landscape. The good news is you can keep working on it, but 1. You have to do this each time you open the mod tools, and 2. You cannot test without crashing. Hopefully the next patch fixes this.

knobby1
knobby1 @knobby1

All I get is http response 422. The mod.io API reference says to be sure to capture the error output so you can figure out what it means, but I see no way to capture it and I can't even Wireshark it because it is https. I've tried many combinations of name/summary/description/image to no avail. Can the share mod widget display the error response somewhere?