ArcGIS Blog

Announcements

Developers

Announcing ArcGIS Maps SDK 2.0 for Unity

By Mike Branscomb and Rex Hansen and Shimona Lahiri

This release of ArcGIS Maps SDK for Unity 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 Unity 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.

3D Tiles layer of Utrecht, generated with ArcGIS Reality.
3D Tiles layer of Utrecht, generated with ArcGIS Reality. Copyright © 2021 Kavel10/ ESRI. All rights reserved.

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 Unity 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 Unity Editor integration. The user interface has been enhanced to simplify the setup of ArcGIS portal connections within the ArcGIS Map Creator 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 Unity Editor through the Map Creator UI dialog and components in the Inspector 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 Unity 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 Creator 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 Map Creator 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 ArcGIS Maps SDK for Unity, 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 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, users 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.

Changing elevation exaggeration with the Map Creator in Unity.
Changing elevation exaggeration with the Map Creator in Unity.

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.

3D Viewshed analysis example in Unity.
3D Viewshed analysis example utilizing new material property on elevation surface.

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

Overview map sample built with Unity.
Overview map sample utilizing new support for multiple maps in a scene.

Unity Editor light theme

This release introduces support for the Unity Editor Light theme in the Map Creator UI. This enhancement aligns the Map Creator UI with the Unity Editor theme setting, providing a seamless and visually consistent experience. You can now toggle between Light and Dark themes according to your preferences, ensuring a comfortable and personalized development environment for creating awesome ArcGIS immersive apps! Additionally, the Light theme displays well when presenting, making it easier to showcase your work to both colleagues and users.

Unity Editor in Light Theme.
Map Creator support for the Unity Editor Light Theme.

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

Get the latest version from the Unity Asset Store or to learn more about ArcGIS Maps SDK for Unity 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