ArcGIS Blog

Developers

ArcGIS Maps SDK for Unity

Announcing ArcGIS Maps SDK 1.6 for Unity

By Mike Branscomb and Rex Hansen and Shimona Lahiri

The latest version of ArcGIS Maps SDK for Unity simplifies aligning your game objects with the terrain surface, enables fully immersive experiences with Apple Vision Pro, includes even more basemap styles, and adds support for Unity 6!

Game object surface placement

You can now simplify how you set the altitude of game objects in your scene by choosing to place them on the ground or position them relative to the ground, with their height  automatically calculated based on the elevation surface you choose for your terrain. Previously, to position your game objects in relation to the ground surface, you had to perform individual raycast operations to determine the elevation value for each object and explicitly set the Z value. By eliminating the need for individual raycast calls, surface placement improves efficiency and speeds up the placement process. The new surface placement feature on the ArcGIS Location component is optimized for high performance and is especially valuable in projects where many game objects need to be positioned simultaneously in real-time. Surface placement functionality automatically updates as elevation Levels of Detail (LOD) load or update, ensuring that objects maintain their specified altitude relative to the ground.

The three options for setting altitude are:

  • On the Ground: Places objects directly on the terrain surface. It ensures that the object is aligned with the ground, making it ideal for placing buildings, trees, or vehicles that need to sit directly on the terrain.
  • At an Absolute Height: Sets objects at a constant, fixed height above sea level. For example you can position an airplane at 35,000 feet, regardless of the underlying terrain.
  • Relative to the Ground: Positions objects at a certain, known height above the terrain surface. This is useful for objects that represent real-world objects such as signs, lights, or security cameras that are built at a consistent height off the ground.

The Surface Placement value for an ArcGIS Location instance attached to a game object can be  defined using the low-code/no-code Unity Editor integration by setting the property in the Inspector window or set in code with the C# API using ArcGISSurfacePlacementMode.

Unity ArcGIS Location Component Surface Placement
Unity ArcGIS Location Component Surface Placement

Apple Vision Pro

You can now create extended reality (XR) solutions for the Apple Vision Pro, with support for the Apple visionOS platform. Utilizing the familiar GIS data layers, functionality, and low-code/no-code tools already available in the Unity Maps SDK, you can build new apps and experiences that bring real-world geospatial data into the spatial computing world.  This release supports windows in mixed and progressive immersion experiences and windows and volumes in fully immersive experiences.  Future releases will enable support for volumes with mixed and progressive immersion styles.

Basemap styles

Whether you’re utilizing the low-code/no-code tools integrated with the Unity Editor or developing with the C# API, you now have access to Esri’s latest basemap styles through the ArcGIS Basemap Styles service. This enhancement not only updates the styles available today but also lays the foundation for future features such as localized language place names and different views of disputed boundaries. These enhancements will enrich user experiences by offering more relevant and inclusive map data, thereby boosting the functionality and versatility of your apps.

Unity Basemap Gallery
Basemap Gallery in Unity Maps SDK

Unity editor support

This release allows you to leverage the latest development tools from Unity with support for the new Unity 6 release. Our Unity Maps SDK lifecycle supports the current version of Unity and one previous Long Term Support (LTS) release. Consequently, with this release, we continue to support your development with Unity 2022.3 (LTS), but have removed support for the previous Unity 2021 LTS.

Real-time weather sample

We are also excited to announce the addition of a new real-time weather sample to the Unity Maps SDK samples repository on GitHub. This sample shows you how to query a feature service to retrieve current weather conditions for weather station locations across the U.S. The sample utilizes a range of Unity VFX visual effects to display the current weather conditions at each location and audio clips matching the weather conditions are sourced from SoundsForYou on the Pixabay community.

Unity Maps SDK real-time weather sample
Unity Maps SDK real-time weather sample

Building filter sample

A new building filter sample is now available, demonstrating how to toggle the visibility of different levels, construction phases, disciplines, and categories within a building scene layer. This functionality enables users to explore building scene layers and filter based on various criteria, enhancing their ability to analyze and visualize complex building data often used in BIM workflows.

You can find the sample code and further details in the following resources:

Feel free to explore and integrate this sample into your projects to make the most of building scene layer filtering!

Building Filter Sample in the Maps SDK for Unity
Building Filter Sample in the Maps SDK for Unity

Download and get started

To get the latest version of ArcGIS Maps SDK for Unity, visit the Get Started page to learn how to add it to your Unity projects. 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