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.
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.
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.
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…
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.