General simulation development framework

FastSim: build simulation applications without code

FastSim composes configuration, registries, scenarios, plugins, and UniRoboSim providers into one deterministic run that can be validated and locked before physics starts.

Highlights

Multiple development levels

Enter the same compiled application through configuration, Python, plugins, or services.

Configuration-driven application
Run selects the execution context; Project and Registry constrain resolution; component manifests freeze versions and resources before Scenario composes scene and behavior.
YAML
yaml
run.yaml
schema: fastsim/2
name: quickstart
backend: pybullet

runtime:
  launch_profile: headless
  physics_hz: 60
  control_hz: 30
  seed: 7

scenario:
  scene:
    objects:
      cube:
        use: object://fastsim/quickstart-cube
        pose:
          xyz_m: [0.0, 0.0, 0.5]
.fastsim/project.yaml
schema: fastsim-project/1
installed_packages: false
registries:
  - name: quickstart
    path: components/index.yaml
components/index.yaml
schema: fastsim-registry-index/1
components:
  object://fastsim/quickstart-cube:
    stable: 1.0.0
    releases:
      1.0.0:
        manifest: cube.yaml
        sha256: 97ad65f0a045ae0d6bf8b3d70e370f65b738c394078ccd178f32ce8f23a6932f
components/cube.yaml
schema: fastsim-component/1
id: object://fastsim/quickstart-cube
version: 1.0.0
kind: object
variants:
  pybullet:
    resources:
      model:
        uri: ../assets/cube.urdf
        format: model/vnd.urdf+xml
        role: simulation

Unified, verifiable configuration

Resolve, validate, and lock Run, Project, Registry, and Lock before launch.

Preflight validation

Check schemas, references, capabilities, and resource integrity before the backend starts.

Explainable provenance

Trace every effective value to defaults, Project, Run, or a command-line override.

Reproducible result

ExecutionPlan and Run Lock freeze resolution; run outputs publish atomically.

Run

Declare backend, runtime policy, Scenario, and plugin selection.

Project

Constrain registries, trust, network, and cache boundaries.

Registry

Publish resolvable components with stable identities and version constraints.

Scenario

Compose Scene, behavior, evaluation declarations, and plugin inputs.

Run Lock

Freeze components, resources, compiled-plan digests, and full provenance so the same input can be inspected item by item.

Launch profile

Use visible, headless, or headless-physics to state how the provider starts and advances.

Plugins

Select data, control, debugging, remote service, and agent-interface capabilities from static manifests.

Outputs

Stage and validate integrity before atomically publishing verifiable artifacts for offline consumers.

Highly extensible architecture

Plugins declare capabilities through static manifests and receive only scoped services allowed by the compiled plan.

EXTENSIBLE CORE

Manifest registration and deterministic composition

Packages declare identity, version, roles, and services through static manifests before entering Registry and Lock; Plugin Host creates only instances explicitly selected by the compiled plan.

Static Manifest

Inspect identity, version, roles, services, Scenario inputs, resources, and provider requirements before importing plugin code, rejecting missing dependencies and capability conflicts during compilation.

Scoped services

Grant Scene, Geometry, Control, and Output with least authority per instance, generation, and binding, reclaim it with the lifecycle, and deny undeclared native provider objects.

Official capability packages and extension points

UniRoboSim unirobosim · portable simulator boundary
Record record · structured numeric, camera, and lifecycle capture
Replay replay · deterministic cross-provider playback with integrity checks
Server server · health, capability, control, and realtime session protocols
Visualizer visualizer · entity, geometry, metric, and camera workstations
TUI tui · terminal workstation for runtime inspection and control
MCP mcp · governed tool interface for agents
Mission mission · behavior graph with retries and explicit terminal states
Model model · local or remote model control adapters
Teleop teleop · human-in-the-loop control
Agent agent · agent control source
Custom custom · project capability package

Production-ready capabilities

Official plugins provide Mission, recording and replay, models, teleoperation, debugging, services, and agent interfaces.

Mission orchestration

Execute ordered Missions across navigation, arm motion, and attachment actions.

  • fastsim-plugin-mission
  • Ordered tasks, retries, and explicit terminal states
  • Navigation / JointMotion / PoseMotion

Cross-simulator portability

UniRoboSim stabilizes application interfaces while preserving real backend differences.

FASTSIM APPLICATION

Run, Registry, Scenario, and plugins depend only on public UniRoboSim capabilities, never native backend objects.

Run Registry Scenario Custom
PORTABLE SIMULATION BOUNDARY

Provider · Session · World · Scene · State · Sensor · Physical Control

Provider Adapter Each physics provider implements the same public capabilities while preserving its native constraints.

Simulation providers

Isaac Lab NVIDIA
MuJoCo Google DeepMind
PyBullet Bullet Physics
Custom Explicit capabilities

Get started

Choose a platform and Provider to generate one matching install, verification, and first-run flow.