Overview
SimWorld consists of two parts:
Unreal Engine executable file.
Python package.
Connection between Python and UE is set up by UnrealCV+, which holds TCP client in Python and server in UE. In Python, it is structured as a Communicator Class. In UE, it is an embedded plugin.
Below shows the code structure of the Python Package.
simworld/ # Python package
local_planner/ # Local action planner component
agent/ # Agent system
assets_rp/ # Live editor component for retrieval and re-placing
citygen/ # City layout procedural generator
communicator/ # Core component to connect Unreal Engine
config/ # Configuration loader and default config file
llm/ # Basic llm class
map/ # Basic map class and waypoint system
traffic/ # Traffic system
utils/ # Utility functions
data/ # Default data files, e.g., object categories
weather/ # Weather system
data/ # Necessary input data
config/ # Example configuration file and user configuration file
examples/ # Examples of usage, such as layout generation and traffic simulation
docs/ # Documentation source files
README.md