// getting started

Build your first location

GeoScape fetches OpenStreetMap buildings & roads and global elevation for a bounding box, then generates a to-scale Landscape with Nanite buildings and roads. From install to a built city in a few minutes.

Cape Town terrain, buildings and roads generated by GeoScape in Unreal Editor
GeoScape in Unreal Editor, Cape Town. Map data © OpenStreetMap contributors; elevation via AWS Terrain Tiles.

Requirements

Install & enable

1

Get GeoScape from Fab

Purchase GeoScape on Fab with your Epic account. In the Epic Games Launcher, open Unreal Engine → Library → Fab Library, find GeoScape and install it for your supported engine version. Use the same Epic account as your purchase.

2

Enable the plugin

Open your project, go to Edit → Plugins → GeoScape, enable it and restart the editor. Geometry Scripting is enabled as a dependency.

Installing from source? Copy the plugin to YourProject/Plugins/GeoScape/, regenerate Visual Studio project files from the .uproject, then build the Development Editor target before enabling it. Keep a single installed copy of GeoScape to avoid duplicate plugin errors.

Build a location

1

Open a fresh empty level

File → New Level → Empty Level. GeoScape drapes geometry onto the terrain with downward traces, so it needs the Landscape resident, a non–World-Partition level is ideal for the build pass.

2

Open the GeoScape panel

Tools → GeoScape — Real-World City Builder (or Window → GeoScape).

3

Enter a location

Set Center Latitude / Longitude (grab them by right-clicking a spot in Google Maps), an Area Size (km), and Terrain Detail. Tick the layers you want: Terrain, Buildings, Roads.

4

Press Build Location

The progress bar reports each stage. When it finishes, the terrain and city are in your level. Clear removes everything a build generated.

Tip: Start small, a 0.5–2 km area in a dense city center, to see results fast. Larger areas take longer to fetch and build.

Settings

SettingMeaning
Center Latitude / LongitudeWGS84 point the area is centered on (e.g. -33.9249, 18.4241).
Area Size (km)Side length of the square region. Grows the landscape and fetch time.
Terrain Detail (m/vertex)Landscape vertex spacing. Smaller = finer terrain, larger landscape.
Terrain / Buildings / RoadsWhich layers to generate. Any combination.

Blueprint & Python API

Everything the panel does is on the GeoScapeSubsystem editor subsystem.

import unreal
sub = unreal.get_editor_subsystem(unreal.GeoScapeSubsystem)
# latitude, longitude, area_km, terrain_detail_m, terrain, buildings, roads
sub.build_location(-33.9249, 18.4241, 1.0, 4.0, True, True, True)
sub.is_busy()                    # True while a build runs (one at a time)
sub.clear_generated("GeoScape")  # remove generated actors, returns count
// C++
UGeoScapeSubsystem* Sub = GEditor->GetEditorSubsystem<UGeoScapeSubsystem>();
Sub->BuildLocation(40.7128, -74.0060, 2.0);   // Manhattan, 2 km

The build is asynchronous (HTTP fetch) and completes on the game thread, so actors spawn safely. Progress and results are written to the Output Log with a [GeoScape] prefix.

Data sources & bring your own

GeoScape ships pointed at the public OpenStreetMap Overpass API and a global terrain-RGB elevation source. Both are configurable on the build request, so you can use a private mirror or a commercial provider for production and bulk work.

It also parses your own data: a generic GeoJSON FeatureCollection (Polygon/MultiPolygon buildings, LineString/MultiLineString roads) and Overpass JSON. A configurable field mapping tells GeoScape which properties carry height, storeys, width, and lanes, so any provider's schema resolves correctly.

World Partition & HLODs

For large areas, build into a normal level, then run the standard WorldPartitionConvertCommandlet and WorldPartitionHLODsBuilder. Keep the Landscape always-loaded (Is Spatially Loaded = false) so distant terrain stays visible for establishing shots while buildings and roads stream by cell. Nanite handles building/road LOD automatically.

Troubleshooting & support

Need help? Email [email protected] with your engine version, plugin version, coordinates, area size and relevant Output Log messages.

Data licensing

GeoScape is purchased and licensed through Fab. The map data it downloads carries separate source terms:

Respect each service's usage policy and rate limits, the public Overpass API is shared. GeoScape does not redistribute map data; it fetches it at author time to your machine.

Get it on Fab Back to home