Recreate Blueprints sample level

Create a new project

To launch Unreal Engine, open the Epic Games Launcher and click on Unreal Engine > Launch. When you launch Unreal Engine (UE4), the Unreal Project Browser automatically opens.

  1. Under New Project Categories, select Games.

    create-new-project

  2. Select a Blank template.

    select-template

  3. On the Project Settings page, set the project to a C++ project and keep the other default options.

    select-project-settings

  4. At the bottom of the Project Settings page, select where you want to store your project, and give your project a name. Click Create Project to initialize the project.

Install the plugin

  1. Create a Plugins folder in the main project directory.

    create-plugin-folder

  2. Extract the ArcGIS Maps SDK folder from the .zip file and copy it to the new Plugins folder.

    place-folder

Initialize Level Blueprint

There are several methods in which you can create Blueprints, but we recommend using the Level Blueprint.

  1. Start Unreal Engine.

  2. Delete the Floor actor in the World Outliner.

  3. Click the Blueprints button in the Level Editor Toolbar and select Open Level Blueprint.

    open-level-blueprint

    This opens the Level Blueprint in the Blueprint Editor.

    blueprint-editor

Configure a map

  1. Access the Context Menu by right-clicking on an empty space in the Graph Editor and searching for ArcGIS.

  2. Select ArcGIS Maps SDK > ArcGIS Map > Create with Map Type to create a map.

    create-with-map-type

  3. Connect the Event BeginPlay to the new node created.

    node-created

  4. In the Variables tab, click the plus button to create a new variable.

    new-variable

  5. Change the name to ArcGIS Map Type, select ArcGIS Map Type in the Variable Type, and Local in the ArcGIS Map Type.

    new-variable

  6. Drag the ArcGIS Map Type variable into the Event Graph.

  7. Select Get ArcGIS Map Type and connect the variable to the Map Type pin.

    new-variable

  8. Right-click on the Return Value pin and select Promote to variable.

  9. In the Details panel, name the variable ArcGIS_Map. The variable will appear in the My Blueprint panel.

    arcgis-map-variable

This is the final result of the map.

result-map

Set up a basemap

  1. In ArcGIS Maps SDK > ArcGIS Basemap Layer select Create ArcGIS Basemap and add it to the graph.

    create-arcgis-basemap-layer

  2. Connect it to the Set node.

  3. In the Variables tab, click the plus button to create a new variable.

    create-api-key-variable.png

  4. Select String in the Variable Type and change the name to API Key.

  5. In the top bar click Compile and the API key will appear in the Details panel > Default Value.

  6. Enter your API key.

    change-name-of-api-key

  7. Drag the API Key variable into the Event Graph.

  8. Select Get API Key and connect the variable to the API Key pin.

    connect-api-key

  9. In the Source pin, copy the URL:

     
    1
    https://www.arcgis.com/sharing/rest/content/items/716b600dbbac433faa4bec9220c76b3a/data
  10. Right-click on the Return Value pin and select Promote to variable.

  11. Change the name of the new variable to ArcGIS Basemap Layer.

  12. In ArcGIS Maps SDK > ArcGIS Map select Set Basemap Layer and add it to the graph.

    Note: If the node doesn’t appear uncheck the Context Sensitive checkbox at the top right of the Context Menu.

  13. Connect it to the Set node.

    set-basemap-layer

  14. Drag the ArcGIS_Map variable into the Event Graph.

  15. Select Get ArcGIS_Map and connect the variable to the Target pin.

This is the final result of the basemap.

blueprints-basemap

Create elevation

  1. In ArcGIS Maps SDK > ArcGIS Image Elevation Source select Create ArcGIS Image Elevation Source and add it to the graph.

  2. Connect it to the Set Basemap node.

  3. Drag the API Key variable into the Event Graph.

  4. Select Get API Key and connect the variable to the API Key pin.

  5. In the Source pin, copy and paste the URL:

     
    1
    https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer
  6. Right-click on the Return Value pin and select Promote to variable.

  7. Change the name of the new variable to ArcGISImageElevationSource.

  8. In ArcGIS Maps SDK > ArcGIS Map Elevation select Create ArcGIS Map Elevation and add it to the graph.

  9. Connect it to the Set node.

    create-set-elevation

  10. Right-click on the Return Value pin and select Promote to variable.

  11. Change the name of the new variable to ArcGIS Elevation.

  12. In ArcGIS Maps SDK > ArcGIS Map select Set Elevation and add it to the graph.

  13. Connect it to the Set node.

    set-elevation

  14. Drag the ArcGIS_Map variable into the Event Graph.

  15. Select Get ArcGIS_Map and connect the variable to the Target pin.

This is the final result of the elevation.

blueprints-elevation

Add image layer

