UE Plugin

Map Configurations

Attention: For UE version 4.27+, check here.

Overview

The COALA Plugin comes with a Blueprint called BP_Coala. Each map created with this Plugin should have a child of this blueprint, e.g. for the Paper_map it is the BP_Coala_ChildMap2.

This Blueprint contains all configurable aspects of the map itself, except for the weather, which has its own Blueprint.

World Outliner Hierarchy Order

In play mode each Area is created as its own object. All objects that are spawned within that Area are collected under this object. Take a look at the World Outliner in play mode to see the hierarchy of it.

CoalaAreaActor_area (the name also includes the Area index)

cells (basically the terrain)

waters (all water shapes are grouped here)

buildings (contains all buildings - depending on your configuration the meshes could be merged or independent for each building)

pois (all Points Of Interest that exist in that area are listed here - not the ones from the Back-end, only your configured POI prefabs)

streets (contains all street types/categories)

decorations (all decorations that have been spawned in that area)

Setup

Demo Mode: Check this option to use a local dump instead of real server responses. If it is not checked, an API key is needed to request data.

Coala Scale: The whole map is scalable to prevent shadow issues, etc. A value of 1 represents real world scale.

Area Load Buffer: This determines how many Areas around the player's Area are loaded in advance. Choose 0 to only have the Area the player is located in. A value of 1 will generate a "ring" of areas around the player's Area, so 9 areas will be loaded in total. A value of 2 creates two "rings" of additional Areas, resulting in 25 Areas loaded, and so on.

In the World Settings tab of your map, you should also find the Coala API Key field. The API key of your COALA project from the COALA backend goes here.

Render Options

Render Water: Check this to generate water meshes at their real-world locations.

Render Buildings: Check this to generate building meshes at their real-world locations.

Render Cells: Check this to generate cells.

Render POIs: Check this to generate POI meshes at their real-world locations.

Render Custom POIs: Check this to generate custom POI meshes at their real-world locations.

Render Streets: Check this to generate street meshes at their real-world locations.

Cells

Combine Cells: Check this to have all Cells of an Area combined into one big mesh (this impacts performance).

Cell Default Render Config: Here you can find the default configurations for Cells to which none of the defined ProjectTags apply.

Render Config Cell: Add a new element here to define a material for a specific ProjectTag defined in the Back-end.

Gametag Names: The name(s) of the ProjectTag(s)

Material: The material that should be applied on Cells with this ProjectTag.

Only if Gametag is highest: Apply the defined Material to a Cell only if the chosen ProjectTag has the highest Weight in this Cell.

Elevation Scale: This define how intense the elevation should be displayed. A value of 0 results in a completely flat terrain.

Buildings

Default building level: Defines how many levels/floors a building should have if there is no information on its actual number of levels.

Combine Meshes: Check this to create one big mesh that contains all adjacent buildings. Otherwise each building is its own mesh (this impacts performance).

Clamp Building Level: Check this to clamp all buildings so that they have the same height.

Height Per Level: The height of each building level/floor in cm.

Create Building Meshes: Choose which parts of a building you want to be created (a combination of foundation, floor, walls, and roof is possible).

Limit Max Building Level To: Limit the amount of levels/floors to a specific value. 

Streets

Street Default Render Config: The default street configuration for Streets with no specific configuration.

Streets Config: Configurations for the various street types. You can add as many as you like.

Types: The street types that the configurations will be applied to. The street types are predefined, you can find an overview of all street type values here.

Width: The street's width in cm.

Material: The material that will be applied to the street types in this configuration.

Water

Outline Width: It is possible to add an outline mesh to your water meshes. A width of 0 results in no outline meshes being created.

Outline Material: The material of the outline mesh.

Material

Material Area Dimension: This is the material of the whole area. As soon as you render cells this won't be visible anymore.

Material Water: The material of the water meshes.

Material Building Floor: The material of the buildings' floor. You do not need one if you are not rendering the floors.

Material Building Wall: The material of the buildings' walls.

Material Building Roof: The material of the buildings' roofs.

Material Building Foundation: The material of the buildings' foundations (when a building is placed on an uneven terrain, a foundation is added beneath the building).

POIs and Custom POIs

POI Configuration: Here you can assign meshes to the POIs defined in the Back-end. The POI names on the left have to match ones in the Back-end.

Custom POI Configuration: Here you can assign meshes to your custom POIs. To create a custom POI in-game in the Papermap, open WI_Player_CoalaChild2 and set the "Button Open Custom POIs Menu" behavior to visible. This brings up a new button in the UI which allows you to create a Custom POI at your position. The custom POI's name has to contain the defined name (the default name is "test"). 

(Tip: Check the Step-by-step instruction section here for more info on how to enable this button)

COALA Meshes

