skip to Main Content

Creating your own map

Although WMSK includes real world cartography for countries and provinces, it also provides you with the tools to create your fictional map.

Using the Map Generator

This option included in the Map Editor component generates fully random world maps including country and province borders, city locations, names and required textures (heightmap, watermask, background texture, etc.).

Please refer to the Map Generator section in Map Editor component descriptor for more details.

Exporting and loading provinces color maps

This option does not change physical frontiers but allows you to reassign existing provinces to new countries producing fictional world maps. Using the contextual menu “Export Provinces Color Map” of the Map Editor component, World Map Strategy Kit will produce a texture of 8192×4096 pixels with all provinces in the map.

By recoloring all provinces belonging to the same country using the same color, you can create different province maps and import them at runtime using the ImportProvincesColorMap() method. This method will automatically generate the new countries based on the provinces colors.

Please refer to the Map Editor component for details.

Drawing your map using visual tools (Map Editor)

Please refer to the Map Editor component for details. Using the Map Editor you can:

  • Start a map from scratch and manually draw the frontiers

  • Import the heightmap and textures from an existing Unity terrain (optional)

  • Automatically generate countries and provinces based on a texture color (Territory Importer tool)

  • Edit current borders and cities and even reduce the number of countries and provinces automatically by merging existing countries or provinces.

Creating maps procedurally with code

You can also create a map procedurally (using scripting). Start calling ClearAll(), create a Country object, populate it with Regions (setting the country.regions property) and add the country to the map using CountryAdd. When modifying frontiers, call OptimizeFrontiers() and Redraw() to reflect the changes in map entities on the scene.

Please check demo scene 105 for code example.

Back To Top