Points Of Interest

General

A Point Of Interest simply is a spot in the world. It is exactly defined through its geographical position, not an area, a shape or bounds. Nevertheless, COALA can generate POIs out of shapes if it is needed.

Before you can generate a POI with COALA, you have to define it. Therefore, go to the Points Of Interest menu in the back-end.

(Hint #1: When creating a project in our back-end, select the "PaperMap" template to generate a predefined set of the settings that match the configuration provided with this plugin.)

(Hint #2: You can add CoalaTags to the POI generation to get more complex Point Of Interests. For example, this would allow you to let a "Master Thief Lord" spawn only in bars at midnight between 0 and 4 am. Check out possible CoalaTags on the back-ends help section.)

Custom POIs

A Custom POI is in general the same as a normal Point Of Interest but it allows you to create your own points in the world. Also, it can hold your own data in a "payload". There are two different kinds of custom Points of Interest.

    1. User generated ones

    2. Uploaded by the project owner in the backend

Basic Setup

To use these custom POIs you have to first unlock them for each project you want to use them in.

Like it is shown in the picture you have to "Allow user POIs" by using the checkbox in our back-end. If it is not important to verify each new entry you can use "automatically unlock user POIs" otherwise someone in your project will have to manually unlock each user generated POI.

Tech Design

It is important to understand the design and limitations of custom POIs.

Each Custom POI consists of a name, the coordinates and an optional payload. The name is your ID for each entry so you have to modify it and change it for each player or entry, otherwise the entry with the same name will be updated. In our tests we used it, for example, to combine our own name string with a unique player ID, so each user could only set one of those into the world.

Creating User Generated POIs

Use the “Make Coala Set Custom POI Request” blueprint node to let users send their own POIs to COALA. You need to input a position for the new POI defined by longitude and latitude as well as the name you want to give the new POI.

You can also add a custom payload string which will be sent with this POI whenever it is requested from the server. That way you can add custom data to a POI. Say you want players to be able to build buildings on the map. You can use the custom POI system to share those buildings with other players and add a custom payload to share who the owner of the building is and what level the building has.

Retrieving Custom POIs

Similarly to regular POIs you can set up which Actor should represent a custom POI in the game world in the Details Page of the BP_Coala Actor. The given Actor should inherit from ACoalaCustomPOIActor. ACoalaCustomPOIActor has a public Data field which contains the information associated with that POI including the custom payload.

Tag Suggestions for User Generated POIs

Use the “Make Coala Get Custom POI Suggestions Request” Blueprint node to retrieve a suggested list of tags for a given location. Coala will look up which tags are present in that location and send them back as a list which can then be parsed into an array with the “Parse Custom POI Suggestions Response” node. These tag suggestions can for example be used to name Custom POIs.

Project Generated POIs

In the backend you can add your own POIs by inserting them here:

Possible entries could look like:

test, 2, 3

test, 2.4, 32.4, test

test2, 2.6, 32.4, {"one":1}

Note that the second entry would update the first because they share the same name.

Step by step instruction (CustomPOI system 1.0)

Verify if the UI is visible

We prepared a "ready to use" user interface where you can add a Custom POI on your current location. Additionally, you can retrieve a name suggestion from COALA.

The very first action is to check if the UI element is "visible": Open the "WI_Player_CoalaChild2" widget and look at the "Visibility" field highlighted in the image below.

Click the "add custom poi on my current location" button while the editor is in play mode.

The "Set custom poi" UI appears. Just enter a name/tag for the POI you want to place in the highlighted field below.

As soon you label your point, the "SEND POI DATA" button becomes usable. For this example, we will label it "poi_unreal_wiki". After clicking the button, your custom poi data is sent to the COALA system and immediately available.

To verify if the custom poi is available, check the list for custom poi's available to your project at the coala backend

The current solution modify's the name/tag you entered by the timestamp. Make sure your "custom poi config" exactly matches the label in the backend, otherwise it is not shown.

Step by step instruction (CustomPOI system 2.0)

An improved version of the "CustomPOI" system is currently in development and will significantly increase the usability of this system.