ArcGIS Blog

Announcements

Developers

Announcing ArcGIS Maps SDK 2.1 for Unreal Engine

By Mike Branscomb and Rex Hansen and Shimona Lahiri

This release of ArcGIS Maps SDK for Unreal Engine includes visual, performance, and usability improvements that further enhance features introduced with the major 2.0 release earlier this year. Highlights include improved performance for 3D layers, support for lighting on 3D Tiles, and the ability to apply custom materials to any layer type in the SDK.

Custom materials for more 3D layer types

Custom materials can now be applied to even more layer types in our Unreal Engine Maps SDK, with this capability now extended to include integrated mesh scene layers and 3D Tiles layers. The previous 2.0 release extended existing support for custom materials on 3D Object scene layers to include the elevation surface (ArcGISMapElevation) plus image tile layers and vector tile layer types draped on top of the elevation surface. The the addition of the MaterialReference property on ArcGISIntegratedMeshLayer and ArcGISOGC3DTilesLayer types enables developers to change the rendering of more layers in the scene, using materials to highlight specific aspects of the data or customize layer appearance. One of the common use cases for applying custom materials to layers is to support visibility analysis in which areas visible to an observer are assigned one color and areas not visible to the observer are assigned a contrasting color.

Custom material applied to integrated mesh scene layer in Unreal Engine.
Custom material applied to integrated mesh scene layer in Unreal Engine.

Performance boost for 3D layers

3D Tiles layers and 3D Scene layers are open formats designed for high-performance streaming and visualization of large volumes of 3D geographic data with geometry, textures, and attributes representing real-world features and environments. To ensure superior performance it’s crucial to have an efficient data request and loading strategy that is fine-tuned for the hierarchical multi-LoD (level of detail) structure of 3D Tiles and Scene nodes. For this latest release, we revisited our existing optimized data loading strategy and approached from the perspectives of both measurable performance and perceived performance. The result is a much-improved experience for both 3D Tiles layers and 3D Scene layers, with a revised strategy that minimizes the amount of data fetched for a given viewpoint and prioritizes requesting data closer to the camera. So not only does this bring measurably faster load times and lower memory usage, but users will also appreciate faster and smoother visualization and interaction with their layers.

3D Tiles enhancements

The addition of 3D Tiles layers to our Unreal Engine Maps SDK in the previous 2.0 release was a huge step forward for open and interoperable 3D scenes. However, initial support for only unlit materials meant these layers could appear too dark in daytime scenes and too bright in nighttime scenes. The added support for lit materials means 3D Tiles layers now respect lighting setup in the scene, ensuring they are properly illuminated during the day and correctly shaded at night.

3D Tiles layers are often described as containing heterogeneous 3D geospatial datasets, which means they may include multiple data types often used to represent features and environments differently, such as continuous surfaces and discrete 3D features. Within the ArcGIS system, continuous surfaces, generally integrated mesh layers, and discrete 3D features, generally 3D object layers, have some differences in how they behave relative to the ground and whether data within the layer is visible when obscured by other data, also known as occlusion. To enhance the visual integration of 3D Tiles within 3D scenes, when layers are added from an ArcGIS portal, support for a new IntegratedMesh type keyword in the layer metadata helps client apps determine if the layer should be treated as a continuous mesh, such as those from reality capture workflows, or as discrete 3D objects, typically used to represent individual features such as buildings.

Credential Persistence

Persisting credentials reduces the need for users to repeatedly authenticate, creating a smoother experience across application sessions. To enable developers to retrieve user credentials and persist in secure storage, OAuth user credentials can now be serialized to and from JSON. The SDK doesn’t provide or mandate any specific secure storage mechanism, and therefore we recommend considering options such as KeyStore on Android or Keychain on iOS.

Map Reload

When developers are adding or exploring different basemap and elevation layer options, these may have a different spatial reference than the current map. Tiled basemap layers and elevation layers cannot be reprojected between spatial references, and therefore the Map must be created in the same spatial reference as these layers. In this release we’ve added a new Reload Map button on the Map tab of the ArcGIS Map mode to enable easy reload of the map to immediately reflect any changes made to the spatial reference.

Reload Map Button in the Unreal Engine Maps SDK ArcGIS Map mode UI.
Reload Map Button in the Unreal Engine Maps SDK ArcGIS Map mode UI.

Open Basemap style additions

The basemap gallery UI and basemap styles API enumeration have been updated with Esri’s new Open basemap styles which are based on Overture Maps Data. Meanwhile, Esri’s hosted OpenStreetMap (OSM) basemap content is in mature support and will no longer be updated, and so the enumeration values for the old OSM services are deprecated and will be removed in a future release.

Support for Android 16 KB page sizes

The Unreal Engine Maps SDK now supports Android devices and emulators that are configured to use a memory page size of 16 KB.

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