Release notes

Version 1.6.0 - August, 2024.

This page provides details about enhancements, deprecations, resolved issues, and known issues in the 1.6 release of ArcGIS Maps SDK for Unity.

Enhancements

This section describes new features and improvements (what's new).

VisionOS support

You can now develop on visionOS with ArcGIS Maps SDK for Unity (with Unity 2022.3.23 or higher and Unity 6). visionOS is the operating system that powers Apple Vision Pro. Use visionOS with familiar tools and technologies to build immersive apps and games for spatial computing.

Surface placement support

The new surface placement functionality enhances the ability to specify the altitude of any object in relation to the ground. This feature offers three primary options for setting the altitude:

  1. On the Ground: This option allows you to place an object directly on the terrain surface. It ensures that the object is aligned with the ground, making it ideal for placing buildings, trees, or other structures that need to sit directly on the terrain.
  2. At an Absolute Height: This option lets you set an object at a specific, fixed height above sea level. For example, if you want to place a drone at an altitude of 100 meters, you can specify this absolute height, and the object will be positioned exactly 100 meters above sea level, regardless of the terrain's elevation below it.
  3. Relative to the Ground: This option allows you to place an object at a height relative to the terrain's surface. For instance, if you specify a relative height of 10 meters, the object will be positioned 10 meters above the terrain's elevation at that point. This is useful for placing objects like signs or lights that need to maintain a consistent height above the ground, even as the terrain elevation changes.

The surface placement feature also has several advantages and is designed for high performance, allowing for efficient placement of objects within a 3D environment. This means that you can quickly and accurately position 3D assets without sacrificing performance. High-performance placement is particularly beneficial in large-scale projects where numerous objects need to be positioned. The optimized placement process ensures that even with a high number of assets, the system remains responsive and efficient. With surface placement, you can avoid the need to make individual raycast calls for each asset. Raycasting involves casting a virtual ray into the scene to detect collisions or intersections with other objects. By eliminating the need for individual raycast calls, surface placement improves efficiency and speeds up the placement process. The surface placement functionality automatically updates as the Level of Detail (LOD) models load or update. LOD models are different versions of an object that are displayed based on the viewer's distance from the object. As the LODs load or update, the surface placement feature ensures that the objects maintain their specified altitude in relation to the ground.

Basemap styles service update

Default basemaps have been updated to use Esri's basemap styles service. The basemap styles service provides access to all the existing styled basemaps plus four new styles: Human Geography, Human Geography Dark, OSM Blueprint, and Outdoor. The basemap styles service will add additional functionality, such as localized place labels and more place locations. This will be available through the SDK in a future release.

C# API

  • ArcGISElevationMode enum value has been added to support different modes of elevation.
  • ArcGISElevationMonitor class has been added to monitor elevation changes at a specific position.
  • ArcGISElevationMonitorPositionChangedEvent event has been added so that when the elevation changes at a specific position, a callback is triggered.
  • ArcGISElevationProvider class has been added to manage the registration of elevation position updates.

Components

  • The layout of Position and Rotation settings on ArcGIS Location Component has been changed from horizontal to vertical for better readability.
  • The surface placement option has been added to the ArcGIS Location Component.

Map Creator UI

  • An Enable All checkbox is added under the Layers tab to allow users to select all available layers.
  • The Map Creator UI from the Unity main menu bar has been relocated to Tools -> ArcGIS Maps SDK -> Map Creator.
  • Basemap gallery under the Basemap tab has been updated to accommodate the v2 basemap styles update.

Deprecations

This section lists OS and framework deprecation information.

OS and framework deprecations

  • iOS/iPadOS 15 is no longer supported. A minimum of iOS/iPadOS 16 is now required.
  • macOS Monterey (version 12) is no longer supported. A minimum of macOS Ventura (version 13) is now required.
  • Support for the development of Universal Windows Platform (UWP) apps for Windows 10+ has been removed. The SDK continues to support UWP app development for the Microsoft HoloLens 2 device on ARM64.

Issues resolved

  • Setting the parent group layer opacity before the layer is loaded does not affect the child layer opacity.

    Summary: Changing the group layer opacity before the layer is loaded does not affect the opacities of its child layers (e.g. when the child layer initial opacity is 1.0, setting the group layer initial opacity to 0.5 does not update the child layer opacity to 0.5).

  • Error messages display in the Unity console after installing the SDK plugin.

    Summary: An error message of [fileanme] has no meta file, but it's in an immutable folder. The asset will be ignored displays in the Unity Console after adding the SDK plugin to the Unity project with Unity version 2021.3.22 or below.

  • Slower loading speed for building scene layer local packages (.slpk)

    Summary: Loading a building scene layer from a scene layer package (.slpk) is extremely slow when compared to the same data via an online service.

  • Changing building scene layer opacity doesn't apply in play mode

    Summary: After you change the building scene layer opacity and hit play, the opacity value gets lost.

  • Plugin samples can't be imported into a Unity project if the ArcGIS Maps SDK for Unity plugin is downloaded from the Unity Asset Store.

    Summary: When the plugin is downloaded from the Unity Asset Store, users can't import the plugin sample to their Unity projects when the "Import" button is clicked.

Known issues

  • BUG-000169955: Changes on the component not reflected in the Map Creator UI.

    Summary: After making changes to the component, the Map Creator UI does not automatically update with the new values.

    Workaround: Click a different tab in the Map Creator UI to pull the new values from the component.

  • Question on Esri Community: Integrated mesh scene layer behind terrain relief is rendered with URP.

    Summary: When an integrated mesh scene layer is behind terrain such as behind a mountain, the layer is visible.

    Workaround: No workaround available.

  • BUG-000169956: Custom basemaps disappear from the basemap gallery after entering the play mode.

    Summary: After adding custom basemaps from the Map Creator UI, click play once removes all custom basemaps that are not currently selected.

    Workaround: No workaround available.

  • BUG-000169776: Custom basemap name will be lost after clicking play.

    Summary: The name for the custom basemap that is added from the Map Creator UI is automatically changed to User Basemap after clicking play.

    Workaround: No workaround available.

  • BUG-000169957: Local file packages cannot be added from the ArcGIS Map component using the ellipsis menu (three dots icon).

    Summary: Adding local file packages from the ArcGIS Map component using the ellipsis menu does not add the file path to the Source field, and an InvalidOperationException: Stack empty message is logged in the Unity Console.

    Workaround: Set the file path manually in the Source field. For example: C:/Users/my_username/my_folder/example.slpk.

  • Question on Esri Community: Collider offsets in rendered OSM 3D buildings.

    Summary: The collision mesh is not properly aligned with the corresponding rendered OSM 3D building, which can result in inaccurate collision detection or unexpected behavior when interacting with the 3D environment.

    Workaround: No workaround available.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.