Here is a Unity project containing a set of samples showing you how to accomplish various things using the combined features of Unity and the ArcGIS Maps SDK for Unity. The main
branch is configured to work with our most recent release (1.3.0) if you want to use the sample repo with an older release check out the corresponding tag of the sample repo, git checkout 1.0.0
for the sample repo that worked with our 1.0.0 release.
- Feature service REST API - See how to query a feature service to create game objects in Unity located at real world positions.
- Geocoding - Search for an address or click on the surface to get the address of that location.
- HitTest - Visualize individual Buildings ID's from a 3D Object Scene Layer.
- Line of sight - See how to check line of sight between two object in Unity.
- Material By Attribute - Apply materials to 3DObject Scene layer based on specific attributes.
- Measure - Click on the map to get real world distances between points.
- Routing - See how to query Esri's routing service to get the shortest path between two points and visualize that route in Unity.
- Stream Layer - See how to use web sockets to connect to an Esri real time service to update game objects locations in real time.
- Third Person Controller - Explore from the perspective of a third person camera following a controllable character.
- VRSample - See how to configure the camera to visualize content on a VR device and move the camera with VR locomotion.
-
Clone this repo.
-
Refer to the ArcGIS Maps SDK for Unity's documentation on getting started on how to download
Unity
and theArcGIS Maps SDK for Unity
. -
Open the project in Unity ignoring the errors when prompted to enter
Safe Mode
. -
Use the package manager to import the
.tarball
downloaded in step 2. -
Import the samples. These samples include some components necessary for this repo to function including the
ArcGIS Camera Controller
component.NOTE: There is a known issue with ArcGIS Maps SDK for Unity 1.3. In projects that use the new input system, an assembly definition file in the plugin samples needs to be updated.
-
Launch Unity and open the
SampleViewer
level (it should open by default). -
In the heirarchy select the
SampleSwitcher
Game Object and then in the inspector set your API Key. You can learn more about API keys and Accounts in the Mapping APIs and location services guide. -
(Optional) If you want to be able to open the
.cs
files in this project and have intellisense recognize variable correctly, in Unity navigate toEdit -> Preferences -> External Tools -> Generate .csproj files for 'local tarball
Find a bug or want to request a new feature? Please let us know by submitting an issue.
Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.
Copyright 2023 Esri.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
A copy of the license is available in the repository's license.txt file.