ArcGIS CityEngine

CityEngine 2020.0 release highlights

Hello friends! I hope you’re all doing your best to stay safe and well!

We’ve stayed busy during this time and are really proud to announce that the newest version of CityEngine has been officially released.

Bye bye Esri CityEngine, say hello to ArcGIS CityEngine!
Yes, CityEngine is now an official part of the ArcGIS family…not that it wasn’t before but the new name cements this further and underpins our aim to build products that are part of a platform and work together seamlessly.

Let me walk you through some of my favorite new features, but don’t forget to check out the whole list of improvements in the 2020.0 release notes.

Improved Viewport rendering (PBR)

Some of you might have seen that on Taisha’s CityEngine Show, I recently announced that we were making some major rendering improvements in the Viewport. The Viewport rendering now uses a physically based lighting model for higher quality visualization. …and it looks soooo good!

As high-fidelity visualization tools such as game engines and ray-tracing solutions become more and more an integral part of our user’s production pipelines, it was our goal to improve the quality of our rendering in the Viewport. This means static and procedural models with PBR (Physically Based Rendering) materials using emissive, roughness, occlusion, and metallic maps are now correctly displayed in the Viewport.

A model with PBR materials in the CityEngine viewport
An urban design visualized in CityEngine’s viewport with the new PBR lighting model


Tool Options for interactive design

In previous CityEngine versions, many features of our interactive 2D and 3D design tools were only accessible with the hot keys. We now added the new Tool Options window to make these features easily accessible in a graphical user interface for each tool (yay!). The Tool Options also allow for better numeric input while drawing and a simple control of the snapping behavior.

Speaking of snapping behavior, this is also something we’ve improved. In order to declutter the snapping visuals, the mouse pointer now provides visual feedback when snapping occurs. …you can also specify which features you would like to snap to in the new Tool Options window in the drawing tools.

Tool Options in CityEngine
Tool Options in CityEngine


Support for USD

Here’s something really useful for our VFX users: CityEngine can now export to Pixar’s Universal Scene Description (USD) format!

Pixar’s USD is a very modern and fast 3D file format supported by many popular 3D applications. USD allows CityEngine to efficiently export large scenes to VFX, animation, and game production pipelines. It is the first format to fully retain CityEngine layer hierarchies and object boundaries at export time. Also, USD provides a much faster export or import experience for large scenes compared to traditional formats like FBX or OBJ. The “USD Preview Material” allows for out of the box PBR material support in downstream applications, such as SideFX Houdini or any other renderer compatible with USD.


USD (Universal Scene Description)


CGA: Arrays, CSV reader & more

We added extensive support for arrays including a native reader for CSV files (Comma Separated Values). This means you can add to your CGA rules data from an external file created from spreadsheet software, such as Microsoft Excel. Because it is now possible to better separate code from data, the CGA code is cleaner and more readable. This decouples changing data from editing and recompiling CGA code. CGA array attributes are also now fully supported in the UI (Inspector), allowing for an intuitive and clean interface with the rules.
Additionally, the performance of the CGA Editor was greatly improved which makes rule editing more responsive, especially for rules with many parameters.

Floor usages with legend
Excel table controls the tiles to create green spaces

*stops to take a breath*…I could go on and on, but then this blogpost would just be too long for anyone to want to read until the end.

So, I will leave you with a couple of bullet points to round this off.


…and finally, we also recently released something called PyPRT. This is a Python binding for Procedural Runtime (PRT) that allows you to easily and efficiently generate 3D content in Python. To find out more about PyPRT, check out these blogposts:



…don’t forget

Go to My Esri to upgrade to CityEngine 2020.0. Or, if you are new to CityEngine, try it out now with a fully functional free trial version.

Join our CityEngine community on FacebookTwitter, and Instagram. Over and out.


About the author

Taisha holds degrees in Geomatic Engineering and Arts from the University of Melbourne, as well as an MBA from RWTH Aachen/University of St. Gallen focusing on technology and innovation. Taisha is a Technology Leader in the ESRI R&D Center in Zürich and is interested in all things related to technology, sustainability, art and the entertainment industry.

Notify of
Inline Feedbacks
View all comments

Next Article

Survey-less Indoor Positioning with ArcGIS IPS

Read this article