ArcGIS Maps SDK for Unreal Engine

Introducing ArcGIS Maps SDK for Unreal Engine

ArcGIS Maps SDK for Unreal Engine brings direct ArcGIS integration to developers working with Epic Games’ advanced 3D creation tool, Unreal Engine 5.

Over the last few years, the technologies originally developed for building gaming experiences have evolved into robust, real-time 3D development tools that embrace a broad range of industries. Developers are using these tools to build whole new classes of applications. Sometimes referred to as serious games, or immersive experiences, these sophisticated, realistic, intuitive, and engaging visual approaches to working with real-world data are taking off, exposing value in existing datasets that might previously have been hard to tap into.

To ease working with real-world data in game engines, Esri began work on two ArcGIS Maps SDKs in 2019 with the goal to deliver a premium set of developer tools that can bring data from ArcGIS directly into game engine development environments. We started with a beta program and in 2020 expanded to a pre-release of the SDKs, both of which were highly successful with over 6,600 registrations to date. The launch of ArcGIS Maps SDK for Unreal Engine delivers ArcGIS integration into Unreal Engine 5 from Epic Games.

Why game engines?

For many years now the gaming industry has been in a race to build the most photorealistic and immersive games, incorporating realistic interaction models, atmospherics, physics, etc. The fierce competition has resulted in software and hardware technologies that deliver high performance experiences on a variety of devices including VR headsets, AR devices, desktops, phones, and tablets.

San Francisco with demographic data overlay, in the Unreal Engine editor
San Francisco textured buildings with demographic data, global imagery, and elevation, viewed from within the Unreal Engine editor.

Developers are realizing that these software and hardware technologies can be used to deliver new classes of applications across a broad range of industries; applications like fully immersive simulations, collaborative planning tools, or hyper-realistic visualizations of assets. Developers can build world-scale AR, tabletop AR, and VR experiences for industries as diverse as AEC (Architecture, Engineering and Construction), Utilities, Transportation, Defense, Public Safety, Natural Resources, and Education to name just a few.

ArcGIS Maps SDK for Unreal Engine continues our commitment to providing the best suite of tools possible for developers. Developers can use game engines like Unreal Engine 5 to create new classes of applications around their data, creating immersive ways to visualize and interact with real-world GIS assets that complement their current workflows.

Euan Cameron CTO, Developer Technology at Esri

Digital twins, the metaverse, and GIS

Powerful as these new technologies are, they are just one part of the puzzle. Building these new types of applications and solutions also involves working with digital twins. A digital twin is the result of modeling the real world, which is something that ArcGIS users have been doing for years, and the term is a succinct and useful shorthand for the GIS and location data that powers these new applications. For those looking to build applications in or around the “metaverse”, while the term is still a bit of a buzzword and can be used to mean a range of things, you’ll find a digital twin involved at the core of most definitions.

With precise real-world data and rich geospatial analysis, from global scale to local scale, whether crowd sourced or authoritatively surveyed, whether securely stored or available to the public, ArcGIS is a natural foundation for digital twin solutions and ArcGIS Maps SDK for Unreal Engine integrates ArcGIS content and capabilities directly into the Unreal Engine real-time 3D creator tools.

Key features

The first release of ArcGIS Maps SDK for Unreal Engine includes support for fundamental ArcGIS content types and capabilities that we’ll be building upon over time. Let’s take a look at what’s included in version 1.0…

Basemaps
Before you can display real-world data, you need to provide a real-world context for it. In a 3D environment that means both basemaps and elevation.

For those new to ArcGIS, a basemap depicts relatively static features like streets, buildings, facilities, landscape details, etc. to provide a context for other data. In the first release of the ArcGIS Maps SDKs, this can be an image tile layer, like Esri’s global imagery service.

Elevation
The world is not flat, and a 3D experience needs terrain elevation for added realism. ArcGIS Maps SDK for Unreal Engine allows you to specify an elevation source to help add a 3D context to your app. Esri provides a global elevation service that you can consume to bring real world elevation directly into Unreal Engine.

Grand Canyon at sunset showing imagery basemaps and elevation
Combining Esri's global imagery and elevation services directly in Unreal Engine.

Data and layers
With the basemap and elevation contexts taken care of, you’ll want to add data.

