.. _packageInstallation: Project Requirements ============ Minimum **Unity** version: * 2022.3.21+ **Required packages:** * `Entities 1.2.0 `_ * `Entities.Graphics 1.2.0 `_ [not required for :ref:`Mono ` cars & :ref:`Hybrid legacy ` pedestrians] * `Unity.Physics 1.2.0 `_ [not required for :ref:`Mono ` cars] * `Custom Physics Authoring `_ [not required for :ref:`Mono ` cars] * `Unity.Collections 2.4.0 `_ * `Burst 1.8.12 `_ **Asset store packages:** * `Zenject. `_ [optional, but recommended]. * `FMOD `_ plugin for the sounds [optional]. Limitations ============ * WebGL not supported. * Built-in RP only works with :ref:`Mono ` cars & :ref:`Hybrid legacy ` pedestrians. * Vehicles with trailers or wagons are not currently supported for :ref:`NoPhysics `. * `Animator `_ with sceletal bone animation in pure `DOTS `_ space is currently available if you have `Rukhanka Animation System `_ otherwise (available only :ref:`hybrid ` entities with Animator approach or :ref:`pure ` entities with :ref:`GPU ` animations). * `NavMesh surface `_ obstacles only calculated with `NavMeshObstacle `_. * :ref:`Ragdoll ` currently only collides with `default colliders `_. For DOTS Ragdolls, you need the `Rukhanka Animation System `_. Package Installation ============ `Youtube tutorial. `_ Steps ------------ #. Download & import from the `Unity Asset Store `_ . #. Make sure that you have **Unity 2022.3.21+** (except **2022.3.40** - **2022.3.50** which are `broken `_, download **Unity 2022.3.51+** or **Unity 6.0.23+** instead). #. If the script first compilation `hangs `_ for more than 5 minutes, end the task in your OS's task manager & restart `Unity`. #. First time initialization window will appear automatically or you can open it manually from the toolbar ``604Spirit/CityEditor/Window/Package Initialization``. .. image:: /images/gettingstarted/InitilizationWindow.png :scale: 50% #. Click `Load Packages` to start downloading the packages required for this tool. #. If you get the error 'No git executable was found', install the :ref:`git ` on your PC (:ref:`how to install `) or download these packages from the store. .. note:: **Required custom packages [is optional from version v1.1.0, but recommended]:** * **Extenject** (`com.svermeulen.extenject`) - library for injecting dependencies (`Extenject `_). .. note:: **Script define symbols required for the project:** * **DOTS_CITY** * **UNITY_PHYSICS_CUSTOM** #. After the packages have been downloaded & installed, if the console has :ref:`nunit.framework ` or `Burst` compilation errors, restart `Unity`. .. _packageInstallationOptional: #. Click `Load Optional Packages` to start downloading the optional packages *(optional package,* :ref:`git ` *required)*. .. note:: **Optional packages:** * **Reese's DOTS Navigation** (`com.reese.path`) - Reese's DOTS navigation package for :ref:`navigating ` on the NavMesh (`original git `_) (the project uses the `604spirit's fork version `_). .. note:: **Script define symbols required for the project:** * **REESE_PATH** .. warning:: If you get the error 'No git executable was found', read :ref:`this `. #. Download the optional assets from the `Asset Store` `[from version v1.1.0, steps 9-11 are optional, a built-in audio engine is available by default]`: .. note:: **Optional asset store packages:** * **FMOD** - asset store plugin for :ref:`game sounds ` `FMOD `_ .. note:: **Script define symbols required for the project:** * **FMOD** #. After that, press the `Add Scripting Define` button. #. Install the :ref:`FMOD sound ` settings. #. If the project is created from scratch, `Pipeline`, `Layer settings`, `Project settings` are automatically installed & go to the last step, if not, follow the next steps. #. Open the `Pipeline` tab, press the `Import Graphics` button if you want to use the demo pipelines (optional step), otherwise set `Rendering path` to `Forward+` in your pipeline settings. #. Open `Layer settings` tab & select the layers to import according to your use case & press `Apply` button. .. image:: /images/gettingstarted/LayerSettings.png :scale: 70% #. **TrafficNode** & **PedestrianNode** layers are **required** for :ref:`TrafficNode ` & :ref:`PedestrianNode ` prefabs accordingly, others are optional, read more about project layers :ref:`here `. #. Open `Project settings` tab & press `Add all scenes to build` if you want to add demo scenes to your project. #. In the appeared `License Manager` window, enter your `invoice ID `_ . .. image:: /images/gettingstarted/License.png #. The next step is :ref:`to set up the new scene ` or launch the existing :ref:`Demo ` or :ref:`Demo Mono ` scene.