Vitruvio CityEngine Plugin

Esri - Code Plugins - Feb 12, 2021

Vitruvio brings the procedural power of ArcGIS CityEngine to Unreal Engine and allows generating vast cities and complex buildings within seconds.

  • Supported Platforms
  • Supported Engine Versions

Vitruvio brings ArcGIS CityEngine’s procedural modeling power to Unreal Engine. It enables generating procedural buildings using CityEngine's generative runtime and shape grammars. Generated buildings remain procedural at all times. Attributes such as height, style or appearance can be modified in real-time to generate new building variations. Vitruvio can also be used in a packaged product and buildings can be generated dynamically at runtime.

Important: Proceed to the official GitHub page to download Vitruvio. The latest release is not available in the Epic Games Launcher any longer.

Watch the trailer on YouTube.

Help us to improve Vitruvio: take the survey.


Release Notes

Vitruvio 2.1 (UE 5.4 - 14 March 2024)


  • Unreal Engine 5.4 support
  • Asset replacement performance improvments

Vitruvio 2.0 (UE 5.3 - 8 March 2024)

Release for Unreal Engine 5.3 using CityEngine 2023.1 (CityEngine SDK 3.1).


  • Unreal Engine 5.3 and CityEngine 2023.1 (CityEngine SDK 3.1) support
  • Support batch generation for improved performance
  • Support for automated asset replacements
  • Several bug fixes and performance improvements

Vitruvio 1.4 (UE 5.2 - 3 July 2023)

Release for Unreal Engine 5.2 using CityEngine SDK 3.0 (CityEngine 2023.0).


  • Unreal Engine 5.2 and CityEngine 2023.0 (PRT 3.0) support
  • Improved support for Rule Attributes in Blueprints

Vitruvio 1.3 (UE 5.1 - 3 February 2023)

Release for Unreal Engine 5.1 using CityEngine SDK 2.7 (CityEngine 2022.1).


  • Unreal Engine 5.1 and CityEngine 2022.1 (PRT 2.7) support
  • Improvements and fixes for CGA Attribute editor
  • Improved support for VitruvioActor copy/paste and undo/redo

Vitruvio 1.2 (UE 5.0 - 22 July 2022)

Release for Unreal Engine 5.0 using CityEngine SDK 2.6 (CityEngine 2022.0).


  • Unreal Engine 5 and CityEngine 2022.0 (PRT 2.6) support
  • Support for CityEngine Reports (see new example: ReportingDemo)
  • Improved Blueprint API for Vitruvio Actors

Fixes and minor featuers:

  • Support for UVs on initial shapes
  • Support for initial shapes with holes
  • Fixed several texture format related bugs
  • Fixed a crash for certain collision mesh setups
  • Improved rule attribute sorting and grouping in the details panel

Vitruvio 1.1.1 (UE 4.27 - 27 January 2022)

Bugfix release for Unreal Engine 4.27 using CityEngine SDK 2.4 (CityEngine 2021.0).


  • Fixed a crash when importing files into the content browser while having an empty Vitruvio Actor in the current level
  • Disabled Vitruvio Actor as Blueprint parents due to crashes (this will be re-enabled in a future release)
  • Fixed generation issue when using the Vitruvio Actor Blueprint API

Vitruvio 1.1 (UE 4.27 - 15 October 2021)

Release for Unreal Engine 4.27 using CityEngine SDK 2.4 (CityEngine 2021.0).


  • Option to convert Vitruvio Actors to Static Meshes
  • Support for CGA array attributes
  • Improved generate performance
  • Support for all CityEngine supported image formats
  • Option to reload Rule Packages (RPKs) from the filesystem
  • Bug fixes

Vitruvio 1.0.1 (UE 4.26 - 23 February 2021)

Minor release for Unreal Engine 4.26 using CityEngine SDK 2.3 (CityEngine 2020.1).


  • Fixed crash when generated geometry is empty
  • Added small demo scene with RPK (Candler Building)

Vitruvio 1.0 (UE 4.26 - 11 December 2020)

Initial release for Unreal Engine 4.26 using CityEngine SDK 2.3 (CityEngine 2020.1).


  • Procedural building generation using the CityEngine SDK
  • Rule attribute editing in Unreal Editor or at runtime
  • Static Meshes or Splines as building footprints
  • PBR Materials
  • Building generation at runtime

Licensing Information

Vitruvio is free for personal, educational, and non-commercial use. Commercial use requires at least one commercial license of the latest CityEngine version installed in the organization. Redistribution or web service offerings are not allowed unless expressly permitted.

Vitruvio is under the same license as the included CityEngine SDK.

All content in the "Examples" directory/section is licensed under the APACHE 2.0 license. You may obtain a copy of this license at

For questions or enquiries regarding licensing, please contact [email protected]

Technical Details

Vitruvio uses CityEngine's Procedural Runtime (PRT) to generate buildings and cities. As input it takes a rule package (RPK), an initial shape and a set of attributes.

The generation process starts with the initial shape (which can be any Unreal Static Mesh or Spline) from which shape grammar rules are expanded. The shape grammar rules, together with all necessary assets, are bundled in RPKs which can be exported from ArcGIS CityEngine and imported into your Unreal Engine project. The attributes are parameters that control shape generation. They can be changed in the Unreal Editor or dynamically at runtime.


  • Vitruvio Component and Actor which enable generating procedural buildings.
  • Details panel UI to modify CityEngine rule attributes.
  • Introduces RPKs (Rule Package) asset types which allows importing and bundling of CityEngine RPK files.
  • C++ and Blueprint API for customization and advanced use.

Code Modules:

  • Vitruvio (Runtime)
  • VitruvioEditor (Editor)

Number of C++ Classes: 42

Supported Development Platforms: Windows 64-bit

Supported Target Build Platforms: Windows 64-bit