Water Z Offset: To prevent objects from overlapping / z-fighting, you can move the different objects on their Z axis.

Street Z Offset: To prevent objects from overlapping / z-fighting, you can move the different objects on their Z axis.

Cell Z Offset: To prevent objects from overlapping / z-fighting, you can move the different objects on their Z axis.

Dev

Render Area Dimensions: Check this to render the Area dimensions (this is what lies beneath the Cells).

Player Editor Start Lon: The longitude value of the player's starting position.

Player Editor Start Lat: The latitude value of the player's starting position.

COALA Area Controller

Player Current Lat: The current latitude value of the player's position in play mode. Changing this manually has no impact.

Player Current Lon: The current latitude value of the player's position in play mode. Changing this manually has no impact.

Decorations

Area Decoration Configuration: Configurations for the various decorations you wish to include. You can add as many as you like.

Gametag: The ProjectTag(s) a Cell needs to have so that the specified decoration can spawn on it.

Use At: Specify here where you want the decoration to spawn (currently only Cells is supported).

Skip If: Choose where you want decorations to not spawn (a combination of waters, streets, and buildings is possible).

Decoration: The mesh of the decoration that should be spawned.

Random Scale Max: The maximum values for the mesh's randomized dimensions.

Random Scale Min: The minimum values for the mesh's randomized dimensions.

Count retries if position is occupied: To spawn the decorations we use line tracers that detect collision with other objects. If the line tracer "hits" an object that is defined in the "Skip If" section, the decoration mesh is not spawned. Here you can define how many times it should shoot those line tracers at random positions within a Cell.

Only if Gametag is highest: Only spawn the decoration if the ProjectTag assigned to it has the highest Weight in this Cell.

Basic

Async Loading: Check this to enable Areas to load asynchronously.

Get Weather Updates: Check this to enable the weather conditions to update dynamically, depending on the real-world weather.

Get Weather Delay: Define here how frequently weather should be updated (in seconds).

Crime Data

Please note, this feature is in an early stage of development and we are constantly including more and more data points. We currently support only the following countries:

The setup in our example scenes is based on crime data in GB.

For more options please create your own project and follow instructions here COALA backend

Force Render All Crimes: Renders all crimes regardless of their unique configuration in Crime Types To Display.

Crime Types To Display: Configure your crime types here. Select a combination of crime types like e. g. 'THEFT' and 'BICYCLE' to configure all instances of bicycle theft. 'Should be Highlighted' will use the HighlighterPrefab when checked. Crime types that are not configured will not be rendered. To ignore this setting and show all crimes, check Force Render All Crimes. Beware that the 'AREA' type will be ignored.

Highlighter Blueprint: Blueprint used to highlight a crime type combination if specified in Crime Types To Display.

Default Crime Pin Blueprint: Set the default Blueprint to be used when no Blueprint is specified in a crime type combination in Crime Types To Display.

Heat Map Type: You can select here if and how you want to display your Crime heatmap. 'None' disables the heatmap.

Influence: This value determines how far the Heatmap is influenced by one Crime Point.

Weight Factor: This value determines how much a Crime Point influences its surrounding heatmap tokens.

Weight Threshold: Set the minimum Weight for HeatMapTokens to be displayed. If you want to display all tokens, set this value to -1.

Pillar Scale: This value is only relevant when Heat Map Type is set to 'Pillar' and determines how the height of the Heatmap's tokens scales.

Pillar Token Blueprint: This Blueprint will be instantiated for each loaded cell if Heat Map Type is set to 'Pillar'. Has to Inherit from BP_HeatmapToken!

Flat Token Blueprint: This blueprint will be instantiated for each loaded cell if Heat Map Type is set to 'Flat'. Has to Inherit from BP_HeatmapToken!

Transportation

(The Transportation data are currently still being gathered and implemented into the server so you will currently not get a response from transportation requests. If you need a data dump for testing purposes, please reach out here: support@thoughtfish.de)

Transportation Type: This determines the transportation data that will be requested. You can request multiple transportation types by flagging multiple ones. To disable the transportation layer, flag "NONE".

Vehicle Blueprint: The blueprint for the actor which is spawned to represent each vehicle of this setting's type. Needs to inherit from BP_Vehicle!

Stop Blueprint: The blueprint for the actor which is spawned to represent each stop of this setting's type. Needs to inherit from  BP_Stop!

Bus Settings: These settings apply to entities of the type "BUS".

Train Settings: These settings apply to entities of the type "TRAIN".

Flight Settings: These settings apply to entities of the type "FLIGHT".

Transportation Data Loading Perimeter: This determines the radius (in meters) around the player's location where transportation data will be considered for rendering. Any route and respective vehicles will be rendered as long as at least one stop is located inside the set range.