ArcGIS Blog

Announcements

Developers

Announcing ArcGIS Maps SDK 2.0 for Unreal Engine

By Mike Branscomb and Rex Hansen and Shimona Lahiri

This release of ArcGIS Maps SDK for Unreal Engine is our most comprehensive to date, featuring support for 3D Tiles, enhancements to OAuth 2.0, greater control over horizontal and vertical coordinate systems, elevation exaggeration, and much more. This major release also introduces some breaking changes, particularly affecting the current API for OAuth 2.0 authentication.

3D Tiles

The Unreal Engine Maps SDK now supports 3D Tiles, expanding the seamless integration of 3D geospatial and photorealistic data in your apps, and one of the most requested features from our developer community. In the SDK, 3D Tiles layers function similarly to the existing 3D scene layers, such as integrated mesh and 3D object, enabling you to easily integrate a range of layers and data sources into your apps. Utilize existing tools to visually clip and mask these layers to focus on the most relevant data for your specific area of interest.

Integrated Mesh 3D Tiles of Boston, generated with ArcGIS Reality
Integrated Mesh 3D Tiles of Boston, generated with ArcGIS Reality. Copyright © 2023 Bluesky Geospatial Ltd. / Esri.

3D Tiles layers will align perfectly with your existing layers, because this release introduces support for layers in different vertical coordinate systems, and automatically transforms them into the spatial reference you’ve selected for your map.

Moreover, all layer types in the Unreal Engine Maps SDK, including 3D Tiles, can be used both online and offline. When your app is online, you can stream data from services. When offline, you can utilize local tilesets or tile archives. You also have the flexibility to combine online and on-device sources to meet your specific needs.

OAuth 2.0 authentication enhancements

In this release, we have completely revamped our OAuth 2.0 support by replacing the original implementation with a more comprehensive and robust solution that is already in use by many developers, and their end-users, around the world, through our ArcGIS Maps SDKs for Native Apps.

Additionally, we have redesigned the design-time user experience in our Unreal Editor integration. The user interface has been enhanced to simplify the setup of ArcGIS portal connections within the ArcGIS Map Mode UI. Users can now leverage OAuth 2.0 user authentication to access private content from multiple ArcGIS portals simultaneously. When a user attempts to access a secure resource and the API encounters a credential challenge, the SDK manages the queue of challenges, minimizing the number of repeated credential requests.

The new authentication system is designed to accommodate a wider variety of authentication types in the future, including OAuth 2.0 credentials for app authentication, ArcGIS tokens, and network authentication. Please note that the new authentication API introduced in this major release includes some breaking changes compared to the existing API.

Greater control over horizontal and vertical coordinate systems

Vertical coordinate systems

With this release, we now support multiple vertical coordinate systems, making it easier to combine multiple layers with different spatial reference systems, and ensure they all align perfectly. For instance, this feature enables the visualization of 3D Tiles layers by automatically transforming ellipsoidal altitude values to orthometric values, ensuring everything lines up correctly in your maps. Vertical coordinate systems define the origin for height (or depth) values ensuring that data is spatially located accurately in relation to other data, which is crucial for accurately visualizing and analyzing data. To learn more, check out A Guide to Coordinate Reference Systems for Game Developers by our colleague Luis.

Editor support for setting a map spatial reference

Setting the spatial reference of your map is now supported in the Unreal Editor through the Map Mode UI dialog or components in the Outliner window. While it has always been possible to set the spatial reference of the map using the API, when using the UI the spatial reference was automatically determined by the first layer loaded, usually your basemap. You requested more explicit control in the Unreal Editor integration, and now you can choose your desired spatial reference from a predefined list or specify a custom spatial reference using the Well-Known ID (WKID) format.

 

Editor support for setting a map spatial reference has been added to the Map tab in the Map Mode UI.
Editor support for setting a map spatial reference.

Global 3D building layers in Web Mercator

