This is the main Simulator aspect to Synthesis. We take the robots and fields that have been exported using our exporter and simulate them with realtime physics within Unity.
For more information on cloning this repository and the initial setup of the Synthesis codebase please visit the Getting Started section of the root README.
Similar to the rest of Synthesis, the Synthesis Engine has the following dependencies that need to be satisfied before attempting to build Synthesis or the Synthesis Engine. Differently from the rest of Synthesis however, the Synthesis Engine requires other parts of Synthesis to be built before and linked. For this reason we strongly recommend using the init.bat (or init.sh if you're on Linux/MacOS) script to setup and build the Synthesis Engine dependencies. There is of course the option of manually building these dependencies, but please please don't do this.
- External Dependencies:
- .NET Standard 2.0
- .NET 7.0
- Protobuf 23.3
- Unity Version 2022.3.2f1 (d74737c6db50)
- Internal Dependencies:
For each of these internal dependencies, please follow the instructions in their respective READMEs. Alternatively, you can run the included init
script for your operating system to do this automatically.
Before attempting to build the Synthesis Engine, ensure you have all dependencies installed.
- Open
synthesis/engine
in Unity. - From there, you can run the simulation engine inside the Unity editor by opening
MainScene
from theAssets/Scenes
directory or build it as a standalone application.- To build Synthesis as a standalone application, go to
File -> Build Settings
and select your target platform. Then, clickBuild
and select a location to save the built application.
- To build Synthesis as a standalone application, go to