ArcGIS Blog

Announcements

Developers

What's New in ArcGIS Maps SDKs for Native Apps 300.1

By Rex Hansen and Mike Branscomb, Nick Furness and Sneha Suresh

ArcGIS Maps SDKs for Native Apps 300.1 delivers a broad range of advancements in mapping, 3D visualization, spatial analysis, and data management, building on the new local scene and on-device analysis capabilities introduced in the 300.0 release earlier this year. Highlights include support for Gaussian splat layers that deliver highly detailed visualizations of built and natural environments, enhanced vector tiled layer performance with support for identify, a point cloud layer API to change display properties on the client, use of shared editing templates in offline workflows, and new high-performance on-device tools for slope, aspect, and map algebra analysis.

Gaussian splat layers

Version 300.1 introduces support for Gaussian splat layers, enabling highly realistic visualization of complex built and natural environments in local scenes. By preserving fine-grained detail, Gaussian splats support high-fidelity digital twins and are well suited for representing intricate infrastructure, including utility power lines, industrial pipelines, construction equipment, and plant facilities. They can also capture transparency and reflections in human-made features, such as windows and metal surfaces, while accurately representing vegetation and other natural elements.

Gaussian splatting is a computer graphics technique that reconstructs a 3D scene from millions of individual Gaussian splats. Each splat is a soft, ellipsoid-shaped element defined by its position, rotation, size, color, and transparency. When rendered together, these elements form a smooth, photorealistic 3D representation.

Gaussian splat layers can reference web layers published to ArcGIS Online or ArcGIS Enterprise for connected workflows. They can also use local Gaussian splat content distributed as a 3D Tiles dataset or archive, supporting offline, secure, and bandwidth-constrained workflows.

Gaussian splat layers are supported in local scenes using the local scene view. In version 300.1, this capability is available for desktop applications built with ArcGIS Maps SDK for .NET and ArcGIS Maps SDK for Qt. Support for mobile applications on Android and iOS across the Native Maps SDKs is planned for a future release.

GSL of Mile High Stadium
Gaussian splat layer. Map Data: Denver Mile High Stadium Drone 3D Gaussian Splat by bconnolly_IVT5.

Local scenes

Local scenes were introduced in the Native Maps SDKs with version 300.0 in April 2026. Version 300.1 introduces a number of enhancements including support for the Places and Labels layer, 3D Tiles, blend modes, and point cloud layers.

Places and Labels layer

The Open 3D Labels layer, a hosted layer containing global place names and labels, is now supported in local scenes. This capability complements existing support for the global Buildings and Trees layers, enabling applications to fully display Esri 3D basemaps in local scenes.

Esri’s hosted 3D labels layer is built using data curated by the Overture Maps Foundation, a collaborative initiative supported by organizations such as Meta, Microsoft, Amazon, TomTom, and Esri. The layer brings together content from multiple sources, including OpenStreetMap and Esri Community Maps, to provide current, comprehensive global labeling data for 3D scenes. Updated monthly to align with the latest Overture releases, the Places and Labels layer gives developers and organizations access to high-quality, up-to-date geographic labels for visualization and analysis.

3D Tiles layers

3D Tiles layers are now supported in local scenes, providing parity with the existing support in the global scenes. This enhancement enables applications to use textured 3D mesh content, including Google Photorealistic 3D Tiles.

3D Tiles layers also support dynamic attribution. Attribution information is determined from the tiles visible in the current viewpoint, then aggregated and sorted into a single string that can be accessed through the GeoView.AttributionText property. By default, this attribution appears in the built-in attribution bar in both the LocalSceneView and SceneView UI controls. If using Google Photorealistic 3D Tiles, ensure you follow Google’s requirements for applications developed with Google’s Map Tiles API. 

Blend modes

Local scenes now render raster tile layers configured with blend modes in a web scene. Blend modes combine layers to create visually compelling scenes or emphasize specific patterns and relationships in the data. This release does not provide an API for changing the blend mode, and group layers are not considered when determining how layers are blended.

Point cloud layer renderers and filters

The 300.1 release adds support for point cloud layers in local scenes, bringing them in line with support already available in global scenes. This release also expands the point cloud layer API (available in local scenes only), giving you greater control over visualization and filtering.

You can customize point cloud layer display using several renderer types. Use a class breaks renderer to symbolize quantitative attributes, a unique value renderer for qualitative text values, a stretch renderer to apply color stops, or an RGB renderer to display RGB values from specified fields. You can also adjust point size and modulate point colors to highlight patterns in the data.