A key concept to geospatial data in ArcGIS is a layer. Each layer is a reference to and visualization of a particular data source. The initial release of ArcGIS Maps SDK for Unreal Engine focuses on two core 3D layer types that are part of the OGC indexed 3D scene layers (I3S) specification: 3D object scene layer, and integrated mesh scene layer.

A 3D object scene layer represents individual assets or structures and includes complex 3D representations with textures, as well as attribute information about those structures. Attributes on a 3D object can be used to determine how that object is displayed in real time. For example, a single 3D object scene layer of buildings could be stylized to display buildings according to the type of zoning restriction that applies to the building, or the year that it was built.

3D Object layer with textures of Rotterdam buildings
Detailed 3D Object scene layer of Rotterdam buildings complete with textures, overlaid on Esri's global imagery basemap.

Integrated mesh scene layers combine both imagery and surface models to provide a single representation of potentially many structures, like a whole section of a city including buildings, streets, trees, benches, rivers, roads, tunnels, all merged into one continuous surface at publication time. Integrated meshes offer a great way to represent specific areas of data in your 3D map and are optimized in the I3S specification to work well at multiple scales, on both desktop and mobile devices.

Integrated mesh displayed in conjunction with imagery and levation
An integrated mesh of Girona, Spain, overlaid on top of global imagery and elevation.

Image tile layers are also supported. These are useful for the basemap, but you can also add additional image tile layers to your 3D scene as needed.

In ArcGIS Maps SDK for Unreal Engine, you can consume and combine multiple layers from multiple sources at the same time to build up an even richer experience, using a basemap and elevation for context and added realism.

Online or offline
All of this data can be accessed from services provided by ArcGIS Platform or ArcGIS Online, or from on-premise ArcGIS Enterprise services. Developers who are already using ArcGIS can bring their existing services into Unreal Engine, while those who are new to ArcGIS can create a free ArcGIS Developer account to access existing location services and to create and manage their own.

Data can also be read from packages stored locally on your device. Basemaps and elevation data can be read from tile packages (TPKs and TPKXs), and 3D object or integrated mesh scene layers can be read from scene layer packages (SLPKs). These packages can be created with a variety of ArcGIS tools, such as ArcGIS Pro, and installed on your device for use in your application. You can even use these packages to build applications that never need a network connection.

Local and global coordinates
Maps in ArcGIS Maps SDK for Unreal Engine can be either global, using any geographic coordinate system (or Web Mercator), or local, using coordinate systems that are fine-tuned to specific geographic areas. Local coordinate systems can simplify geographic data management for a localized area (such as a state or a country) and support for local coordinate systems is key for many ArcGIS customers.

Local scene of San Francisco
A local scene of San Francisco, showing a clipped view of global imagery, elevation, textured 3D Objects, and demographic data.

Identifying data
3D object and integrated mesh scene layers provide a visual representation of real-world data, but those visual representations typically relate to source data of some sort. Perhaps there is building metadata related to the 3D object that’s on screen. ArcGIS Maps SDK for Unreal Engine allows you to hit test 3D object and integrated mesh layers to get an identifier to the underlying source data. That includes a feature ID and layer ID that lets you reference back to other metadata about the underlying real-world feature.

A full SDK story
ArcGIS Maps SDK for Unreal Engine is more than just the API that you integrate into your project. It includes a comprehensive conceptual guide and API reference, tutorials, and an open source repository of samples to help you get started.

ArcGIS Maps SDK for Unreal Engine homepage
SDK documentation with conceptual guides, API reference, tutorials, samples, and more.

There’s also a dedicated space on Esri Community for ArcGIS Maps SDK developers to share questions and answers, and of course Esri’s support services are also available.

Partnership with Epic Games

Esri and Epic Games began working together early in the development of the ArcGIS Maps SDK for Unreal Engine. One of the key outcomes of that collaboration has been Epic Games’ development of the Georeferencing plugin for Unreal Engine which led to full support in Unreal Engine 5 for double-precision coordinates and the ability to accurately place geographic data on a global scale.

At Epic, we’re committed to building the most open and advanced real-time 3D creation tool, freeing up digital creators to leverage Unreal Engine’s capabilities as part of their existing content creation pipeline. The work done by the ESRI team in this collaboration will allow the entire GeoInt community to leverage the rich diversity of created content existing in the ArcGIS ecosystem, and we’re excited to see how the release of the ArcGIS Maps SDK plugin for Unreal Engine will create virtually unlimited immersive, interactive, synthetic environments in Unreal Engine 5.

