CityEngine 2020.1 release notes


Drawing and editing


  • You can now press the Tab key when using a drawing tool in the Viewport to jump to the first input field of the Tool Options. This makes working with constraints and numeric inputs smoother.
  • You can now use guides in combination with the Push Pull tool to align extrusions with neighboring shapes, for example.
  • Added numerical input to offset distance in the tool options of the Offset Shapes tool.
  • The Subtract Shapes tool now also works for shapes completely inside other shapes.
  • You can now set a length constraint in the tool options of the Polygonal Street Creation tool.
  • While drawing an arc, you can align the end tangent to edges of the same shape or guides.
  • The analysis tools are now grouped as subtools in the tool options for convenient access.


  • Fixed a bug in which shapes were added to locked or hidden layers when using the Convert Models to Shapes tool.
  • Fixed a bug in which a shape vanished in some cases when using the Offset Shapes tool.
  • Fixed a bug in which the drawing of subsequent arcs sometimes placed vertices incorrectly.
  • Fixed a regression that prevented shapes from being manually extruded with the Push Pull tool when drawn on top of locked objects.
  • Fixed an issue in which the cursor was displayed incorrectly while using the Rectangular Shape Creation tool.


  • Improved the snapping visuals for the Push Pull tool and made them consistent with shape drawing.
  • All shape drawing tools can snap to models.
  • Fixed a bug in which snapping indicators were not displayed when using length constraints in the Polygonal Shape Creation tool.
  • Fixed a bug in which snapping visuals where not displayed correctly when drawing on top of existing shapes.
  • Fixed a bug in the Rectangular Shape Creation tool in which the snapping visuals where displayed without actually snapping.
  • Snapping to global axes is available for all segments.
  • When snapping to selected street segments, the snapping highlight is displayed correctly.
  • The polygonal shape and street creation tools snap perpendicularly to guides.
  • The Polygonal Street Creation tool now snaps to street nodes before snapping to guides.
  • Fixed a bug in which snapping to guides was not available for the first node drawn with the Polygonal Street Creation tool.

Move tool

  • Added snapping when moving vertices using the axis handles. Snapping can be deactivated in the tool options.
  • When moving a vertex using the yellow disc handle, snapping is restricted to geometry in the same plane as the yellow disc.
  • Added a new orange sphere, similar to the one in the measurement tools, to allow snapping to any geometry when moving a vertex.
  • Removed snapping to dynamic street shapes when moving a street node because this caused accidental self-snapping.

Measurement tools

  • Added perpendicular snapping to the measurement tools. This enables measuring the heights of triangles and other nonrectangular shapes.
  • Fixed a bug in which snapping ignored guides when aborting the measurement tools.
  • The tool options input fields of the measurement tools now show the current coordinate system units.


  • The shape creation tools snap to the exact point on a guide in which the resulting edge is perpendicular to the guide.
  • The shape creation tools snap to the intersection of guides. In force planar mode, guides are projected onto the drawing plane temporarily for snapping computations.
  • The Guide Creation tool now uses the same symbol for right angles as the measurement tools.


  • Changes made to the selection can now be undone.
  • Fixed a bug in which undo/redo did not work correctly in the following situations:
    • Applying the Push Pull tool on shapes with holes
    • Drawing the first and second vertex with the shape drawing tools
    • Drawing with the Polygonal Shape Creation tool
  • Fixed a bug in which undo/redo did not behave as expected in the tool options of the transform tools.


  • Improved rendering of transparent objects.
  • The information display now shows the unit suffix for non-GIS coordinate systems.
  • Improved the type setting in the Viewport for improved readability.
  • Fixed a macOS bug in which the status line in the Viewport was rendered at the wrong size on setups with multiple (Retina) displays.
  • Resolved an issue that caused shadows and ambient occlusion to not display immediately when activated.


  • An error marker is now displayed if the defined rule file contains errors or does not exist in the workspace.
  • Object attributes are displayed in strict alphabetical order regardless of their type.
  • Fixed a bug in which the @Enum annotation in conjunction with the valuesAttr did not work correctly for CGA attributes from imported rule files.
  • Added a true/false selector for Boolean array elements.
  • The Rule File link now points to the correct location for an RPK.
  • Fixed a bug in which the color value was not shown after canceling the color picker.
  • Fixed a bug in which the drop-down menu of a combo box failed to open with a click.
  • Fixed a bug in which stepping through the entries of a drop-down menu using the arrow keys did not work.
  • Fixed a bug in which the arrow button of the combo box didn’t close or open the drop-down menus.
  • Fixed an issue that prevented creating a new style with array attributes.
  • Fixed a bug that prevented resetting attributes to their default value when modified using the Local Edits tool.
  • Fixed a formatting bug that prevented displaying connected array attributes correctly.
  • Fixed a bug in which CGA attributes with the @Distance, @Percent, and @Angle annotations used a wrong decimal separator on some non-English operating systems. Therefore, editing of these attributes was broken.
  • Aligned the visual design of input fields and combo boxes.
  • Improved the performance for rules with many imports.