Filters provide additional control over which points are displayed. Use value, return, or bit field filters to show points based on attribute values, LiDAR return types, or bit flags. By combining renderers and filters, you can more easily distinguish and focus on features such as buildings, vegetation, and ground surfaces.

PCL API changing renderers
Changing renderers on a point cloud layer at runtime.

Vector tile layer improvements

This release delivers several enhancements to vector tile layers in the Native Maps SDKs, including faster rendering, reduced memory usage, and greater interactivity.

Vector tile rendering has been significantly optimized, reducing initial layer load times by up to 25% and memory consumption by up to 20%. These improvements help applications start faster and work more efficiently with large vector tile datasets.

The MapView now also supports identify operations on vector tile layers published with feature IDs. Identify results include a new VectorTileFeature object containing the feature’s attributes and associated VectorTileStyleLayerType, as well as geometry for point-based styles such as symbols and circles.

This capability enables feature-level interaction with vector tile content without requiring a separate feature layer. For best performance, publish only the attributes your application needs, since storing excessive attributes can increase tile size and negatively affect rendering speed and memory usage.

Vector Tile Identify
Identifying features in a vector tile layer.

Shared editing template enhancements

This release introduces several enhancements to shared editing templates, delivering more consistent, efficient, and accurate feature-creation workflows across connected and offline applications.

Editing templates define the tools, attributes, and settings used to create features or table records. When templates are stored in a backend data source, such as an enterprise geodatabase, they are known as shared editing templates because they can be used by any feature service that references the same datasets.

Traditional feature templates improve efficiency when creating features within an individual layer. More advanced shared templates extend this capability through group templates, which create multiple features across multiple source layers, and preset templates, which place a collection of features in a consistent arrangement around a specified location. These capabilities reduce repetitive editing tasks and help improve the consistency and accuracy of feature edits.

The primary enhancement in this release enables shared editing templates to be included in offline maps and sync-enabled mobile geodatabases, sometimes referred to as replica geodatabases. A new property on SupportsSharedTemplates on the SyncCapabilities class indicates whether a feature service supports downloading shared templates. When supported, the CreateDefaultGenerateGeodatabaseParametersAsync() method automatically sets the GenerateGeodatabaseParameters class property SyncSharedTemplates to true, allowing mobile applications to seamlessly provide the same guided feature-creation experience whether online or offline.

In addition to offline support, shared templates received several other enhancements with this release:

  • Template-driven feature creation now also supports the creation of radial lines. The CreateFeaturesAsync() method on ServiceGeodatabase can now use a single template to generate multiple connected features from a common origin. This is particularly useful for utility network workflows, such as creating several service connections from a transformer or distribution junction.
  • Geometry builder operations, when used with shared templates, now preserve true-curve geometries when creating offsets, buffers, and intervals. This ensures that assets generated along curved roads, pipelines, water mains, and other infrastructure retain their intended shape.
  • The NumberOfRelatedFeatures property on the FeatureTemplateRelationship class indicates how many related records a template can create. Applications can use this information to more accurately communicate editing results when a single operation creates a feature together with related inspection, maintenance, or asset records.
  • Shared template performance has also been improved through optimized caching of template definitions. This reduces service queries and processing overhead for complex group and preset templates, resulting in faster template loading and a more responsive editing experience.

By reducing duplication and simplifying template management, shared editing templates help organizations establish consistent editing workflows across web, desktop, and mobile applications. Support for using shared templates in offline workflows requires ArcGIS Enterprise 12.1, released in May 2026.

Shared edit templates for radial lines
Using a template to create connected, radial lines from a common origin.

Track geometry changes during edit events

New geometry editor events allow applications to respond dynamically to user edits and changes in edit state, helping you guide users toward valid edits as they work and reducing the need for manual post-processing, further streamlining data capture workflows. The new InteractionPreviewChanged event on GeometryEditor enables your application to react to an ongoing edit before the edit is completed. You can use the information included in the event to provide immediate user feedback, such as:

  • Display a warning as soon as a potential edit crosses a restricted boundary
  • Change symbology when a property of the geometry reaches an invalid value
  • Block or discourage edits that exceed allowed area or length thresholds

This event is particularly valuable when used with the ProgrammaticReticleTool, because the event data and granular reticle control let you enable or disable editing actions in real time as the user performs their feature geometry edits.

Editor interaction events
Using interaction events to inform the user while editing geometry.