To create an Image layer:

  1. In ArcGIS Maps SDK > ArcGIS 3D Model Layer select Create ArcGIS Image Layer and add it to the graph.

  2. Connect it to the Set Elevation node.

    create-arcgis-image-layer

  3. Drag the API Key variable into the Event Graph.

  4. Select Get API Key and connect the variable to the API Key pin.

  5. In the Source pin, copy and paste the URL:

     
    1
    https://tiles.arcgis.com/tiles/nGt4QxSblgDfeJn9/arcgis/rest/services/UrbanObservatory_NYC_TransitFrequency/MapServer
  6. In the Name pin, write Layer_1.

  7. Set the Opacity to 1,0.

  8. Click the Is Visible checkbox.

  9. Right-click on the Return Value pin and select Promote to variable.

  10. Change the name of the new variable to ArcGIS Image Layer 1.

  11. In ArcGIS Maps SDK > ArcGIS Map select Add Image Layer and add it to the graph.

  12. Connect it to the Set node.

    add-image-layer

  13. Drag the ArcGIS_Map variable into the Event Graph.

  14. Select Get ArcGIS_Map and connect the variable to the Target pin.

This is the final result of an Image layer.

image-layer-final-result

Repeat these steps to create another image layer with the following data.

     
1
2
3
4
5
Name: Layer_2
URL: https://tiles.arcgis.com/tiles/nGt4QxSblgDfeJn9/arcgis/rest/services/New_York_Industrial/MapServer

Name: Layer_4
URL: https://tiles.arcgis.com/tiles/4yjifSiIG17X0gW4/arcgis/rest/services/NewYorkCity_PopDensity/MapServer

Add 3DModel layer

To create a 3DModel layer:

  1. In ArcGIS Maps SDK > ArcGIS 3D Model Layer select Create ArcGIS 3D Model and add it to the graph.

  2. Connect it to the Add Image Layer node.

  3. Drag the API Key variable into the Event Graph.

  4. Select Get API Key and connect the variable to the API Key pin.

  5. In the Source pin, copy and paste the URL:

     
    1
    https://tiles.arcgis.com/tiles/P3ePLMYs2RVChkJx/arcgis/rest/services/Buildings_NewYork_17/SceneServer
  6. In the Name pin, write Layer_3.

  7. Set the Opacity to 1,0.

  8. Click the Is Visible checkbox.

  9. Right-click on the Return Value pin and select Promote to variable.

  10. Change the name of the new variable to ArcGIS 3DModel Layer 1.

  11. In ArcGIS Maps SDK > ArcGIS Map select Add 3D Model Layer and add it to the graph.

  12. Connect it to the Set node.

    add-3d-model-layer

  13. Drag the ArcGIS_Map variable into the Event Graph.

  14. Select Get ArcGIS_Map and connect the variable to the Target pin.

This is the result of a 3DModel layer.

3DModel-layer-final-result

And the final result of all the layers.

blueprint-layers

Create an extent

  1. In Utilities > Flow Control select Branch and add it to the graph.

  2. Connect it to the Add 3DModel Image node.

  3. In Utilities > Enum select Equal (Enum) and add it to the graph.

  4. Connect it to the Condition pin.

    connect-to-branch

  5. Drag the ArcGIS Map Type variable into the Event Graph and select Get ArcGIS Map Type.

  6. Select ArcGIS Map Type and connect the variable to the Equal (Enum) node.

  7. In the dropdown menu of the Equal (Enum) node select Local.

    select-local-enum

    Note: We create a Branch because the extent only works in a Local scene. If a Local scene is detected, True boolean is executed; otherwise, the extension is not applied.

  8. In ArcGIS Maps SDK > ArcGIS Global Coordinates Position select Create ArcGIS Global Coordinates Position and add it to the graph.

  9. Connect it to the True pin in the Branch node.

  10. Set the values to:

    • Latitude: 40.691242
    • Longitude: -74.054921
    • Altitude: 3000
  11. In ArcGIS Maps SDK > ArcGIS Map Extent Rectangle select Create ArcGIS Map Extent Rectangle and add it to the graph.

  12. Connect it to the Create ArcGIS Global Coordinates Position node.

    position-to-extent-rectangle

  13. Set the values to:

    • Latitude Size: 10000
    • Longitude Size: 10000
  14. Right-click on the Return Value pin and select Promote to variable.

  15. Change the name of the new variable to ArcGIS Extent.

  16. In ArcGIS Maps SDK > ArcGIS Map select Set Rectangle Clippng Area and add it to the graph.

  17. Connect it to the Set node.

    set-extent-node

  18. Drag the ArcGIS_Map variable into the Event Graph.

  19. Select Get ArcGIS_Map and connect the variable to the Target pin.

This is the final result of the Extent.

create-extent-final-result

Create a camera