This release enhances existing support for Esri’s hosted layers of global 3D buildings, enabling you to utilize with these layers in Local map mode in the Web Mercator projected coordinate system. This is the default when using basemaps from the basemap gallery in the ArcGIS Map Mode UI or via the ArcGISBasemapStyle API. As a result, everything will render beautifully while working in the Local map mode with Esri’s hosted global 3D buildings layers, which are in WGS84, alongside Esri’s global elevation layer and basemap styles, both of which are in Web Mercator.

In the April 2024 release of the Unreal Engine Maps SDK, we introduced support for Esri’s global OpenStreetMap 3D Buildings layer, which has gained significant popularity among our game engine developer community as a contextual layer for applications. The original layer was created using the OpenStreetMap Daylight Map Distribution, which is no longer maintained by its original creators. With the existing OSM 3D Buildings layer moving to Mature support, you now have two new layers available for your projects, through the ArcGIS Living Atlas. These include the Open 3D Buildings Layer, based on data from the Overture Maps Foundation, and the Esri 3D Buildings Layer, which features additional, more detailed buildings sourced from Esri commercial partners, Maxar and TomTom, and community contributions. For more information about these new layers see Overture Maps Data in ArcGIS.

Elevation exaggeration

Support for elevation exaggeration has been introduced in this release, enabling developers and their end-users to enhance the visibility of subtle surface variations for better understanding and analysis of terrain features. This feature is especially beneficial for visualizing terrains where the horizontal extent greatly exceeds the vertical elevation range, making elevation differences more prominent. Additionally, you can apply fractional elevation exaggeration, which facilitates the flattening or reduction of surfaces with extreme vertical variations, helping to create a more balanced view of the terrain.

Elevation Exaggeration Performed on Mount Greylock, Massachusetts.
Elevation Exaggeration Performed on Mount Greylock, Massachusetts.

Custom materials on tile layers

Custom materials are now supported on the elevation surface (ArcGISMapElevation), enabling you to colorize basemap tile layers that are draped on top of the elevation surface, and composited, as part of surface mesh rendering. This applies to image tile layers and vector tile layer types, extending existing support for custom materials on 3D Object scene layers, expanding workflows, and the creation of viewshed fans for visibility analyses.

Multiple maps

With this release you can now use multiple maps in a single scene. This feature enables you to display and interact with multiple maps simultaneously, each with its own set of operational layers, basemaps, and viewpoints. You can create and manage these maps through the Map Mode UI or the API. This capability is especially valuable for applications that require side-by-side map comparisons, for example overview maps that provide the user with additional location context, or multiple side-by-side tabletop scenes, as well as for data visualization, comparison, and spatial analysis. Note that the maps are not aware of each other, and there is currently no global memory quota management, which means you will need to use this feature with caution on lower-end devices.

Scene layer loading performance

For 3D scene layers, the SDK now prioritizes loading more detailed data closer to the user, over displaying less detailed data in the distance. This enhancement notably enhances the user experience by improving data loading performance for various types of scene layers, including building scene layers, 3D object scene layers, and integrated mesh scene layers. Scene layers serve as containers for large volumes of 3D geospatial data. The delivery format and persistence model, known as indexed 3D scene layer (I3S), was designed for the rapid streaming and distribution of large 3D content across both online and enterprise systems.

Version 2.0

This major release not only introduces numerous highly anticipated features but also includes OAuth 2.0 enhancements that necessitate some breaking API changes from the previous 1.x versions. For the smoothest upgrade experience, first update your project to version 1.7 and save your project, then proceed to update to version 2.0. By following this sequence, the UI options you have selected will be correctly persisted in the map. For more information see the breaking changes section in the release notes.

Download and get started

To learn more about ArcGIS Maps SDK for Unreal Engine and download the latest version, visit the Esri Developer website. For more details about the enhancements, deprecations, resolved issues, and known issues in this release, refer to the Release Notes.  If you’re new to developing with our SDK, the Get started page also provides helpful resources to kick-start your journey.

Share this article

Subscribe
Notify of
0 Comments
Oldest
Newest
Inline Feedbacks
View all comments