{"id":2956245,"date":"2026-03-04T09:08:32","date_gmt":"2026-03-04T17:08:32","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2956245"},"modified":"2026-03-12T13:32:39","modified_gmt":"2026-03-12T20:32:39","slug":"creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity","title":{"rendered":"Creating a Cinematic Scene with ArcGIS Maps SDK for Unity"},"author":371252,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23771,37151,738191],"tags":[25781,25891,757141,560942,757171],"industry":[],"product":[765422],"class_list":["post-2956245","blog","type-blog","status-publish","format-standard","hentry","category-3d-gis","category-design-planning","category-developers","tag-3d","tag-arcgis","tag-arcgis-maps-sdk-for-unity","tag-game-engines","tag-unity","product-unity"],"acf":{"authors":[{"ID":371252,"user_firstname":"Jade","user_lastname":"Huang","nickname":"Jade Huang","user_nicename":"jadehuang","display_name":"Jade Huang","user_email":"jadehuang@esri.com","user_url":"https:\/\/sites.psu.edu\/jade\/","user_registered":"2025-04-28 22:26:11","user_description":"Jade (Jiawei) is a product engineer for the ArcGIS Maps SDKs for Game Engines. She holds a PhD degree in GIS from Pennsylvania State University. She also has a background in Natural Resources and Environment from University of Michigan. She is passionate about both the creative and technical aspects of game engines.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/04\/Jiawei_Huang-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"short_description":"Bring real-world geographic data into your Unity storytelling, flythroughs, and more.","flexible_content":[{"acf_fc_layout":"content","content":"<p><span class=\"TextRun SCXW211540945 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW211540945 BCX0\">When creating interactive or cinematic 3D scenes grounded in real-world locations, integrating geographic context\u202fis an essential part of\u202fstorytelling and visualization<\/span><span class=\"NormalTextRun SCXW211540945 BCX0\">. <a href=\"https:\/\/developers.arcgis.com\/unity\/\">ArcGIS Maps SDK for Unity<\/a><strong>\u00a0<\/strong>allows developers and creators to bring real-world geospatial data\u2014like satellite imagery, terrain, buildings,\u202fand\u202froads\u2014directly into Unity. Whether\u202fyou are\u202fbuilding urban simulations,\u202fimmersive XR experiences,\u202fdata visualization tools,\u202for cinematic flythroughs, ArcGIS Maps SDK for Unity enables you to start with a geographically\u202f<\/span><span class=\"NormalTextRun SCXW211540945 BCX0\">accurate<\/span><span class=\"NormalTextRun SCXW211540945 BCX0\">\u202ffoundation.\u202f<\/span><\/span><span class=\"EOP SCXW211540945 BCX0\" data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:2,&quot;335559740&quot;:420}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">While the SDK provides a robust foundation for streaming and visualizing authoritative data, creating a compelling, cinematic experience requires\u202fadditional\u202frefinement.\u00a0<\/span><span data-contrast=\"auto\">This blog\u202fpost\u202foutlines a complete workflow for transforming GIS layers into a narrative-driven 3D scene within Unity \u202f(I\u202falso\u202fdescribed the Unreal companion workflow in \u202f<\/span><a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/unreal-engine\/3d-gis\/creating-a-cinematic-scene-in-unreal-engine-with-arcgis-maps-sdk-for-unreal-engine\"><span data-contrast=\"none\">Creating a Cinematic Scene with ArcGIS Maps SDK for Unreal Engine<\/span><\/a><span data-contrast=\"auto\">). This Unity scene can be deployed to Windows, macOS, Android, iOS, and XR devices. I\u2019ll walk you through my entire workflow to create a realistic rooftop scene with animated characters in a portion of Munich.<\/span><\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2959132,"id":2959132,"title":"image2-1","filename":"image16-scaled.png","filesize":3348957,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image16-scaled.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\/image16-6","alt":"","author":"371252","description":"","caption":"Image 1: The finished scene in Unity (Data credit for this image and all city scene images in this post: BVV \u2013 geodaten.bayern.de, Copyright \u00a9 2021 Hexagon \/ Esri. All rights reserved., Sources: Vantor, Airbus DS, USGS, NGA, NASA, CGIAR, GEBCO, N Robinson, NCEAS, NLS, OS, NMA, Geodatastyrelsen and the GIS User Community, Microsoft, Vantor, Earthstar Geographics).  ","name":"image16-6","status":"inherit","uploaded_to":2956245,"date":"2026-03-04 01:11:00","modified":"2026-03-05 00:15:02","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":2560,"height":1377,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image16-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image16-scaled.png","medium-width":464,"medium-height":250,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image16-scaled.png","medium_large-width":768,"medium_large-height":413,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image16-scaled.png","large-width":1920,"large-height":1033,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image16-1536x826.png","1536x1536-width":1536,"1536x1536-height":826,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image16-2048x1102.png","2048x2048-width":2048,"2048x2048-height":1102,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image16-826x444.png","card_image-width":826,"card_image-height":444,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image16-1920x1033.png","wide_image-width":1920,"wide_image-height":1033}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><a href=\"#import\">1. Importing GIS Data<\/a><\/p>\n<p><a href=\"#lighting\">2. Lighting and other VFX: Crafting a Misty Morning Tone<\/a><\/p>\n<p><a href=\"#asset\">3. Integrating\u202fGame Engine Assets<\/a><\/p>\n<p><a href=\"#material\">4. Working with Materials<\/a><\/p>\n<p><a href=\"#animation\">5. Animating Characters<\/a><\/p>\n<p><a href=\"#cinematics\">6. Cinematic Camera Flythrough<\/a><\/p>\n<p><a href=\"#conclusion\">7. Conclusion<\/a><\/p>\n<p><span data-contrast=\"auto\">This\u00a0blog\u00a0is intended for:<\/span><span data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:2,&quot;335559740&quot;:420}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"13\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:807,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">GIS practitioners and urban modelers with some Unity knowledge\u00a0who want to\u00a0learn Unity content creation workflows.<\/span><span data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:2,&quot;335559740&quot;:420}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"13\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:807,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Unity developers\u202fwho wish to incorporate spatial context into storytelling or simulation-based applications.<\/span><span data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:2,&quot;335559740&quot;:420}\">\u00a0<\/span><\/li>\n<\/ul>\n<h2 id=\"import\">1. Importing GIS Data<\/h2>\n<p><span data-contrast=\"auto\">For this project, I\u2019m using Unity 6.0 with HDRP and ArcGIS Maps SDK for Unity 2.1. I\u00a0<\/span><a href=\"https:\/\/3dcities.maps.arcgis.com\/home\/item.html?id=e20befac36ac4006aac331b69b83fd38\"><span data-contrast=\"auto\">chose\u00a0<\/span><span data-contrast=\"auto\">a beautiful autumn dataset in Munich<\/span><\/a><span data-contrast=\"auto\">, which is a <\/span><a href=\"https:\/\/developers.arcgis.com\/unity\/layers\/data-layers\/3d-tiles\/\"><b><span data-contrast=\"none\">3D\u00a0Tiles layer<\/span><\/b><\/a><span data-contrast=\"auto\">.\u00a0You can just as easily use\u202fother\u202fsupported data layers, such as\u202f3D object scene layers, integrated mesh scene layers,\u00a0and\u00a0building scene layers\u00a0depending on the type of data\u202fyou are\u202fworking with.\u202fYou can find\u202fadditional\u202finformation on\u202f<\/span><a href=\"https:\/\/developers.arcgis.com\/unreal-engine\/layers\/\"><span data-contrast=\"none\">supported data layers<\/span><\/a><span data-contrast=\"auto\">\u202fin\u202four documentation.\u00a0I enabled\u00a0<\/span><b><span data-contrast=\"auto\">Local mode<\/span><\/b><span data-contrast=\"auto\"> to focus on a specific region.\u00a0Using local mode\u00a0enables you to use projected coordinate systems that preserve spatial\u00a0accuracy and\u00a0is suitable for smaller-scale\u00a0scenes.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\ud83d\udd27<\/span><span data-contrast=\"auto\">\u00a0<\/span><b><span data-contrast=\"auto\">Tip<\/span><\/b><span data-contrast=\"auto\">: If your data does not align with terrain, try adjusting the\u00a0<\/span><b><span data-contrast=\"auto\">vertical coordinate system<\/span><\/b><span data-contrast=\"auto\">, a function that ArcGIS Maps SDK for Unity has supported since 2.0. In this case, I\u2019m using the Munich dataset with the default Terrain 3D and Imagery basemap. I set the <\/span><b><span data-contrast=\"auto\">Horizontal Coordinate System<\/span><\/b><span data-contrast=\"auto\">\u00a0to Web Mercator (3857) and the\u00a0<\/span><b><span data-contrast=\"auto\">Vertical Coordinate System<\/span><\/b><span data-contrast=\"auto\">\u00a0to WGS 84 (115700).<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">I also used a tree dataset. For\u00a0a\u00a0generic dataset, you can search in\u00a0<\/span><a href=\"https:\/\/livingatlas.arcgis.com\/en\/browse\/#d=2\"><span data-contrast=\"none\">ArcGIS Living Atlas of the World<\/span><\/a><span data-contrast=\"auto\">. For regional\u00a0or city-specific data,\u00a0a good place to find data is\u00a0a\u00a0local\u00a0government\u00a0GIS website. I found\u00a0a\u00a0<\/span><a href=\"https:\/\/www.ldbv.bayern.de\/aktuell\/archiv\/meldung_einzelbaeume-00956.html\"><span data-contrast=\"none\">Bavaria tree database<\/span><\/a><span data-contrast=\"auto\">\u00a0in\u00a0<\/span><i><span data-contrast=\"auto\">Landesamt\u00a0f\u00fcr\u00a0Digitalisierung,\u00a0Breitband\u00a0und\u00a0Vermessung<\/span><\/i><span data-contrast=\"auto\">. I downloaded the data in\u00a0<\/span><i><span data-contrast=\"auto\">GeoJSON<\/span><\/i><span data-contrast=\"auto\">\u00a0format.\u00a0\u00a0This dataset\u00a0contains\u00a0all the trees in Bavaria,\u00a0so\u00a0<\/span><span data-contrast=\"none\">I used\u00a0<\/span><a href=\"https:\/\/www.esri.com\/en-us\/arcgis\/products\/arcgis-pro\/overview\"><span data-contrast=\"none\">ArcGIS Pro<\/span><\/a><span data-contrast=\"none\">\u00a0to quickly filter the dataset for just\u00a0the data\u00a0I needed<\/span><span data-contrast=\"auto\">.\u00a0If you have the city-extent shapefile, you can directly clip the area. For me, I use the\u00a0<\/span><i><span data-contrast=\"auto\">Select Tool<\/span><\/i><span data-contrast=\"auto\">\u00a0to select\u00a0a\u00a0portion\u00a0of the city,\u00a0which is just a small area surrounding my scene. Because this region falls into two feature classes, I first use the\u00a0<\/span><i><span data-contrast=\"auto\">Append Tool<\/span><\/i><span data-contrast=\"auto\">\u00a0to append\u00a0the two datasets, then use\u00a0<\/span><i><span data-contrast=\"auto\">Export Features<\/span><\/i><span data-contrast=\"auto\">\u00a0to export it. I also\u00a0<\/span><b><span data-contrast=\"auto\">reproject<\/span><\/b><span data-contrast=\"auto\">\u00a0the dataset from WKID 4326 to\u00a03857, since\u00a0my\u00a0Unity\u00a0project is using 3857.\u00a0If you find yourself having to do this\u00a0process\u00a0repeatedly, you can use\u00a0<\/span><a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/analysis\/geoprocessing\/modelbuilder\/what-is-modelbuilder-.htm\"><span data-contrast=\"none\">ModelBuilder<\/span><\/a><span data-contrast=\"auto\">\u00a0or write a python script.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span class=\"TextRun SCXW81134730 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW81134730 BCX0\">I then zipped this dataset (<\/span><span class=\"NormalTextRun CommentStart SCXW81134730 BCX0\">required<\/span><span class=\"NormalTextRun SCXW81134730 BCX0\">) and\u00a0<\/span><\/span><a class=\"Hyperlink SCXW81134730 BCX0\" href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/publish-features.htm\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW81134730 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW81134730 BCX0\" data-ccp-charstyle=\"Hyperlink\">published it on ArcGIS Online<\/span><\/span><\/a><span class=\"TextRun SCXW81134730 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW81134730 BCX0\">. In Section\u00a0<\/span><span class=\"NormalTextRun SCXW81134730 BCX0\">3.2<\/span><span class=\"NormalTextRun SCXW81134730 BCX0\">\u00a0I will\u00a0<\/span><span class=\"NormalTextRun SCXW81134730 BCX0\">discuss<\/span><span class=\"NormalTextRun SCXW81134730 BCX0\">\u00a0the process of<\/span><span class=\"NormalTextRun SCXW81134730 BCX0\">\u00a0visualizing this dataset using\u00a0<\/span><span class=\"NormalTextRun SCXW81134730 BCX0\">the\u00a0<\/span><\/span><a class=\"Hyperlink SCXW81134730 BCX0\" href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/enterprise\/feature-service\/\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW81134730 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW81134730 BCX0\" data-ccp-charstyle=\"Hyperlink\">REST API<\/span><\/span><\/a><span class=\"TextRun SCXW81134730 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW81134730 BCX0\">.\u00a0<\/span><\/span><span class=\"EOP SCXW81134730 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2956265,"id":2956265,"title":"pic2","filename":"pic2-scaled.png","filesize":4052496,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic2-scaled.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\/pic2-11","alt":"ArcGIS Maps SDK for Unity Workflow","author":"371252","description":"","caption":"Image 2: My visualization area in reference to the Bavaria tree database. Lower right: Exporting features from ArcGIS Pro.  ","name":"pic2-11","status":"inherit","uploaded_to":2956245,"date":"2026-02-14 00:04:12","modified":"2026-03-05 00:11:08","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":2560,"height":1342,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic2-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic2-scaled.png","medium-width":464,"medium-height":243,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic2-scaled.png","medium_large-width":768,"medium_large-height":403,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic2-scaled.png","large-width":1920,"large-height":1007,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic2-1536x805.png","1536x1536-width":1536,"1536x1536-height":805,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic2-2048x1074.png","2048x2048-width":2048,"2048x2048-height":1074,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic2-826x433.png","card_image-width":826,"card_image-height":433,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic2-1920x1006.png","wide_image-width":1920,"wide_image-height":1006}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2 id=\"lighting\"><span data-contrast=\"none\">2. Lighting and other VFX: Crafting a Misty Morning Tone<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:160,&quot;335559739&quot;:80}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">Usually, the first thing I do with scene creation is set up the sky and atmosphere to establish overall tone and mood of the scene. Since the asset color will shift based on lighting, this step should ideally be done before asset placement. <\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">In HDRP, to customize the sky, you need to create a\u00a0<\/span><b><span data-contrast=\"auto\">Global Volume<\/span><\/b><span data-contrast=\"auto\"> in your scene. In ArcGIS Maps SDK for Unity, we have included the global volume in the sample scenes. You can just change the <\/span><b><span data-contrast=\"auto\">Volume Profile\u00a0<\/span><\/b><span data-contrast=\"auto\">within the Global Volume.\u00a0I\u2019m\u00a0using\u00a0free\u00a0third-party sky\u00a0assets (<\/span><a href=\"https:\/\/assetstore.unity.com\/packages\/2d\/textures-materials\/sky\/8k-skybox-pack-free-150926\"><span data-contrast=\"none\">8K Skybox Pack Free<\/span><\/a><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"auto\">and\u00a0<\/span><a href=\"https:\/\/assetstore.unity.com\/packages\/2d\/textures-materials\/sky\/allsky-free-10-sky-skybox-set-146014\"><span data-contrast=\"none\">AllSky Free &#8211; 10 Sky \/ Skybox Set<\/span><\/a><span data-contrast=\"auto\">).\u00a0I created the Volume Profile by right\u00a0click-&gt;Create-&gt;Rendering-&gt;Volume Profile. In this Volume Profile, I added\u00a0<\/span><b><span data-contrast=\"auto\">Override<\/span><\/b><span data-contrast=\"auto\"> by clicking Add Override &gt; Sky &gt; HDRI Sky. In HDRI, I selected the cube map that this asset provides. I then went back to my Global Volume and assigned the Volume Profile I just created. In my case, I found this volume profile to be too dark and dramatic. To make it brighter, I added the<\/span><b><span data-contrast=\"auto\">\u00a0Exposure override,\u00a0<\/span><\/b><span data-contrast=\"auto\">and<\/span><b><span data-contrast=\"auto\">\u00a0<\/span><\/b><span data-contrast=\"auto\">you could also adjust the<\/span><b><span data-contrast=\"auto\">\u00a0Intensity Mode<\/span><\/b><span data-contrast=\"auto\">\u00a0in combination<\/span><i><span data-contrast=\"auto\">.<\/span><\/i><span data-contrast=\"auto\">\u00a0For tuning the color, I added a\u00a0<\/span><b><span data-contrast=\"auto\">White Balance<\/span><\/b><span data-contrast=\"auto\">\u00a0override and adjusted the\u00a0Temperature and Tint values.\u00a0To enhance the\u00a0experience,\u00a0I\u00a0like\u00a0to add\u00a0the Fog override to introduce atmospheric effects, along with\u00a0<\/span><b><span data-contrast=\"auto\">Volumetric Clouds<\/span><\/b><span data-contrast=\"auto\">\u00a0and\u00a0<\/span><b><span data-contrast=\"auto\">ambient occlusion<\/span><\/b><span data-contrast=\"auto\">\u00a0for\u00a0more\u00a0depth and realism.<\/span><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2956275,"id":2956275,"title":"image3Small","filename":"image3-1-e1771032335313.png","filesize":33122,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image3-1-e1771032335313.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\/image3-32","alt":"","author":"371252","description":"","caption":"Image 3: Sky and Fog Volume setting (click to see the full image)","name":"image3-32","status":"inherit","uploaded_to":2956245,"date":"2026-02-14 01:21:58","modified":"2026-03-05 00:11:15","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":200,"height":445,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image3-1-e1771032335313.png","thumbnail-width":90,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image3-1-e1771032335313.png","medium-width":117,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image3-1-e1771032335313.png","medium_large-width":200,"medium_large-height":445,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image3-1-e1771032335313.png","large-width":200,"large-height":445,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image3-1-e1771032335313.png","1536x1536-width":200,"1536x1536-height":445,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image3-1-e1771032335313.png","2048x2048-width":200,"2048x2048-height":445,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image3-1-e1771032335313.png","card_image-width":200,"card_image-height":445,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image3-1-e1771032335313.png","wide_image-width":200,"wide_image-height":445}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image3.png"},{"acf_fc_layout":"content","content":"<p><span data-contrast=\"auto\">In\u00a0<\/span><b><span data-contrast=\"auto\">URP<\/span><\/b><span data-contrast=\"auto\">,\u00a0the workflow is different. You can simply assign a skybox material (e.g., panoramic or\u00a0cubemap). To do this, you can create a skybox material and then go to Window &gt; Rendering &gt; Lighting. In the Lighting window, navigate to the Environment tab. Drag your newly created Skybox Material into the Skybox Material slot.\u00a0Don\u2019t\u00a0use volumes\u2014just create a\u00a0<\/span><b><span data-contrast=\"auto\">Skybox Material<\/span><\/b><span data-contrast=\"auto\">\u00a0and assign your HDRI.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">You can also add particle systems for smoke, steam\u00a0or falling leaves, and sound cues (city ambience, footsteps, chatter).<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2956768,"id":2956768,"title":"pic4Small","filename":"pic4Small-e1771462471583.png","filesize":349740,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic4Small-e1771462471583.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\/pic4small","alt":"Three images, each showing the effect of a different tone setting. Original's sky is blue with shaded buildings, soft evening has a white sky with brighter buildings, morning has slightly lavender sky and buildings.","author":"371252","description":"Three images comparing the effects of two tone settings to an original scene.","caption":"Image 4: From top to bottom: original, a soft evening tone, and a morning tone.\n","name":"pic4small","status":"inherit","uploaded_to":2956245,"date":"2026-02-19 00:48:19","modified":"2026-03-05 00:14:50","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":400,"height":672,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic4Small-e1771462471583.png","thumbnail-width":119,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic4Small-e1771462471583.png","medium-width":155,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic4Small-e1771462471583.png","medium_large-width":400,"medium_large-height":672,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic4Small-e1771462471583.png","large-width":400,"large-height":672,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic4Small-e1771462471583.png","1536x1536-width":400,"1536x1536-height":672,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic4Small-e1771462471583.png","2048x2048-width":400,"2048x2048-height":672,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic4Small-e1771462471583.png","card_image-width":277,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic4Small-e1771462471583.png","wide_image-width":400,"wide_image-height":672}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/pic4.png"},{"acf_fc_layout":"image","image":{"ID":2956253,"id":2956253,"title":"image5","filename":"image5.png","filesize":3436733,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image5.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\/image5-24","alt":"","author":"371252","description":"","caption":"Image 5: The Munich dataset after setting up lighting and sky atmosphere. The above image shows Marienplatz, the central square of Munich.","name":"image5-24","status":"inherit","uploaded_to":2956245,"date":"2026-02-13 23:41:01","modified":"2026-03-05 00:11:29","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":2309,"height":1386,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image5-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image5.png","medium-width":435,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image5.png","medium_large-width":768,"medium_large-height":461,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image5.png","large-width":1799,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image5-1536x922.png","1536x1536-width":1536,"1536x1536-height":922,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image5-2048x1229.png","2048x2048-width":2048,"2048x2048-height":1229,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image5-775x465.png","card_image-width":775,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image5-1799x1080.png","wide_image-width":1799,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2 id=\"asset\"><span data-contrast=\"none\">3. Integrating\u202fGame Engine Assets\u202f<\/span><\/h2>\n<p><span data-contrast=\"none\">3.1 Finding and\u00a0placing\u00a0assets<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:160,&quot;335559739&quot;:80}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">For this project, all the assets I use are free.\u00a0I typically start by exploring the city to find a spot that\u00a0inspires\u00a0me\u00a0to\u00a0imagine\u00a0the stories that could unfold\u00a0there. I saw a two-story building with an empty rooftop\u00a0in Munich Old Town.\u00a0I thought this could provide a stage for a rooftop restaurant and bar. The viewpoint would be at the rooftop overlooking the street, where I will place street props and decals to make it interesting.\u00a0For a full project,\u00a0it\u2019s\u00a0always\u00a0a good idea\u00a0to spend as much time as you can to add details, and to\u00a0build the details\u00a0in layers.\u00a0For example, you might start by applying street decals like dirt, cracks, or\u00a0manhole\u00a0covers, then place props such as trash bins,\u00a0flowers\u00a0or parked bikes on top of them.\u00a0Once you have the story and narrative, you could also\u00a0leverage\u00a0a\u00a0GenAI tool to create a 2D concept design as\u00a0a reference image.\u00a0Here\u2019s\u00a0a list of objects that I planned to add to my scene:\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">Rooftop restaurant and bar:<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Bar counter\u00a0and props<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Green roof vegetation<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Rooftop railing\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">String lights\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\"><span data-contrast=\"auto\">Candles<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"6\" data-aria-level=\"1\"><span data-contrast=\"auto\">Dinnerware\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"7\" data-aria-level=\"1\"><span data-contrast=\"auto\">Umbrellas,\u00a0awnings\u00a0and heating<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"8\" data-aria-level=\"1\"><span data-contrast=\"auto\">Tables<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"9\" data-aria-level=\"1\"><span data-contrast=\"auto\">Animated\u00a0characters<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><b><span data-contrast=\"auto\">Street Level:<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Cars, bikes, or trams<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Traffic lights,\u00a0street lamps<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Trees\u00a0and flowers\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">First,\u00a0I carved out the lower quality meshes from\u00a0dataset\u00a0to create a cleaner canvas\u00a0using\u00a0<\/span><a href=\"https:\/\/developers.arcgis.com\/unity\/filtering-and-modification\/\"><span data-contrast=\"none\">spatial filtering and mesh modification<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2959129,"id":2959129,"title":"pic6-1","filename":"pic6-1-scaled.png","filesize":4994706,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/pic6-1-scaled.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\/pic6-1","alt":"Rooftop restaurant scene in Munich built using ArcGIS Maps SDK for Unity with animated characters.","author":"371252","description":"","caption":"Image 6: Use mesh modification to remove unwanted meshes ","name":"pic6-1","status":"inherit","uploaded_to":2956245,"date":"2026-03-04 00:51:35","modified":"2026-03-05 00:11:35","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":2560,"height":1437,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/pic6-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/pic6-1-scaled.png","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/pic6-1-scaled.png","medium_large-width":768,"medium_large-height":431,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/pic6-1-scaled.png","large-width":1920,"large-height":1078,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/pic6-1-1536x862.png","1536x1536-width":1536,"1536x1536-height":862,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/pic6-1-2048x1150.png","2048x2048-width":2048,"2048x2048-height":1150,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/pic6-1-826x465.png","card_image-width":826,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/pic6-1-1920x1078.png","wide_image-width":1920,"wide_image-height":1078}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><span data-contrast=\"auto\">After mesh modification,\u00a0I created\u00a0a\u00a0plane\u00a0as\u00a0the\u00a0rooftop floor, then started to add assets on top.\u00a0I used two asset sources in this project:\u00a0<\/span><a href=\"https:\/\/assetstore.unity.com\/\"><span data-contrast=\"none\">Unity Asset Store<\/span><\/a><span data-contrast=\"auto\">\u00a0which provides\u00a0optimized and streamlined\u00a0integration\u00a0for\u00a0Unity, and\u00a0<\/span><a href=\"https:\/\/sketchfab.com\/feed\"><span data-contrast=\"none\">SketchFab<\/span><\/a><span data-contrast=\"auto\">\u00a0which has many\u00a0free good-quality\u00a0assets.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To ensure 3D assets\u00a0remain\u00a0correctly positioned and visible in ArcGIS Maps SDK for Unity\u2014especially during runtime\u2014it\u2019s\u00a0essential to attach\u00a0the\u00a0<\/span><a href=\"https:\/\/developers.arcgis.com\/unity\/maps\/location-component\/\"><b><span data-contrast=\"none\">ArcGIS Location Component<\/span><\/b><\/a><span data-contrast=\"auto\">\u00a0to\u00a0game objects.\u00a0The\u202fArcGIS Location Component\u202fis used to place a\u202fGame Object\u202fat\u00a0specific\u00a0geographic location.\u202fThe location\u00a0component\u00a0synchronizes its position relative to the\u00a0ArcGISMap\u2019s\u00a0spatial reference and origin. You can batch\u00a0add\u00a0location\u00a0component\u00a0by creating an empty game object following\u00a0the\u00a0setup\u00a0shown in\u00a0the\u00a0image.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\ud83d\udd27<\/span><span data-contrast=\"auto\">\u00a0<\/span><b><span data-contrast=\"auto\">Tip<\/span><\/b><span data-contrast=\"auto\">: <span class=\"NormalTextRun SCXW232675204 BCX0\">In<\/span><span class=\"NormalTextRun SCXW232675204 BCX0\">\u00a0Unity, when you import 3D assets,\u00a0<\/span><span class=\"NormalTextRun SCXW232675204 BCX0\">you may notice that some objects move at different angles instead of along the expected XY axes. This happens because many\u00a0<\/span><span class=\"NormalTextRun SCXW232675204 BCX0\">GIS<\/span><span class=\"NormalTextRun SCXW232675204 BCX0\">\u00a0meshes are imported with a rotated transform based on their real-world orientation, causing the\u00a0<\/span><span class=\"NormalTextRun SCXW232675204 BCX0\">movement<\/span><span class=\"NormalTextRun SCXW232675204 BCX0\">\u00a0gizmo to align with the object&#8217;s local axis instead of the world axis. To fix this, simply switch the gizmo mode from Global to Local.\u202f<\/span><span class=\"NormalTextRun SCXW232675204 BCX0\">While here, I also turned off the\u00a0<\/span><span class=\"NormalTextRun SCXW232675204 BCX0\">visibility<\/span><span class=\"NormalTextRun SCXW232675204 BCX0\">\u00a0of the grid to make the scene cleaner.\u00a0<\/span><\/span><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2956255,"id":2956255,"title":"image9","filename":"image9.png","filesize":13725,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image9.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\/image9-12","alt":"","author":"371252","description":"","caption":"Image 7: Change gizmo mode between Local and Global. ","name":"image9-12","status":"inherit","uploaded_to":2956245,"date":"2026-02-13 23:41:34","modified":"2026-03-05 00:11:43","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":551,"height":90,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image9.png","thumbnail-width":213,"thumbnail-height":35,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image9.png","medium-width":464,"medium-height":76,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image9.png","medium_large-width":551,"medium_large-height":90,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image9.png","large-width":551,"large-height":90,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image9.png","1536x1536-width":551,"1536x1536-height":90,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image9.png","2048x2048-width":551,"2048x2048-height":90,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image9.png","card_image-width":551,"card_image-height":90,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image9.png","wide_image-width":551,"wide_image-height":90}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><span data-contrast=\"auto\">After downloading the assets, I saw that some materials didn\u2019t render correctly. I will discuss remaking materials in Section 4. <\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Next, I will\u00a0categorize the assets I used\u00a0and discuss each.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h3><span data-contrast=\"none\">3.2\u00a0Vegetation<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:160,&quot;335559739&quot;:80}\">\u00a0<\/span><\/h3>\n<p><span class=\"TextRun SCXW82682903 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW82682903 BCX0\">Unity supports\u202fdifferent\u202foptions for representing\u202fvegetation\u202fdepending on your visual\u202frequirements\u202fand performance needs.<\/span><span class=\"NormalTextRun SCXW82682903 BCX0\">\u202fI\u202fpublished\u202fa\u202fpaper\u202fdiscussing\u202fGIS data-based vegetation modeling in VR, using\u202fa workflow with\u202f<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW82682903 BCX0\">CityEngine<\/span><span class=\"NormalTextRun SCXW82682903 BCX0\">\u202fand\u202f<\/span><span class=\"NormalTextRun SCXW82682903 BCX0\">rendered<\/span><span class=\"NormalTextRun SCXW82682903 BCX0\">\u202fin\u202fa game engine\u202f(<\/span><\/span><em><span class=\"TextRun SCXW82682903 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW82682903 BCX0\">Huang, J., Lucash, M. S., Scheller, R. M., &amp; Klippel, A. (2021).\u00a0<\/span><\/span><a class=\"Hyperlink TrackedChange TrackChangeHyperlinkInstruction SCXW82682903 BCX0\" href=\"https:\/\/www.researchgate.net\/publication\/344323917_Walking_through_the_forests_of_the_future_using_data-driven_virtual_reality_to_visualize_forests_under_climate_change\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TrackChangeTextInsertion TrackedChange SCXW82682903 BCX0\"><span class=\"TextRun Underlined SCXW82682903 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun CommentStart SCXW82682903 BCX0\" data-ccp-charstyle=\"Hyperlink\">Walking through the forests of the future: using data-driven virtual reality to visualize forests under climate change<\/span><\/span><\/span><\/a><span class=\"TextRun SCXW82682903 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW82682903 BCX0\">. International Journal of Geographical Information Science<\/span><span class=\"NormalTextRun SCXW82682903 BCX0\">, 35(6), 1155-<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW82682903 BCX0\">1178.<\/span><\/span><\/em><span class=\"TextRun SCXW82682903 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW82682903 BCX0\">).<\/span><span class=\"NormalTextRun SCXW82682903 BCX0\">\u202f\u202fA few of the many vegetation model libraries are listed below.\u202f\u202f\u202f<\/span><\/span><span class=\"EOP SCXW82682903 BCX0\" data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:2,&quot;335559740&quot;:420}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">SpeedTree<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">SpeedTree\u00a0offers some of the most visually realistic trees available for real-time rendering. Originally developed for film and games,\u00a0SpeedTree\u00a0assets feature detailed geometry, PBR-ready materials, and built-in\u00a0level of detail (LOD)s.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">XfrogPlants<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">XfrogPlants\u00a0provides vegetation\u00a0models\u00a0by region and species. They are especially helpful if precise\u00a0representations of\u00a0vegetation types\u00a0are\u00a0important for your project.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">Unity\u00a0Asset Store Trees<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Unity&#8217;s native terrain tree tools and third-party vegetation packs available in the\u00a0Unity\u00a0Asset\u00a0Store are often more optimized. They are best for broader coverage of terrain or runtime environments.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">For this project, I used a free Unity tree asset. I remade the tree material, which will be discussed in Section 4.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">In\u00a0this\u00a0project,\u00a0I visualized\u00a0over 10k trees in the scene.\u00a0With the\u00a0built-in\u00a0LOD system\u00a0that comes with the tree models, the scene still runs smoothly.\u00a0I queried\u00a0an\u00a0ArcGIS Feature Service for Munich tree data,\u00a0and\u00a0instantiated\u00a03D tree\u00a0prefab\u00a0in Unity at each feature\u2019s geographic location\u00a0using the\u00a0<\/span><b><span data-contrast=\"auto\">location\u00a0component<\/span><\/b><span data-contrast=\"auto\">\u00a0and\u00a0<\/span><a href=\"https:\/\/developers.arcgis.com\/unity\/maps\/location-component\/\"><b><span data-contrast=\"none\">surface placement<\/span><\/b><\/a><span data-contrast=\"auto\">.\u00a0This particular dataset does not have\u00a0tree\u00a0diameter,\u00a0so the tree diameter is\u00a0inferred\u00a0from\u00a0the height.\u00a0I changed shader material properties\u00a0to\u00a0represent\u00a0fall colors\u00a0for realistic, seasonal tree foliage.\u00a0One thing to note is that most ArcGIS Feature Services\u00a0only\u00a0return up to 2000 records per query, so I used\u00a0<\/span><b><span data-contrast=\"auto\">pagination<\/span><\/b><span data-contrast=\"auto\"> to fetch all features. The sample code can be accessed in <a href=\"https:\/\/github.com\/Jade-JadeH\/MunichProject\">my github repo<\/a>. <\/span><span data-contrast=\"auto\">In the\u00a0future,\u00a0we plan to natively support feature layers\u00a0which will provide\u00a0an\u00a0easier workflow.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2956256,"id":2956256,"title":"image10","filename":"image10.png","filesize":2322535,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image10.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\/image10-13","alt":"Rooftop restaurant scene in Munich built using ArcGIS Maps SDK for Unity with animated characters.","author":"371252","description":"","caption":"Image 8: Trees with fall colors ","name":"image10-13","status":"inherit","uploaded_to":2956245,"date":"2026-02-13 23:41:36","modified":"2026-03-05 00:11:49","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":2294,"height":1218,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image10-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image10.png","medium-width":464,"medium-height":246,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image10.png","medium_large-width":768,"medium_large-height":408,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image10.png","large-width":1920,"large-height":1019,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image10-1536x816.png","1536x1536-width":1536,"1536x1536-height":816,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image10-2048x1087.png","2048x2048-width":2048,"2048x2048-height":1087,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image10-826x439.png","card_image-width":826,"card_image-height":439,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image10-1920x1019.png","wide_image-width":1920,"wide_image-height":1019}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3><span data-contrast=\"none\">3.3\u00a0Props<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:160,&quot;335559739&quot;:80}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">I searched for \u201cCity\u201d,\u00a0\u201cCity Pack\u201d,\u00a0\u201cEuropean street\u201d\u00a0in Unity Asset Store and\u00a0SketchFab\u00a0to find generic street props.\u00a0For\u00a0the\u00a0storefront,\u00a0you can search for \u201cstorefront\u201d,\u00a0\u201cshopfront\u201d,\u00a0\u201cEuropean building facade\u201d to find meshes or textures.\u00a0I mixed and matched different props together.\u00a0The drinks, bar\u00a0counters\u00a0and bar stools are from different\u00a0assets\u00a0and I put them together. Same with dinnerware,\u00a0chairs,\u00a0and tables.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">I also created some 3D assets. For lights, I downloaded a free string light model from SketchFab, then manually added light to each light bulb. I tried point light and emissive material applied to spheres and found emissive spheres easier for placement. I also used this for street lamps. I made the guardrail with a glass material. The wall, floor and storefronts are all simple planes with textures. <\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h2 id=\"material\"><span data-contrast=\"none\">4. Working with Materials<\/span><\/h2>\n<p><span data-contrast=\"auto\">After importing the assets,\u00a0some materials show a pink color. This usually\u00a0indicates\u00a0a shader mismatch, meaning the material is using a shader designed for a different\u00a0render\u00a0pipeline (like the Built-in, URP, or HDRP) than the project pipeline. Unity has tools to auto-convert Built-in pipeline to URP\/HDRP pipelines. In my case, I used HDRP, so I went to Window-Rendering-&gt;HDRP Wizard-&gt;Convert\u00a0all Built-in Materials to HDRP.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">After automatic conversion, if there are still some broken materials, or if the assets\u00a0don\u2019t\u00a0come with materials,\u00a0you can remake materials based on texture files that come with the asset.\u00a0If the\u00a0prefab\u00a0has LODs, you need to make materials for different LODs too.\u00a0In\u00a0<\/span><b><span data-contrast=\"auto\">HDRP<\/span><\/b><span data-contrast=\"auto\">, materials are built using\u00a0<\/span><b><span data-contrast=\"auto\">texture maps<\/span><\/b><span data-contrast=\"auto\">.\u00a0<\/span><\/p>\n<p><span class=\"TextRun SCXW186834707 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW186834707 BCX0\">\ud83d\udd27<\/span><\/span><span class=\"TextRun SCXW186834707 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW186834707 BCX0\">\u202fTip: <span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">The most common\u00a0<\/span><span class=\"NormalTextRun SCXW265355132 BCX0\">materials\u00a0<\/span><span class=\"NormalTextRun SCXW265355132 BCX0\">include the\u00a0<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">Base Map<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">, which defines the object&#8217;s color; the\u00a0<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">Normal Map<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">, which simulates surface detail and small bumps; and the\u00a0<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">Mask Map<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">, a\u00a0<\/span><span class=\"NormalTextRun SCXW265355132 BCX0\">rich\u00a0<\/span><span class=\"NormalTextRun SCXW265355132 BCX0\">texture that stores\u00a0<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">Metallic (R)<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">,\u00a0<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">Ambient Occlusion (G)<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">,\u00a0<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">Detail Mask (B)<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">, and\u00a0<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">Smoothness (A)<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">\u00a0in one file to optimize performance. You can also use\u00a0<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">Emissive Maps<\/span><\/span><span class=\"TextRun SCXW265355132 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW265355132 BCX0\">\u00a0to make parts of your material glow, which is perfect for\u00a0<\/span><span class=\"NormalTextRun SCXW265355132 BCX0\">objects<\/span><span class=\"NormalTextRun SCXW265355132 BCX0\">\u00a0<\/span><span class=\"NormalTextRun SCXW265355132 BCX0\">such as<\/span><span class=\"NormalTextRun SCXW265355132 BCX0\">\u00a0neon signs or screens in nighttime scenes.<\/span><\/span><span class=\"EOP SCXW265355132 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/span><\/span><\/p>\n<p><span data-contrast=\"auto\">Using tree materials as an example:\u00a0use the\u00a0<\/span><b><span data-contrast=\"auto\">HDRP\/Lit<\/span><\/b><span data-contrast=\"auto\">\u00a0or\u00a0<\/span><b><span data-contrast=\"auto\">URP\/Lit<\/span><\/b><span data-contrast=\"auto\">\u00a0shader depending on your\u00a0render\u00a0pipeline. For bark materials,\u00a0set\u00a0<\/span><b><span data-contrast=\"auto\">Surface Type<\/span><\/b><span data-contrast=\"auto\">\u00a0as\u00a0<\/span><b><span data-contrast=\"auto\">Opaque<\/span><\/b><span data-contrast=\"auto\">. Depending on what textures\u00a0are available,\u00a0set\u00a0<\/span><b><span data-contrast=\"auto\">Base Map<\/span><\/b><span data-contrast=\"auto\">\u00a0and\u00a0<\/span><b><span data-contrast=\"auto\">Normal\u00a0Map<\/span><\/b><span data-contrast=\"auto\">.\u00a0You can adjust\u00a0<\/span><b><span data-contrast=\"auto\">Smoothness<\/span><\/b><span data-contrast=\"auto\">\u00a0to create the rough feeling of the bark.\u00a0For leaves and branches,\u00a0set\u00a0<\/span><b><span data-contrast=\"auto\">Surface Type<\/span><\/b><span data-contrast=\"auto\">\u00a0as\u00a0<\/span><b><span data-contrast=\"auto\">Transparent<\/span><\/b><span data-contrast=\"auto\">, assign the\u00a0Base Map, Normal Map and Mask Map, and enable\u00a0<\/span><b><span data-contrast=\"auto\">Double-Sided<\/span><\/b><span data-contrast=\"auto\">.\u00a0You can also change the color of the leaves.\u00a0Below is an example setup.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">For architectural or natural materials to represent floors, walls, or terrains, you&#8217;ll find material options in the Unity Asset Store. To get custom floor materials, you can also search for \u201cfloor texture seamless\u201d. Use UV tiling to control the tiling. UV tiling controls how many times a texture is repeated across a mesh\u2019s surface. By adjusting the UV tiling values, you can make a texture appear larger and less repetitive (low tiling values) or more detailed and denser (high tiling values).<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2956257,"id":2956257,"title":"image11","filename":"image11.png","filesize":2648061,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image11.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\/image11-9","alt":"Rooftop restaurant scene in Munich built using ArcGIS Maps SDK for Unity with animated characters.","author":"371252","description":"","caption":"Image 9: Use emissive materials for lighting  ","name":"image11-9","status":"inherit","uploaded_to":2956245,"date":"2026-02-13 23:41:55","modified":"2026-03-05 00:11:55","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1900,"height":1122,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image11-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image11.png","medium-width":442,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image11.png","medium_large-width":768,"medium_large-height":454,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image11.png","large-width":1829,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image11-1536x907.png","1536x1536-width":1536,"1536x1536-height":907,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image11.png","2048x2048-width":1900,"2048x2048-height":1122,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image11-787x465.png","card_image-width":787,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image11-1829x1080.png","wide_image-width":1829,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":2956264,"id":2956264,"title":"Picture12","filename":"Picture12.png","filesize":459789,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/Picture12.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\/picture12-29","alt":"","author":"371252","description":"","caption":"Image 10: Tree materials example setting.","name":"picture12-29","status":"inherit","uploaded_to":2956245,"date":"2026-02-13 23:44:21","modified":"2026-03-05 00:12:03","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1625,"height":1570,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/Picture12-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/Picture12.png","medium-width":270,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/Picture12.png","medium_large-width":768,"medium_large-height":742,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/Picture12.png","large-width":1118,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/Picture12-1536x1484.png","1536x1536-width":1536,"1536x1536-height":1484,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/Picture12.png","2048x2048-width":1625,"2048x2048-height":1570,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/Picture12-481x465.png","card_image-width":481,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/Picture12-1118x1080.png","wide_image-width":1118,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2 id=\"animation\"><span data-contrast=\"none\">5. Animating Characters<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:160,&quot;335559739&quot;:80}\">\u00a0<\/span><\/h2>\n<p><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\">I downloaded\u00a0<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">several\u00a0<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">free characters from the\u00a0<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">Unity\u00a0<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">A<\/span><span class=\"NormalTextRun CommentStart SCXW257158118 BCX0\">sset\u00a0<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">S<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">tore<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">,<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\"> then use<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">d<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0<\/span><\/span><a class=\"Hyperlink SCXW257158118 BCX0\" href=\"https:\/\/www.mixamo.com\/#\/?page=1&amp;query=sit\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW257158118 BCX0\" data-ccp-charstyle=\"Hyperlink\">Mixamo<\/span><\/span><\/a><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0to\u00a0<\/span><\/span><strong><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\">retarget<\/span><\/span><\/strong><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\"><strong>\u00a0<\/strong>the animation. <\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">Mixamo<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0is an excellent resource for downloading free animations.\u00a0<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">Retargeting is the process of transferring animations created for one character skeleton onto another character with a different skeleton structure.\u202fOnce I downloaded the character<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">s<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0and the\u00a0<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">Mixamo<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0animation, I\u00a0<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">went<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0to the\u00a0<\/span><\/span><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\">Rig<\/span><\/span><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0tab and change<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">d<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0the\u00a0<\/span><\/span><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\">Animation Type<\/span><\/span><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0to\u00a0<\/span><\/span><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\">Humanoid<\/span><\/span><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\">. I did the same thing for the character. I then went back to my animation in the Animation tab, change<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">d<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0the animation\u00a0<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">name<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0and check<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">ed<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0<\/span><\/span><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\">Loop Time<\/span><\/span><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0for the animation to loop<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">. I then dragged and dropped the character into the\u00a0<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">scene and<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0dragged and dropped the animation into the character. When I did that, Unity created\u00a0<\/span><\/span><strong><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\">Animator<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0Controller<\/span><\/span><\/strong><span class=\"TextRun SCXW257158118 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0for the character. Animator Controller manages animation\u00a0<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">sequence<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0and logic in a graphic format. At this point, you can go to play mode and\u00a0<\/span><span class=\"NormalTextRun CommentStart SCXW257158118 BCX0\">watch<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0the<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0animation<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">s<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">play<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">\u00a0in action.\u00a0<\/span><span class=\"NormalTextRun SCXW257158118 BCX0\">For my scene, I had a bartending animation, a standing and talking animation, and a few variations of sitting and talking animations.\u00a0<\/span><\/span><span class=\"EOP SCXW257158118 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2956776,"id":2956776,"title":"image14Original","filename":"image14-1-e1771462815545.png","filesize":73094,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image14-1-e1771462815545.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\/image14-8","alt":"","author":"371252","description":"","caption":"Image 11: animation example setting (click to see the full image)","name":"image14-8","status":"inherit","uploaded_to":2956245,"date":"2026-02-19 00:59:15","modified":"2026-03-05 00:12:08","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":300,"height":645,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image14-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image14-1-e1771462815545.png","medium-width":121,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image14-1-e1771462815545.png","medium_large-width":300,"medium_large-height":645,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image14-1-e1771462815545.png","large-width":300,"large-height":645,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image14-1-e1771462815545.png","1536x1536-width":300,"1536x1536-height":645,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image14-1-e1771462815545.png","2048x2048-width":300,"2048x2048-height":645,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image14-1-216x465.png","card_image-width":216,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image14-1-503x1080.png","wide_image-width":503,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image14.png"},{"acf_fc_layout":"content","content":"<p><span class=\"TextRun SCXW157793213 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW157793213 BCX0\"><span data-contrast=\"auto\">\ud83d\udd27<\/span><span data-contrast=\"auto\">\u00a0<\/span>Tip:<span class=\"NormalTextRun SCXW149722334 BCX0\"> <span class=\"NormalTextRun SCXW229500409 BCX0\">If you notice character jittering with animation in play mode,\u00a0<\/span><span class=\"NormalTextRun SCXW229500409 BCX0\">check if your camera is at\u00a0<\/span><span class=\"NormalTextRun SCXW229500409 BCX0\">the same or nearby\u00a0<\/span><span class=\"NormalTextRun SCXW229500409 BCX0\">position\u00a0<\/span><span class=\"NormalTextRun SCXW229500409 BCX0\">with your origin position (your camera\u00a0<\/span><span class=\"NormalTextRun CommentStart SCXW229500409 BCX0\">does<\/span><span class=\"NormalTextRun SCXW229500409 BCX0\">\u00a0not<\/span><span class=\"NormalTextRun SCXW229500409 BCX0\">\u00a0have to use the same spatial reference with the origin, but they should point to a similar position on the map).<\/span><\/span><\/span><\/span><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2959332,"id":2959332,"title":"image15","filename":"image15-scaled.png","filesize":3915660,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image15-scaled.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\/image15-8","alt":"","author":"371252","description":"","caption":"Image 12: The GIS scene in Unity","name":"image15-8","status":"inherit","uploaded_to":2956245,"date":"2026-03-05 00:10:01","modified":"2026-03-05 00:13:54","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":2560,"height":1394,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image15-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image15-scaled.png","medium-width":464,"medium-height":253,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image15-scaled.png","medium_large-width":768,"medium_large-height":418,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image15-scaled.png","large-width":1920,"large-height":1046,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image15-1536x837.png","1536x1536-width":1536,"1536x1536-height":837,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image15-2048x1115.png","2048x2048-width":2048,"2048x2048-height":1115,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image15-826x450.png","card_image-width":826,"card_image-height":450,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image15-1920x1046.png","wide_image-width":1920,"wide_image-height":1046}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2 id=\"cinematics\"><span data-contrast=\"none\">6. Cinematic Camera Flythrough<\/span><\/h2>\n<p><span data-contrast=\"auto\">Unity provides an easy workflow to render cinematic flythrough videos. I used <\/span><b><span data-contrast=\"auto\">Cinemachine<\/span><\/b><span data-contrast=\"auto\">,\u00a0<\/span><b><span data-contrast=\"auto\">Timeline, <\/span><\/b><span data-contrast=\"auto\">and\u00a0<\/span><b><span data-contrast=\"auto\">Recorder\u00a0<\/span><\/b><span data-contrast=\"auto\">for this process. In Package manager, I first downloaded the packages <\/span><i><span data-contrast=\"auto\">Recorder and\u00a0Cinemachine<\/span><\/i><span data-contrast=\"auto\">\u00a0(if not already downloaded).\u00a0I added a\u00a0<\/span><i><span data-contrast=\"auto\">CinemachineCamera<\/span><\/i><b><span data-contrast=\"auto\">\u00a0<\/span><\/b><span data-contrast=\"auto\">to the scene via\u00a0<\/span><i><span data-contrast=\"auto\">GameObject\u00a0&gt;\u00a0Cinemachine\u00a0&gt;\u00a0Cinemachine\u00a0Camera<\/span><\/i><span data-contrast=\"auto\">. Then,\u00a0I created a new\u00a0Timeline\u00a0by\u00a0<\/span><i><span data-contrast=\"auto\">Window\u00a0&gt;\u00a0Sequencing &gt; Timeline<\/span><\/i><span data-contrast=\"auto\">.\u00a0In Timeline, I\u00a0dragged and dropped the\u00a0<\/span><i><span data-contrast=\"auto\">CinemachineCamera<\/span><\/i><span data-contrast=\"auto\"> into it and selected\u00a0<\/span><i><span data-contrast=\"auto\">Add Animation Track<\/span><\/i><span data-contrast=\"auto\">. I then clicked on the red record button, while moving the <\/span><i><span data-contrast=\"auto\">CinemachineCamera<\/span><\/i><span data-contrast=\"auto\"> to record key frames. I then went to Window &gt; General &gt; Recorder to set up the rendering option, which renders image sequences. Afterwards, you can use video editing software such as Adobe Premier Pro to convert image sequences to a video. With this process, you should be able to render a video including your animated character. <\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">For this small-scale\u00a0area\u00a0rendering,\u00a0I\u00a0didn\u2019t\u00a0need to use ArcGIS camera\u00a0with\u00a0Cinemachine\u00a0camera, but if you are working with a large area, our documentation provides\u00a0<\/span><a href=\"https:\/\/developers.arcgis.com\/unity\/maps\/camera\/\"><span data-contrast=\"none\">tips and tricks to work with ArcGIS Camera.<\/span><\/a><span data-contrast=\"auto\">\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2956261,"id":2956261,"title":"image17","filename":"image17.png","filesize":2767272,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image17.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\/image17-7","alt":"Rooftop restaurant scene in Munich built using ArcGIS Maps SDK for Unity with animated characters.","author":"371252","description":"","caption":"Image 13: video rendering setting (the characters are in T-pose in editor mode) ","name":"image17-7","status":"inherit","uploaded_to":2956245,"date":"2026-02-13 23:43:20","modified":"2026-03-05 00:14:02","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":2556,"height":1394,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image17-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image17.png","medium-width":464,"medium-height":253,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image17.png","medium_large-width":768,"medium_large-height":419,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image17.png","large-width":1920,"large-height":1047,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image17-1536x838.png","1536x1536-width":1536,"1536x1536-height":838,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image17-2048x1117.png","2048x2048-width":2048,"2048x2048-height":1117,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image17-826x450.png","card_image-width":826,"card_image-height":450,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/02\/image17-1920x1047.png","wide_image-width":1920,"wide_image-height":1047}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2 id=\"conclusion\"><span data-contrast=\"none\">7. Conclusion<\/span><\/h2>\n<p><span class=\"TextRun SCXW174716820 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun CommentStart SCXW174716820 BCX0\">Whether<\/span><span class=\"NormalTextRun SCXW174716820 BCX0\">\u00a0you<\/span><span class=\"NormalTextRun SCXW174716820 BCX0\">\u00a0are<\/span><span class=\"NormalTextRun SCXW174716820 BCX0\">\u00a0crafting an immersive urban simulation, a story-driven experience, or a compelling data visualization, ArcGIS Maps SDK for Unity offers a powerful bridge between real-world geospatial data and interactive 3D environments. By combining authoritative GIS layers with Unity\u2019s cinematic and creative tools, you can transform raw datasets into rich, emotionally resonant scenes that communicate more than just facts\u2014they tell stories. I hope this post gives you the inspiration and technical starting point to explore your own GIS-powered narrative workflows. The code used in this project is shared in<span data-contrast=\"auto\">\u00a0<a href=\"https:\/\/github.com\/Jade-JadeH\/MunichProject\">my github repo<\/a>. <\/span><\/span><\/span><span class=\"TextRun SCXW174716820 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW174716820 BCX0\">To get started with ArcGIS Maps SDK for Unity, download the latest version from the <\/span><\/span><a class=\"Hyperlink SCXW174716820 BCX0\" href=\"https:\/\/assetstore.unity.com\/packages\/tools\/integration\/arcgis-maps-sdk-for-unity-258537\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW174716820 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW174716820 BCX0\" data-ccp-charstyle=\"Hyperlink\">Unity Asset Store<\/span><\/span><\/a><span class=\"TextRun SCXW174716820 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW174716820 BCX0\">\u00a0and visit the\u00a0<\/span><\/span><a class=\"Hyperlink SCXW174716820 BCX0\" href=\"https:\/\/developers.arcgis.com\/unity\/downloads\/\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW174716820 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW174716820 BCX0\" data-ccp-charstyle=\"Hyperlink\">Esri Developer website<\/span><\/span><\/a><span class=\"TextRun SCXW174716820 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW174716820 BCX0\">\u00a0for more information.<\/span><\/span><span class=\"TextRun SCXW174716820 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW174716820 BCX0\">\u00a0<\/span><\/span><\/p>\n<p><span data-contrast=\"auto\">Assets used in this project:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Unity Asset Store<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/3d\/props\/3d-game-asset-clay-pots-217692\"><span data-contrast=\"none\">3D Game Asset &#8211; Clay Pots<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/2d\/textures-materials\/sky\/8k-skybox-pack-free-150926\"><span data-contrast=\"none\">8K Skybox Pack Free<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/2d\/textures-materials\/sky\/allsky-free-10-sky-skybox-set-146014\"><span data-contrast=\"none\">AllSky Free &#8211; 10 Sky \/ Skybox Set<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/3d\/props\/bar-stool-98790\"><span data-contrast=\"none\">Bar Stool<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/p\/big-oak-tree-free-279431\"><span data-contrast=\"none\">Big Oak Tree FREE<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/p\/candle-vfx-299223\"><span data-contrast=\"none\">Candle VFX<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/p\/coffee-shop-environment-217600\"><span data-contrast=\"none\">Coffee Shop Environment<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/3d\/props\/exterior\/colored-parasols-214006\"><span data-contrast=\"none\">Colored Parasols<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/3d\/environments\/urban\/demo-city-by-versatile-studio-mobile-friendly-269772\"><span data-contrast=\"none\">Demo City By Versatile Studio (Mobile Friendly)<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/p\/hdrp-oak-tree-214007\"><span data-contrast=\"none\">HDRP Oak Tree<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/2d\/textures-materials\/tiles\/marble-design-materials-284996\"><span data-contrast=\"none\">Marble Design Materials<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/p\/npc-casual-set-00-326131\"><span data-contrast=\"none\">npc_casual_set_00<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/p\/pbc-plates-bowls-and-cups-312159\"><span data-contrast=\"none\">PBC &#8211; Plates, Bowls and Cups<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/2d\/textures-materials\/pbr-materials-sampler-pack-40112\"><span data-contrast=\"none\">PBR Materials Sampler Pack<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/assetstore.unity.com\/packages\/p\/suit-character-pack-generic-16772\"><span data-contrast=\"none\">Suit Character Pack &#8211; Generic<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">SketchFab<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/sketchfab.com\/3d-models\/a-table-54d34c17351d4afcbdfe440351dd7341#download\"><span data-contrast=\"none\">A table<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/sketchfab.com\/3d-models\/plam-tree-planter-03de314c913c433ab4edf16c8345b528#download\"><span data-contrast=\"none\">Plam tree Planter<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/sketchfab.com\/3d-models\/patio-heat-lamp-cf1907ee6681495a9ef698ec6a0cb1bb\"><span data-contrast=\"none\">Patio Heat Lamp<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/sketchfab.com\/3d-models\/traffic-props-e551613ced47452c8bcbbb79311243db#download\"><span data-contrast=\"none\">Traffic Props<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/sketchfab.com\/3d-models\/european-city-assetpack-78b8429c31b04f879ede2a1c92436b8b#download\"><span data-contrast=\"none\">European City Assetpack<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/sketchfab.com\/3d-models\/low-poly-pack-alcohol-bottles-98ffcad6a45c4a71922227bf0005590e#download\"><span data-contrast=\"none\">Low poly Pack Alcohol bottles<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/sketchfab.com\/3d-models\/modern-industrial-bar-7dc82be4d7204a6da954e632aef58bd4#download\"><span data-contrast=\"none\">Modern Industrial Bar<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/sketchfab.com\/3d-models\/simple-string-lights-1c0ba51226534223ae20a4f46bf4317b#download\"><span data-contrast=\"none\">Simple String Lights<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n"},{"acf_fc_layout":"content","content":"<h4 id=\"att\">Attribution for rooftop scenes in this blog post:<\/h4>\n<p><em>Data credit: BVV \u2013 geodaten.bayern.de, Copyright \u00a9 2021 Hexagon \/ Esri. All rights reserved., Sources: Vantor, Airbus DS, USGS, NGA, NASA, CGIAR, GEBCO, N Robinson, NCEAS, NLS, OS, NMA, Geodatastyrelsen and the GIS User Community, Microsoft, Vantor, Earthstar Geographics.<\/em><\/p>\n"}],"related_articles":[{"ID":2959379,"post_author":"4091","post_date":"2026-03-06 12:15:22","post_date_gmt":"2026-03-06 20:15:22","post_content":"","post_title":"ArcGIS Maps SDKs for Game Engines at the 2026 Esri Developer &amp; Technology Summit","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-maps-sdks-for-game-engines-at-the-2026-esri-developer-technology-summit","to_ping":"","pinged":"","post_modified":"2026-03-06 12:15:22","post_modified_gmt":"2026-03-06 20:15:22","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2959379","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2950385,"post_author":"5171","post_date":"2025-12-03 07:00:21","post_date_gmt":"2025-12-03 15:00:21","post_content":"","post_title":"Announcing ArcGIS Maps SDK 2.2 for Unity","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"announcing-arcgis-maps-sdk-2-2-for-unity","to_ping":"","pinged":"","post_modified":"2025-12-03 06:56:56","post_modified_gmt":"2025-12-03 14:56:56","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2950385","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2775992,"post_author":"371252","post_date":"2025-05-01 08:12:31","post_date_gmt":"2025-05-01 15:12:31","post_content":"","post_title":"Creating a Cinematic Scene with ArcGIS Maps SDK for Unreal Engine","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"creating-a-cinematic-scene-in-unreal-engine-with-arcgis-maps-sdk-for-unreal-engine","to_ping":"","pinged":"","post_modified":"2025-05-08 18:05:00","post_modified_gmt":"2025-05-09 01:05:00","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2775992","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":1145282,"post_author":"6971","post_date":"2021-02-19 09:28:19","post_date_gmt":"2021-02-19 17:28:19","post_content":"","post_title":"Turn your neighborhood into a cinematic command center hexagon map\u2026because!","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"turn-your-neighborhood-into-a-cinematic-command-center-hexagon-mapbecause","to_ping":"","pinged":"","post_modified":"2021-02-19 11:30:42","post_modified_gmt":"2021-02-19 19:30:42","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1145282","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"show_article_image":true,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/card.jpg","wide_image":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Creating a Cinematic Scene with ArcGIS Maps SDK for Unity Creating Cinematic 3D Scenes in Unity with ArcGIS Maps SDK: A Complete Workflow<\/title>\n<meta name=\"description\" content=\"Learn how to create cinematic 3D scenes in Unity using ArcGIS Maps SDK. This tutorial covers importing GIS data, lighting, materials, animated characters, and cinematic camera flythroughs to build a realistic scene in Munich.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creating a Cinematic Scene with ArcGIS Maps SDK for Unity\" \/>\n<meta property=\"og:description\" content=\"Learn how to create cinematic 3D scenes in Unity using ArcGIS Maps SDK. This tutorial covers importing GIS data, lighting, materials, animated characters, and cinematic camera flythroughs to build a realistic scene in Munich.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-12T20:32:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image16-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1033\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\"},\"author\":{\"name\":\"Jade Huang\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f56201138df91b4a00008915691b037f\"},\"headline\":\"Creating a Cinematic Scene with ArcGIS Maps SDK for Unity\",\"datePublished\":\"2026-03-04T17:08:32+00:00\",\"dateModified\":\"2026-03-12T20:32:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\"},\"wordCount\":10,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"3D\",\"ArcGIS\",\"arcgis maps sdk for unity\",\"Game Engines\",\"unity\"],\"articleSection\":[\"3D Visualization &amp; Analytics\",\"Design and Planning\",\"Developers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\",\"name\":\"Creating a Cinematic Scene with ArcGIS Maps SDK for Unity Creating Cinematic 3D Scenes in Unity with ArcGIS Maps SDK: A Complete Workflow\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2026-03-04T17:08:32+00:00\",\"dateModified\":\"2026-03-12T20:32:39+00:00\",\"description\":\"Learn how to create cinematic 3D scenes in Unity using ArcGIS Maps SDK. This tutorial covers importing GIS data, lighting, materials, animated characters, and cinematic camera flythroughs to build a realistic scene in Munich.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Creating a Cinematic Scene with ArcGIS Maps SDK for Unity\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f56201138df91b4a00008915691b037f\",\"name\":\"Jade Huang\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/04\/Jiawei_Huang-213x200.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/04\/Jiawei_Huang-213x200.jpg\",\"caption\":\"Jade Huang\"},\"description\":\"Jade (Jiawei) is a product engineer for the ArcGIS Maps SDKs for Game Engines. She holds a PhD degree in GIS from Pennsylvania State University. She also has a background in Natural Resources and Environment from University of Michigan. She is passionate about both the creative and technical aspects of game engines.\",\"sameAs\":[\"https:\/\/sites.psu.edu\/jade\/\"],\"jobTitle\":\"Product Engineer\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/jadehuang\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Creating a Cinematic Scene with ArcGIS Maps SDK for Unity Creating Cinematic 3D Scenes in Unity with ArcGIS Maps SDK: A Complete Workflow","description":"Learn how to create cinematic 3D scenes in Unity using ArcGIS Maps SDK. This tutorial covers importing GIS data, lighting, materials, animated characters, and cinematic camera flythroughs to build a realistic scene in Munich.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity","og_locale":"en_US","og_type":"article","og_title":"Creating a Cinematic Scene with ArcGIS Maps SDK for Unity","og_description":"Learn how to create cinematic 3D scenes in Unity using ArcGIS Maps SDK. This tutorial covers importing GIS data, lighting, materials, animated characters, and cinematic camera flythroughs to build a realistic scene in Munich.","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2026-03-12T20:32:39+00:00","og_image":[{"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/03\/image16-scaled.png","width":1920,"height":1033,"type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity"},"author":{"name":"Jade Huang","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f56201138df91b4a00008915691b037f"},"headline":"Creating a Cinematic Scene with ArcGIS Maps SDK for Unity","datePublished":"2026-03-04T17:08:32+00:00","dateModified":"2026-03-12T20:32:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity"},"wordCount":10,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["3D","ArcGIS","arcgis maps sdk for unity","Game Engines","unity"],"articleSection":["3D Visualization &amp; Analytics","Design and Planning","Developers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity","name":"Creating a Cinematic Scene with ArcGIS Maps SDK for Unity Creating Cinematic 3D Scenes in Unity with ArcGIS Maps SDK: A Complete Workflow","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2026-03-04T17:08:32+00:00","dateModified":"2026-03-12T20:32:39+00:00","description":"Learn how to create cinematic 3D scenes in Unity using ArcGIS Maps SDK. This tutorial covers importing GIS data, lighting, materials, animated characters, and cinematic camera flythroughs to build a realistic scene in Munich.","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/unity\/3d-gis\/creating-a-cinematic-scene-with-arcgis-maps-sdk-for-unity#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Creating a Cinematic Scene with ArcGIS Maps SDK for Unity"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f56201138df91b4a00008915691b037f","name":"Jade Huang","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/04\/Jiawei_Huang-213x200.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/04\/Jiawei_Huang-213x200.jpg","caption":"Jade Huang"},"description":"Jade (Jiawei) is a product engineer for the ArcGIS Maps SDKs for Game Engines. She holds a PhD degree in GIS from Pennsylvania State University. She also has a background in Natural Resources and Environment from University of Michigan. She is passionate about both the creative and technical aspects of game engines.","sameAs":["https:\/\/sites.psu.edu\/jade\/"],"jobTitle":"Product Engineer","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/jadehuang"}]}},"text_date":"March 4, 2026","author_name":"Jade Huang","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/jadehuang","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcGIS Maps SDK for Unity","tag_data":[{"term_id":25781,"name":"3D","slug":"3d","term_group":0,"term_taxonomy_id":25781,"taxonomy":"post_tag","description":"","parent":0,"count":343,"filter":"raw"},{"term_id":25891,"name":"ArcGIS","slug":"arcgis","term_group":0,"term_taxonomy_id":25891,"taxonomy":"post_tag","description":"","parent":0,"count":209,"filter":"raw"},{"term_id":757141,"name":"arcgis maps sdk for unity","slug":"arcgis-maps-sdk-for-unity","term_group":0,"term_taxonomy_id":757141,"taxonomy":"post_tag","description":"","parent":0,"count":19,"filter":"raw"},{"term_id":560942,"name":"Game Engines","slug":"game-engines","term_group":0,"term_taxonomy_id":560942,"taxonomy":"post_tag","description":"","parent":0,"count":22,"filter":"raw"},{"term_id":757171,"name":"unity","slug":"unity","term_group":0,"term_taxonomy_id":757171,"taxonomy":"post_tag","description":"","parent":0,"count":6,"filter":"raw"}],"category_data":[{"term_id":23771,"name":"3D Visualization &amp; Analytics","slug":"3d-gis","term_group":0,"term_taxonomy_id":23771,"taxonomy":"category","description":"","parent":0,"count":693,"filter":"raw"},{"term_id":37151,"name":"Design and Planning","slug":"design-planning","term_group":0,"term_taxonomy_id":37151,"taxonomy":"category","description":"","parent":0,"count":118,"filter":"raw"},{"term_id":738191,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":738191,"taxonomy":"category","description":"","parent":0,"count":426,"filter":"raw"}],"product_data":[{"term_id":765422,"name":"ArcGIS Maps SDK for Unity","slug":"unity","term_group":0,"term_taxonomy_id":765422,"taxonomy":"product","description":"","parent":36601,"count":28,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=unity","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2956245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/371252"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2956245"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2956245\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2956245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2956245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2956245"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2956245"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2956245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}