In order to move around the level, you need to create a camera.

  1. In ArcGIS Maps SDK > ArcGIS Global Coordinates Position select Create ArcGIS Global Coordinates Position and add it to the graph.

  2. Connect it to the Set Rectangle Clippng Area node.

  3. Set the values to:

    • Latitude: 40.691242
    • Longitude: -74.054921
    • Altitude: 3000

    create-cam-position

  4. Connect the False pin of the Branch node to Create ArcGIS Global Coordinates Position node.

  5. In ArcGIS Maps SDK > ArcGIS Rotation select Create ArcGIS Rotation and add it to the graph.

  6. Connect it to the Create ArcGIS Global Coordinates Position node.

    connect-cam-position-to-rotation

  7. Set the values to:

    • Pitch: 68
    • Roll: 0
    • Heading: 65
  8. In ArcGIS Maps SDK > ArcGIS amera select Create ArcGIS Camera and add it to the graph.

  9. Name the camera Camera_1.

  10. Connect it to the Create ArcGIS Rotation and the Create ArcGIS Global Coordinates Position node.

    connect-to-camera-node

  11. Right-click on the Return Value pin and select Promote to variable.

  12. Change the name of the new variable to ArcGIS Camera.

This is the final result of the camera.

arcgis-camera-final-result

Create a Renderer View

  1. In ArcGIS Maps SDK > ArcGIS Renderer View select Create ArcGIS Renderer View and add it to the graph.

  2. Connect it to the Set node.

    create-renderer-view

  3. Drag the ArcGIS_Map variable into the Event Graph.

  4. Select Get ArcGIS_Map and connect the variable to the ArcGIS Map BP pin.

  5. In the Variables tab, click the plus button to create a new variable.

  6. Select ArcGIS Renderer View Options BP in the Variable Type and change the name to ArcGISRendererViewOptions.

  7. In the top bar click Compile.

  8. In the Details Panel of the new variable click the Load Data from Invisible Layers checkbox.

    create-renderer-view

  9. Drag the ArcGISRendererViewOptions variable into the Event Graph.

  10. Select Get ArcGISRendererViewOptions and connect the variable to the Options BP pin.

  11. Right-click on the Return Value pin and select Promote to variable.

  12. Change the name of the new variable to ArcGIS Renderer View.

This is the final result of the Renderer View.

renderview-final-result

Create ArcGISRendererContainer and set Renderer View

  1. In Game select Spawn Actor from Class and add it to the graph.

  2. Connect it to the Set node.

  3. In the Class dropdown menu select ArcGISRendererContainer.

  4. In the Variables tab, click the plus button to create a new variable.

  5. Select Transform in the Variable Type and change the name to Default Transform.

  6. Drag the Default Transform variable into the Event Graph.

  7. Select Get Default Transform and connect it to the Spawn Transform pin.

    spawn-default-actor

  8. Right-click on the Return Value pin and select Promote to variable.

  9. Change the name of the new variable to Render Container.

  10. In ArcGISMaps SDK > ArcGISRender Container select Set Renderer View and add it to the graph.

  11. Connect it to the Set node.

  12. Drag the ArcGIS Renderer View variable into the Event Graph.

  13. Select Get ArcGIS Renderer View and connect it to the View pin.

    set-render-view-node

This is the final result.

render-container-final-result

Create and set an ArcGIS Sample Pawn Actor

  1. In Game select Spawn Actor from Class and add it to the graph.

  2. Connect it to the Set Renderer View node.

  3. In the Class dropdown menu select SampleDefaultPawn.

  4. Drag the Default Transform variable into the Event Graph.

  5. Select Get Default Transform and connect it to the Spawn Transform pin.

    spawn-default-pawn

  6. In Actor select Get Component by Class and add it to the graph.

  7. Connect it to the Return Value pin.

  8. In the Component Class dropdown menu select ArcGISCameraComponent.

    select-camera-component

  9. In ArcGIS Maps SDK > Utils select Set Renderer View to ArcGIS Camera Component and add it to the graph.

  10. Connect it to the SpawnActor Sample Default Pawn and to the Get Component by Class nodes.

    set-to-default-pawn

  11. Drag the ArcGIS Renderer View variable into the Event Graph.

  12. Select Get ArcGIS Renderer View and connect it to the View pin.

  13. In ArcGIS Maps SDK > Utils select Set Pawn Initial Position and add it to the graph.

  14. Connect it to the Set Renderer View to ArcGIS Camera Component node.

  15. Connect the Component pin of the Set Pawn Initial Position to the Return Value pin of the SpawnActor Sample Default Pawn node.

This is the final result.

pawn-actor-final-result

Compile and Save the Blueprint by using the toolbar buttons, then close the Blueprint Editor.

You have successfully configured the Blueprint! You can click the Play icon and see your map.

You can use the WASD Keys to move left/right/forward/backward. Use the left mouse button to pan around the scene, the right button to orbit and the scroll wheel to zoom in or zoom out.

blueprints-result

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