Import and export 

All formats

  • Fixed a bug in which only one model of a multimodel KMZ was imported into a scenario on drag and drop while all other models became default objects.

Universal Scene Description (USD)

Unreal Engine exporter (Datasmith)

  • The Datasmith exporter is now able to generate levels of detail (LOD) for CGA rules that are written to use a CGA LOD attribute.
  • The Datasmith exporter now prevents writing empty mesh objects and avoids corresponding import errors in the Unreal editor.
  • Fixed a precision issue for scenes exported with the global merging option enabled.
  • Extended support for 16-bit and floating-point textures for Unreal export.
  • Fixed a crash when illegal geometry, such as faces with fewer than three vertices, was exported.
  • Improved the robustness of the Datasmith exporter in general.

Scene Layer Package exporter (SLPK)

  • Textures in a scene layer package (SLPK) node are now exported in a deterministic order.
  • Vertex normals are now correctly projected at non-equator locations.

Tile Package exporter (TPK)

  • TPK files now correctly publish to ArcGIS Enterprise portals.

Autodesk FBX exporter

  • Added support for polygon holes.

glTF importer

  • Improved the error handling and the importer now correctly warns that embedded base64 encoded textures are not supported.

Integration with ArcGIS Urban

  • Added support for the attributes of the latest ArcGIS Urban rule (v1.2.2). This includes support for the Building Type, Alignment, and Skyplanes attributes.
  • You can now import plans from ArcGIS Urban when sync is disabled for the respective feature services. In this case, a notification is shown when importing.
  • When importing a plan or project, the latest ArcGIS Urban rule available in your workspace is assigned automatically.
  • When importing a plan or project, the satellite map imagery for the terrain is downloaded in addition to the default basemap. You can switch between the maps using the Inspector.
  • CityEngine now uses the same names of plans and projects as defined in ArcGIS Urban.
  • The Navigator preview of an ArcGIS Urban item now links to the associated feature service.
  • Fixed a bug that limited the number of entries in the ArcGIS Urban Navigator.
  • Improved the Compute Edge Attributes functionality by accounting for scenarios. Also, the corresponding documentation was improved.

ArcGIS Online and ArcGIS Enterprise

  • Automatically publish uploaded items, such as TPK and SLPK.
  • Fixed a bug that prevented syncing with a feature service hosted on ArcGIS Enterprise.
  • Fixed a bug in which existing ArcGIS Online items were overwritten by the Share As functionality.

Rule package creation (RPK)

  • Added a new option to the Share As dialog box to check the rule package (RPK) compatibility with ArcGIS Pro.
  • Fixed errors caused by adding invalid directories to the RPK additional files list.
  • Sped up adding and removing additional files on the RPK Share As dialog box.
  • In case a CGA file has compile errors, an error message now appears when trying to create an RPK.
  • Improved the automatic detection and inclusion of referenced assets in case of imported CGA files, such as ESR.lib rules.
  • Fixed several bugs related to overwriting existing RPKs and trying to use them in CityEngine.
  • Fixed a bug in which RPKs that were too large were created when overwriting an old RPK.
  • Fixed an issue that caused CSV assets not to be automatically added to RPKs.
  • Fixed a bug that prevented canceling the creation and upload of an RPK.
  • Removed a redundant confirmation message when overwriting an RPK.
  • Improved the wording in the result message of the Analyze function.

Python editor and console

  • Restored the global console by writing it to Python.txt on disk again.
  • Fixed a bug in which the completion command did not work.
  • Fixed an error output in case of an exception for many cases.
  • Fixed a bug in which the same error message appeared multiple times in the log at startup.
  • Removed multiple invalid entries in the context menu.