Sébastien Lozé Unreal Engine Simulations Business Director, Epic Games

At Esri we are not only excited to unlock the power of the Unreal Engine real-time 3D creation tools for our existing customers, but also to see what the ecosystem of Unreal Engine developers will build with the real-world data and location services that ArcGIS delivers.

Early adopter success

The beta and pre-release programs have been hugely successful. They’ve enabled us to engage with thousands of developers to understand their use cases, to help inform our road map, and to fine tune the development experience. Let’s take a look at one of these early adopters…

Houseal Lavigne, an Esri Gold Partner, is an innovative company that uses GIS data and custom-built geospatial apps and solutions to help communities solve complex problems. Recently, they were hired by the Village of Glen Ellyn, Illinois, a Chicago suburban community, to build an application to assist the community in evaluating development proposals.

Glenn Ellyn proposed development
A proposed development shown using Houseal Lavigne’s Immersive Development Viewer.

To assist the Village of Glen Ellyn in evaluating development projects that maintain the established and desirable character of its downtown main street, Houseal Lavigne built an immersive videogame-like application with Unreal Engine. The app, named the Immersive Development Viewer, allows members of the community to see if a proposal fits into the existing context of their cherished downtown by placing themselves directly into the 3D environment and experiencing potential change firsthand. The app uses ArcGIS Maps SDK for Unreal Engine to create an immersive environment based on 3D scene layers. Using the SDK simplifies application updates by using ArcGIS data sources directly.

The SDK dynamically streams in the built environment from ArcGIS Online. When the area changes, the client can publish a new scene layer and the application will update itself. In essence, the SDK unifies the world of the GIS with the immersive and beautiful world of game engines.

It used to be that when we would talk to clients and client communities about change, we would show it on a map. But expectations have changed. Like everyone else, our clients and their constituents have been immersed in video games like Fortnite, and they watch movies shot on sound stages in front of green screens with beautiful 3D worlds drawn in behind the actors. They not only want to see a potential change, but they also want to experience it.

Devin Lavigne Principal and founder, Houseal Lavigne

Glen Ellyn’s Immersive Development Viewer has already been used successfully for 3 different development projects. You can watch a brief presentation by Houseal Lavigne from the Esri Developer Summit here.

This is just the beginning

ArcGIS Maps SDK for Unreal Engine version 1.0 delivers a great foundation for consuming ArcGIS content and integrating with the ArcGIS system from within the Unreal Engine 5 developer environment, and we’re looking forward to being able to include new layer types and capabilities with each new release. Because it’s built on the same robust, high performance core components that underpin the success of the ArcGIS Runtime SDKs, there’s a rich vein of functionality just waiting to be tapped into, such as vector tile layers, point cloud layers, feature support, geocoding, routing, and other analysis tools.

Get started today

Get started with ArcGIS Maps SDK for Unreal Engine today. It’s free to download, develop, test, and deploy with; all you need is a free ArcGIS Developer account (sign up here) or an ArcGIS Online account, then head over to the Get Started page in the SDK documentation.

We can’t wait to see what you build with ArcGIS Maps SDK for Unreal Engine and how you’ll bring the power of ArcGIS and Unreal Engine 5 together.

About the authors

Nick Furness

Nick Furness is a Technical Product Manager for the ArcGIS Runtime SDKs, specializing in the ArcGIS Runtime SDK for iOS. He's spent over 20 years working in the GIS space building projects ranging from small mom-and-pop solutions all the way up to enterprise utility and national government deployments. Nick presents at various Esri Developer Summits, the User Conference, and many other events, almost always talking about something to do with the Runtime SDKs although you might find the odd bit of JavaScript thrown in there.

Connect:

Rex Hansen

Rex Hansen is a Product Manager for the ArcGIS Runtime SDKs and ArcGIS Maps SDKs. He has over 25 years of experience in GIS, spatial analytics, and computer mapping. Currently, he guides the development of native technologies in the GIS industry to use authoritative geospatial content and analysis in offline workflows, photorealistic experiences, and immersive, extended reality solutions.

Connect:
0 Comments
Inline Feedbacks
View all comments

Next Article

Managing Electric Networks: Updating Subnetworks

Read this article