New spatial analysis capabilities

This release expands the high-performance analysis APIs introduced in version 300.0 with new mathematical, terrain-analysis, and large-dataset processing capabilities.

Additional map algebra functions broaden the range of mathematical operations available in analysis workflows. These include trigonometric and exponential functions, along with functions such as clamp and remainder.

New slope and aspect functions calculate terrain steepness and the direction a slope faces. The analysis APIs can also now process datasets larger than 2 GB by dividing the work into smaller GPU-queued regions and then combining the outputs into a single result file.

Analysis API Slope and aspect
Calculating slope and aspect on terrain.

Raster pyramids

This release introduces a new RasterPyramids API, giving developers greater control over raster performance by enabling them to manage pyramid overviews for file-based rasters. Pyramid overviews improve display performance for large or highly compressed raster datasets by providing lower-resolution representations that can be rendered more efficiently at smaller scales. The RasterPyramids API enables developers to examine existing pyramid information, including the number of levels, resampling method, compression settings, and storage location. They can also build new pyramid overviews with customizable settings or remove external pyramid files when needed. Pyramid build operations support progress monitoring and cancellation, making it easier to manage large raster processing workflows.

But wait, there’s more…

Enhancements to local scenes, vector tiles, editing workflows, and spatial analysis are among the key additions in this release, but they represent only part of the new and improved functionality. Here are a few more highlights.

For symbology, DictionarySymbolStyle now includes a UISchemaJson property that provides rules and domains for building interfaces to browse and create symbols from Esri dictionaries and web styles. Military symbology has also been enhanced so certain control-measure line symbols can render dynamically from measurement attributes—for example, using a width value to define the real-world spacing of air-corridor lines—with ordered anchor points required and 3D support limited to static rendering mode.

For utility networks, in addition to enhancements to shared editing templates mentioned earlier, this release expands utility network support with named trace functions, compatibility with Utility Network schema version 8 for non-telecom networks, and improved multi-user branch-version workflows. Applications can now identify and label multiple trace calculations more clearly, continue using existing tracing, editing, topology, association, and offline workflows with the latest utility network datasets, and call ServiceGeodatabase.RefreshAsync() to incorporate changes made by other users without recreating the geodatabase or manually managing version moments.

For offline maps, you can now use a geospatial PDF or raster file as a locally referenced basemap, in addition to tile and vector tile packages. The basemap file is specified through ReferenceBasemapFilename in the web map’s offline settings or the OfflineMapTask parameters.

To support more accessible applications, labels in operational layers now scale with the device’s accessibility text-size settings by default across MapView, SceneView, and LocalSceneView, improving readability and consistency with the application interface.

The 300.1 release also includes the following enhancements and updates, as well as numerous performance improvements and bug fixes:

  • Access to sync attachment keywords.
  • Better support for changing view insets.
  • New close method on rasters to release resources.
  • More reliable initial indoor positioning, improved step detection, and lower latency to deliver a faster, more responsive experience.
  • The .NET Maps SDK now requires .NET 10 for building .NET MAUI apps.
  • Support for Linux ARM64 (aarch64) systems with full OpenGL-capable graphics hardware in the Qt Maps SDK.
  • The Flutter Maps SDK adds support for callouts in global and local scenes, geoprocessing, contingent values, improved portal APIs, and ENC support as it moves closer to parity with the other Native Maps SDKs. It also adopts Swift Package Manager for iOS projects as support shifts away from CocoaPods.
  • The Kotlin, Swift and .NET Maps SDKs delivered a wide range of new and improved Toolkit components, with notable updates to FeatureFormView, PopupView, and the UtilityNetworkTrace tool.

And there’s much more that we just don’t have space to cover here, so review the release notes for the .NETFlutterKotlinQt, and Swift SDKs for more details.

Conclusion

To start using 300.1, update your dependencies through your preferred package manager or download the latest SDKs from the Esri Developer site. If you’ve already migrated to the 300.x generation, updating to 300.1 is a straightforward way to gain access to new capabilities across mapping, editing, and raster workflows, the latest performance improvements, and developer productivity enhancements.

We’re excited to continue expanding the ArcGIS Maps SDKs for Native Apps with new functionality that supports modern GIS application development and ongoing migration scenarios from ArcGIS Engine and ArcGIS Local Server. For complete details, see the release notes for the .NETFlutterKotlinQt, and Swift SDKs. As always, if you have questions or feedback, we’re here to help in the Esri Community forums.

Share this article