Python scripting

  • Exporting an RPK with the function ce.exportRPK() now performs the same checks as exporting the RPK in the UI. If the verification fails, the RPK creation is aborted. Compatibility checking for ArcGIS Pro can now be turned on with the RPKExportSettings.setCompatibility(RPKExportSettings.ARCGIS_PRO) function.
  • Advanced settings in the preferences that are not relevant for the user have been hidden.
  • Fixed a bug in the export command that prevented its completion.
  • Added the new publishPortalItem function to automate publication of items such as TPK and SLPK after uploading.

Exporting an RPK with the function ce.exportRPK() now works.

See the Python changelog for a comprehensive list of changes.

CGA Editor

  • Fixed a bug in the CGA Editor in which Show Definition <F3> did not work.
  • Added the Forward and Back functionality to the CGA Editor context menu to jump back and forth to previous cursor positions. This can be used in conjunction with Show Definitions to conveniently read CGA code.
  • Fixed a bug in which the highlighting of multiline comments was incorrect.
  • When you drag a .txt or .csv file into the CGA Editor, the readTextFile and readStringTable calls are automatically added.
  • Increased the default size of the undo history in the CGA, Python, and Text Editor.

CGA compiler

  • Syntax errors, such as Unexpected token, now stop the compilation process. Fixed no definition or type mismatch errors from being shown before grammatical errors.
  • Fixed an error in which overrides for import were stated in separate lines.
  • Fixed a missing type check in rare cases for definitions that match a built-in signature.
  • Fixed an incorrect error message for illegal parent styles.
  • Fixed a bug in which the error was not correctly shown when large rule files reached an internal limit.
  • Fixed an unhandled error for styles with missing style identifier.
  • Fixed an incorrect error in the presence of multiline strings.
  • Fixed a missing tooltip for duplicate definition error markers.

Procedural modeling language (CGA)

  • Added support for reading assets in the Pixar Universal Scene Description (USD) format.
  • Added the new transpose function that allows you to transpose (2D) arrays.
  • Improved the numerical accuracy of the pivot and scope calculation.
  • Fixed the convert function for many cases.
  • Fixed bugs in the automatic cut closing of the split operation that led to missing faces or illegal hole faces in the cut-plane.
  • Runtime errors occurring in the initialization phase (attribute and const evaluation) are visible in the Problems view.
  • Outputs (print function) in the initialization phase (attribute and const evaluation) are printed to the CGA console.
  • Improved the performance of the comp operation for geometries with many polygons.

See the CGA changelog for a comprehensive list of changes and bug fixes.


  • Updated the ArcGIS Urban rule to 1.2.2.
  • Changed the Plant_Loader to get species names for the Name attribute, such as @Enum, from a .csv file instead of being hard coded in the CGA file.
  • Fixed a bug in ESRI.lib manager in which an incorrect version could be downloaded if there were network errors.
  • Fixed a bug in Building_From_OpenStreetMap so that now you can create flat roofs with raised borders. Added the new attribute estimatedRoofForm so that styles can generate these roofs also.
  • Fixed a bug in Building_From_Footprint so that ridge height is not smaller than the eave height.

Help, tutorials, and examples


  • Fixed a bug in which the search field of the Get Map Data dialog box did not work as expected.
  • For concurrent licensing, you are now asked to retry or save the scene on connection loss rather than a hard exit.
  • Fixed a bug that led to the Download Tutorials and Examples dialog box being empty.
  • Improved the error message if Named User Licensing is used while offline.
  • Fixed a bug in which an inserted asset was not found after being moved in the workspace.
  • Made the Model Hierarchy viewer more robust for incomplete shape trees, such as when reaching the maximum derivation limit.
  • Fixed a bug in which CityEngine could not be restarted after the toolbar was hidden.
  • Localized the Named User and Portal dialog boxes.
  • Added missing translations in the Scene Editor, texture shapes dialog box, and installation details dialog box.
  • Removed misleading warnings from the log.

HiDPI issues

  • Fixed multiple HiDPI issues in the Inspector UI.
  • Adapted the default window size of multiple dialog boxes for HiDPI screens.
  • Fixed a bug in which the check boxes and other UI elements in preferences were rendered too small.
  • Fixed a bug in which the status bar was not fully visible.
  • Fixed a bug in which icons in context menus were not displayed at the correct size.

Visit My Esri to upgrade to CityEngine 2020.1.