We are pleased to announce the pre-release of the ArcGIS Maps SDK for game engines. There are some notable things to get excited about. First, the convergence of real-world GIS and game engine real-time visualization will enable us to create detailed 3D representations of our data. This ultimately means empowerment, through analysis and visuals, over complex projects like digital twins, architectural visualization, and simulation.
Next, users that want to create interactive 3D worlds can now bring geo-accuracy into their games by accessing real-world terrain, imagery, 3D structures and features.
And lastly, the ability to bring these new projects to desktop and mobile platforms, as well as popular XR hardware like Oculus Quest and Microsoft HoloLens.
Convergence of GIS & gaming
A lot has changed for GIS over the last few years. 3D is in more demand, and there is an elevated need to utilize innovative technology to improve the storytelling capability of GIS. We see it quite often now, and several industries are pushing the limits of visualization using new hardware to produce XR solutions.
Hardware like the Microsoft Hololens or Oculus Quest are providing GIS context to construction sites, building layouts, and urban planning. And often game engines are the tools that create these 3D experiences.
Now large projects to emulate our world have been fired up in industries like the AEC and Defense. And much of this is because of the performant visualization capabilities of game engines. The complexity of creating these immersive environments has skyrocketed.
Digital twins are now culminating in the demands of visualization with the need for accurate data infused with 3D assets.
Here at Esri, we recognize all this means a higher complexity for your project’s build process, and we wanted to be a part of the solution. The ArcGIS Maps SDK enables you to take GIS content from the ArcGIS system and push it into both Unity and Unreal.
This means you can leverage powerful Esri tools like ArcGIS Pro and CityEngine with developer workflows in game development to create new worlds with real world accuracy.
Unity and Unreal Engine plugins
We’ve been working hard to provide components that enable GIS in both Unity and Unreal Engine. It’s important to us that the plugins enable you to easily connect Esri data and terrain to your projects. The game engines are a powerful visualization tool, and the ArcGIS Maps SDK plugin for game engines is an ideal way for you to converge the two worlds of GIS and games.
Prior to the pre-release of the ArcGIS Maps SDK, the main pillars of GIS in gaming have been established in the beta releases. Before we discuss enhancements in the pre-release, let’s recap some of the initial feature functionality delivered in the betas…
Unity & Unreal plugins
Local & Global
Both local and global experiences are available. Local scenes support the display of geographic data on a planar surface and can work with different projected coordinate systems – usually appropriate for smaller, local areas.
Global scenes support the display of geographic data on a sphere or globe – usually appropriate for large areas or regions. Other content, game objects, actors, can participate in these scenes, but they must participate within the geographic coordinate space and the camera control established by the ArcGIS Maps SDK.
Single elevation service for terrain
This means an image service hosting LERC encoded tiles with elevation values, which includes ArcGIS Online world elevation services for terrain and bathymetry.
Multiple raster tile layers
This includes a cached map or image data for display, from an ArcGIS tiled map service or a tile package (.tpk, .tpkx). Sources include ArcGIS Online basemaps with imagery, topography, or street data.
New features & improvements
Several new features and improvements have gone into the ArcGIS Maps SDK pre-release. Major enhancements include native geospatial placement, reduced memory consumption, performance improvements, and 3D object scene layer attributes.
Native geospatial placement
To get things right, we’ve worked with both Unity Technologies and Epic Games to deliver native geospatial placement in a game engine. Native geospatial placement is necessary to support accurate placement of objects and intuitive camera control within a scene. With the pre-release, ArcGIS Maps SDK for Unity delivers initial support for native geospatial placement built on the High Precision Framework, which was developed by Unity and integrated within the ArcGIS Maps SDK plugin. Likewise, ArcGIS Maps SDK for Unreal Engine delivers initial support for native geospatial placement built on the Georeferencing plugin for Unreal Engine 4.27. For both game engines, this means that global scenes now use a rebasing system and an ellipsoid model instead of a spherical model, which allows you to render large scale worlds and place GIS data more accurately. It also introduces changes to the relationship between the camera and the GIS scene. Now the camera moves inside the GIS scene instead of the GIS scene and its contents moving towards the camera.
Note, since Unreal Engine’s Georeferencing plugin is only supported for use with Unreal Engine 4.27, the pre-release of ArcGIS Maps SDK for Unreal Engine only supports deployment to desktop platforms (Windows, macOS). To target mobile platforms (iOS, Android) with Unreal Engine, use beta 2 of ArcGIS Maps SDK for Unreal Engine.
3D object scene layer attributes
The ArcGIS Maps SDK provides the ability to work with 3D object scene layer attributes to generate unique and custom shaders. The capability to work with these attributes empowers you to make custom shader networks that are dynamically connected to your GIS data. And depending on how the layer was authored, the cached attributes can have a slew of different information.
Workflows using 3D object scene layer attributes in the game engine enable you to use materials to highlight a building’s use of space, different floors, height, and more. It even enables you to infuse valuable data like dates, building identity, and construction materials. Really anything in the attributes can be leveraged to plus the look of your 3D visualization in the game engine.
Integrated mesh support
Integrated mesh is instrumental to consuming complex regions into a mesh that has a streamlined triangular network with optimized textures. I3S specification version 1.8 is now supported by the ArcGIS Maps SDK. This includes the ability to utilize complex meshes synthesized by I3S in the game engine. Additionally, the Khronos KTX2 standardized Basis Universal Texture format is also supported. This texture format (KTX2) is an efficient lightweight format that reliably distributes GPU textures to diverse platforms and applications.
Additional improvements have been made to enhance scene layer lighting for integrated meshes as well. This lighting improvement provides consistency of shading across the surfaces of I3S meshes imported into the game engine. And it ensures the overall look of I3S is appealing and consistent when viewed in multiple lighting schemes.
To get started, join or log in to the ArcGIS Maps SDK for game engines beta program. The beta program provides access to downloads of the ArcGIS Maps SDK for Unity and Unreal Engine, links to product documentation, and a set of forums to communicate with the ArcGIS Maps SDK development team as well as others in the beta community.
We’re looking forward to your feedback!