2. Understanding the Basics

2.1. Repositories and Contents

There are two main types of content that we offer:

  • Repositories on GitHub - in common it’s plugins for Unreal Engine and libraries.

  • Content sets (*.uasset) - levels, vehicles, actors librery etc. This is content that is provided via direct download links. Typically copied to the Content folder of the UnrealEngine project.

Some repositories and content are public, others are available by subscription, and others must be requested individually as they require special permissions, such as third-party NDAs.

2.2. Plugins Unreal Engine

Public:

Pro:

  • SodaCAN - a set of extensions for SODA.Sim, allowing virtual CAN buses to be connected to real ones. Supports various USB-CAN adapters, SocketCAN and CAN via Ethernet. As well as tools for code generation of serialization/deserialization of CAN messages based on DBC files, see CAN Subsystem and DBC Parsing

  • SodaPython [coming soon] - Python scripting support in real-time (not Unreal Engine Editor).

  • SodaValidate [coming soon] - integration of SODA.Sim into the SODA.Validate infrastructure. This will allow:

    • Create HIL stands and conduct HIL tests based on SODA HIL Rig

    • Robo framework for writing autotests.

    • Ready-made infrastructure for autotesting and CI/CD within a company and integration with SODA.Validate Studio.

Pro and special permissions (access must be agreed with the copyright holder):

  • SodaSolectrix - support for FPDLink/GMSL interfaces for virtual cameras based on PCIe proFRAME, from Solectrix.

  • SodaContinental - a set of sensors by Continental

  • SodaHoneywell - a set of sensors by Honeywell

  • SodaInnoviz - a set of sensors by Innoviz

  • SodaMando - a set of vehicle equipment by Mando

  • SodaZF - a set of vehicle equipment by ZF

2.3. Others Repo

  • SodaSimProto [public] - a submodule for SODA.Sim, and it can also be compiled into a separate library. All custom messages (including their serialization/deserialization) for SODA.Sim are included here, for example for GenericCamera, GenericRadara, V2V/V2X message etc.

  • SodaSimRemoteControl [public, coming soon] - Python library that implements the RemoteContro WEB API client and the main interfaces for interacting with SODA.Sim entities.

  • SodaSimProject [public, coming soon] - example of an Unreal Engine project for building a simulator.

2.4. Content [UAssets]

  • SodaExtraLib [public, coming soon] - Additional actor library available in SODA editor mode. Contains pedestrians, road signs, cyclists, various vehicles.

  • SimpleMaps [public] - a set of simple maps for testing the basic functions of various simulator functions.

  • Ribbon [pro] - exact copy, recreation based on scanning of 3 race tracks:

  • OpenDrive [pro, coming soon] - so far a small set of maps generated based on the OpenDrive format.

  • Carla [pro, coming soon] - a set of maps from the project carla

2.5. Suggested Workflow

  1. The developer constructs an essential artifact set, which includes a scenario map and a foundational blueprint for one or more vehicles, along with other vital actors.

  2. If necessary, the developer generates a default map: positioning vehicles and other discernible actors on the map, integrating default behaviors, etc. This serves as a foundation for all subsequent activities.

  3. The developer compiles the project similarly to a standard Unreal Engine project and disseminates it to the user.

  4. The user modifies the initial artifact set based on the requirements of their current task: incorporating and adjusting vehicle components, adding new actors, defining their behaviors, etc.

  5. The user executes their assigned task within this newly customized environment.

2.6. User Interface Overview

2.7. Editor Mode Overview