SPEAR: A Simulator for Photorealistic Embodied AI Research
Abstract: Interactive simulators have become powerful tools for training embodied agents and generating synthetic visual data, but existing photorealistic simulators suffer from limited generality, programmability, and rendering speed. We address these limitations by introducing SPEAR: A Simulator for Photorealistic Embodied AI Research. At its core, SPEAR is a Python library that can connect to, and programmatically control, any Unreal Engine (UE) application via a modular plugin architecture. SPEAR exposes over 14K unique UE functions to Python, representing an order-of-magnitude increase in programmable functionality over existing UE-based simulators. Additionally, a single SPEAR instance can render 1920x1080 photorealistic beauty images directly into a user's NumPy array at 73 frames per second - an order of magnitude faster than existing UE plugins - while also providing ground truth image modalities that are not available in any existing UE-based simulator (e.g., a non-diffuse intrinsic image decomposition, material IDs, and physically based shading parameters). Finally, SPEAR introduces an expressive high-level programming model that enables users to specify complex graphs of UE work with arbitrary data dependencies among work items, and to execute these graphs deterministically within a single UE frame. We demonstrate the utility of SPEAR through a diverse collection of example applications: controlling multiple embodied agents with distinct action spaces (e.g., humans, cars, and robots) across several in-the-wild UE projects; rendering photorealistic city-scale environments; manipulating UE's procedural content generation systems; rendering synchronized multi-view images of detailed human faces; coordinating an interactive co-simulation with the MuJoCo physics simulator; and editing scenes with natural language via an AI coding assistant.
Paper Prompts
Sign up for free to create and run prompts on this paper.
Top Community Prompts
Explain it Like I'm 14
What is this paper about?
This paper introduces SPEAR, a tool that lets researchers control and film super-realistic virtual worlds (made with Unreal Engine) from Python. Think of it like a universal remote and high-speed camera for video game worlds. Researchers use it to train and test AI agents—like self-driving cars, robots, or virtual characters—in lifelike environments, quickly and with a lot of control.
What questions were the researchers trying to answer?
They set out to solve three big problems common in existing simulators:
- How can we give Python programs access to almost everything inside Unreal Engine, not just a small set of custom buttons?
- How can we send images and data between Unreal Engine and Python super fast, so the simulator doesn’t lag?
- How can we make a flexible, easy-to-use system that plugs into any Unreal project without rebuilding the whole engine?
How does SPEAR work? (Methods explained simply)
SPEAR is built as a Python library plus small plugins you add to any Unreal Engine project. It talks to Unreal through a client-server setup:
- Python side (client): Your code describes what you want the world to do.
- Unreal side (server): A plugin receives those instructions and runs them inside the game world.
Here are the key ideas, in everyday terms:
- A universal remote for Unreal: SPEAR taps into Unreal’s “reflection system,” which is like a complete phone book of functions and settings in the game. That means Python can call more than 14,000 Unreal functions and access over 50,000 properties without writing special wrappers.
- To-do lists per frame: Games run in frames (like 60 pictures per second). SPEAR lets you bundle your actions between
begin_frameandend_frame—a clear to-do list that Unreal completes within one frame. This makes timing predictable. - Don’t wait if you don’t have to (asynchronous calls): Your Python code can fire off tasks and pick up the results later (like sending texts and reading replies when they arrive), which keeps the game running smoothly at native speed.
- Speedy image sharing: SPEAR can render photorealistic 1920×1080 images directly into a NumPy array (the common Python format for images and tensors) using shared memory. That’s like writing on a shared whiteboard instead of making lots of copies—much faster.
- Special “SpFunctions” for big data: When big arrays (like images or depth maps) need to move between Unreal and Python, SPEAR uses special functions designed to handle them efficiently.
- Plug-and-play design: Because SPEAR is a modular plugin, you can add it to existing Unreal projects without forking or rebuilding the entire engine.
Here’s what using it can look like:
1 2 3 4 5 6 |
with spear.begin_frame(): car.set_speed(10) # Command an agent img_future = camera.async.capture() # Ask for an image without waiting with spear.end_frame(): image = img_future.get() # Collect the image as a NumPy array |
What did they find? (Main results)
The researchers measured both how much control SPEAR gives and how fast it runs:
- Much more control: SPEAR exposes an order of magnitude more Unreal functions than other tools. Instead of a few hundred pre-made buttons, you get access to thousands—like having full backstage access, not just a guest pass.
- Much faster data transfer:
- SPEAR can stream 1080p photorealistic images at about 73 frames per second directly into Python (with a small buffering delay for extra speed), and around 56 FPS with minimal delay—far faster than existing Unreal plugins.
- In head-to-head tests, SPEAR was roughly 9–21× faster than a popular Unreal plugin (UnrealCV+), about 12× faster than AirSim, and still faster than CARLA under matched settings.
- More kinds of ground-truth data: SPEAR’s camera can output not just pretty pictures, but also depth maps, surface normals, instance/semantic IDs, material IDs, and physically based shading parameters—extra layers of information that are gold for training and evaluating AI.
- Works across many scenarios: They showed SPEAR controlling people, cars, drones, and robots; manipulating procedural content (worlds that build themselves); rendering detailed human faces from multiple cameras; co-simulating with the MuJoCo physics engine; and even editing scenes through natural-language instructions using an AI coding assistant.
Why is this important?
- Faster experiments: When images and data move quickly, researchers can train AI agents faster and generate large high-quality datasets without bottlenecks.
- Deeper control: With access to so many functions, you can build complex, custom experiments without waiting for someone to add missing features.
- Easy integration: Because it’s a plugin, SPEAR can be dropped into existing Unreal projects and content. That makes it practical for real-world research and development.
- Better learning signals: The extra “ground-truth” layers (like depth and materials) help train robust vision and robotics models, and evaluate them precisely.
What could this lead to? (Impact and future possibilities)
SPEAR could become a core tool for computer vision, robotics, and embodied AI:
- Training agile robots and autonomous vehicles in large, realistic worlds.
- Building interactive world models that understand how things move and change.
- Connecting internet-scale vision-and-LLMs to rich, controllable 3D environments.
- Powering AI-assisted content creation, where natural language can reshape complex scenes.
- Accelerating research by making high-fidelity simulation both programmable and fast.
In short, SPEAR turns Unreal Engine into a high-speed, highly programmable lab for teaching AI to see, move, and act in realistic worlds.
Knowledge Gaps
Knowledge gaps, limitations, and open questions
Below is a single, concrete list of what remains missing, uncertain, or unexplored, targeted to guide future research and engineering work.
- Cross-platform and headless support: The paper reports results on Windows 11 with DX12-class hardware; it does not evaluate Linux (common in clusters), macOS, containerized/headless rendering, or different graphics backends (Vulkan vs DX12), leaving portability and performance on typical research infrastructure untested.
- Scalability to high resolutions and many sensors: Performance is reported for a single 1920×1080 camera; there is no characterization for 4K/8K, HDR, multi-view synchronized rigs (tens/hundreds of cameras), or simultaneous multi-modal outputs (e.g., beauty + depth + normals + IDs) per frame, nor the memory/PCIe/GPU bandwidth limits and failure modes at scale.
- Parallelism and throughput in multi-agent/multi-env settings: The design allows one pending transaction per client, but there is no quantitative evaluation of:
- Many agents (hundreds/thousands) with independent action spaces in one world.
- Many parallel environments (vectorized simulation) for RL training on one or multiple machines/GPUs.
- Trade-offs between determinism and pipelined/asynchronous execution in these regimes.
- Determinism and reproducibility: The model guarantees within-frame ordering but not frame-to-frame alignment; there is no empirical assessment of:
- Run-to-run determinism across hardware, OS, and drivers under fixed seeds.
- Deterministic physics and rendering with asynchronous operations and networked client-server latency.
- Effects of UE’s multithreading/tick order and temporal jitter on reproducibility.
- Temporal fidelity and synchronization: While begin_frame/end_frame semantics are defined, the paper does not quantify:
- End-to-end timing jitter and latency (including render, encode, transfer) under load.
- Cross-sensor synchronization accuracy (e.g., rolling shutter, exposure timing) or guarantees for time-stamped data streams.
- Sensor realism coverage: The camera sensor provides rich visual modalities, but the following are not addressed:
- Support and fidelity for LiDAR, radar, event cameras, IMUs, GPS, wheel odometry, and their noise/temporal models.
- Physically accurate camera models (distortion, rolling/global shutter, motion blur) and calibration pipelines.
- Validation of “ground-truth” modalities (e.g., normals, intrinsic decomposition, PBR parameters) against engine-internal truth and analytical baselines.
- Physics fidelity and co-simulation limits: Co-simulation with MuJoCo is shown qualitatively, but missing are:
- Quantitative synchronization error, stability under stiff contacts, and drift over long horizons.
- Coupling schemes (explicit/implicit), step-size constraints, and guarantees for stable two-way coupling.
- Comparisons with native UE physics vs external physics on manipulation and contact-rich tasks.
- Coverage gaps due to Unreal’s reflection boundaries: SPEAR exposes reflection-visible APIs, plus 193 custom entry points, but it remains unclear:
- Which critical subsystems (render thread, low-level RHI, Nanite/Lumen internals, shader compilation, async compute) remain inaccessible.
- How to access non-reflectable APIs provided by closed-source Marketplace plugins or third-party binaries when source is unavailable (cannot add UFUNCTION/UPROPERTY).
- Path tracer control and performance: The paper states control of UE’s path tracer but does not quantify:
- Throughput and latency for offline/near-offline path-traced renders via Python.
- Reproducibility and noise control (samples-per-pixel, seeds) and integration with ground-truth outputs.
- Networking at scale and robustness: The TCP/IP rpclib-based channel is demonstrated locally; unanswered questions include:
- WAN/cloud latency tolerance, throughput ceilings, and TLS/security support.
- Fault tolerance (timeouts, dropped/reordered packets), reconnection strategies, and recovery from UE or client crashes.
- Shared memory constraints and portability: Zero-copy claims are made, but not evaluated for:
- Cross-OS support, NUMA/topology effects, and page-locked/pinned memory constraints.
- GPU↔CPU transfer paths, unified memory vs explicit copies, and interactions with large multi-camera buffers.
- Security/isolation implications of interprocess shared memory.
- Resource utilization and contention: There is no profiling of CPU/GPU/memory utilization as a function of:
- Number of async operations per frame, transaction complexity, or sensor count.
- Server thread contention with UE’s game/render threads and impact on frame time variability.
- Stability and error handling: The system’s behavior under mis-specified reflection calls, invalid object references, or runtime exceptions is not characterized:
- Graceful degradation, exception propagation, and crash isolation.
- Long-running leakage, hot-reload behavior, and Editor vs packaged-build stability.
- Security and sandboxing: Executing arbitrary Python-driven function calls into UE raises questions about:
- Code execution safety, sandbox boundaries, and permissions when controlling the Unreal Editor or packaged apps.
- Threat model and mitigations for untrusted scripts or remote clients.
- Benchmarking fairness and standardization: Cross-simulator comparisons use different scenes (harmonized only by standalone FPS), leaving:
- A need for standardized, identical content and tasks to compare communication overheads and full pipelines.
- Task-level benchmarks (e.g., navigation/manipulation) to connect simulator speed/programmability to learning outcomes.
- Impact on learning outcomes: While throughput and API coverage are improved, the paper does not show:
- End-to-end RL or imitation learning experiments demonstrating training speedups or performance gains.
- Sample efficiency and wall-clock comparisons on standard embodied AI benchmarks.
- Usability and developer workflows: Although programmability is emphasized, the paper lacks:
- Studies on developer productivity, debugging workflows, and integration with CI/CD or interactive notebooks.
- Tooling for schema/typing of reflection-driven calls and IDE support to avoid runtime string-based errors.
- Extending third-party assets without source access: SPEAR relies on adding UFUNCTION/UPROPERTY or SpFunctions; open questions include:
- Strategies for exposing functionality from binary-only assets/plugins (Blueprint-only or closed-source C++).
- Automation for generating wrappers or using Blueprint scripting as a bridge for non-reflectable functionality.
- Limits of single-transaction-per-frame design: The transactional model is elegant, but unexplored are:
- Mid-frame hooks, interaction with engine subsystems that run between tick phases, and integration with UE’s task graph.
- Behavior when begin_frame/end_frame work exceeds frame budgets and admission-control policies.
- Dataset generation pipeline and licensing: The examples use Epic sample projects; unresolved items:
- Licensing constraints for distributing generated datasets with Marketplace or sample assets.
- Provenance, metadata, and reproducibility pipelines for large-scale synthetic dataset generation.
- Comprehensive documentation and versioning: The paper does not specify:
- Supported UE versions and compatibility guarantees across engine updates.
- API stability, deprecation policy, and migration tools for changes in UE’s reflection or rendering subsystems.
Practical Applications
Immediate Applications
Below are concrete, deployable use cases that can be built today using the paper’s methods and software capabilities.
- High-throughput synthetic dataset generation for computer vision
- Sectors: software, robotics, automotive, retail, AR/VR, academia
- What: Generate photorealistic 1080p images at >70 FPS with ground-truth modalities (depth, normals, instance/semantic/material IDs, non-diffuse intrinsic components, PBR parameters) directly into NumPy for training/evaluating segmentation, depth, reconstruction, and video synthesis models.
- Tools/workflows: SPEAR camera sensor + shared memory pipelines; domain randomization via UE procedural content generation (PCG); multi-view capture; direct NumPy integration for dataloaders/CI; path tracer for offline high-quality data.
- Assumptions/dependencies: Availability/licensing of UE projects/assets; GPU resources; careful domain randomization to mitigate sim-to-real gap; data governance for any mixed real/synthetic pipelines.
- Rapid prototyping of embodied agents and RL policies across diverse action spaces
- Sectors: robotics (mobile, manipulation, quadrupeds), autonomous driving, drones, gaming AI, academia
- What: Implement Gym-like step functions (sync/async/double-buffered) to train/evaluate agents (human avatars, vehicles, robots) in photorealistic UE worlds at interactive rates.
- Tools/workflows: SPEAR begin_frame/end_frame transactions; asynchronous operations; multi-agent control; curriculum learning using PCG; logging/telemetry hooks.
- Assumptions/dependencies: Physics fidelity alignment to target platforms; sim-to-real transfer strategy; controller interfaces (e.g., vehicle dynamics plugins) configured correctly.
- Real-time co-simulation with external physics engines (e.g., MuJoCo) for visualization, debugging, and demos
- Sectors: robotics, ed-tech, research labs
- What: Drive UE scenes from external simulators while visualizing state updates in photorealistic settings; perform interactive perturbations and observe immediate effects.
- Tools/workflows: MuJoCo controller + SPEAR server thread synchronization; custom SpFunctions for efficient state transfer; UI overlays for forces/contacts.
- Assumptions/dependencies: Time synchronization and latency budgets; consistent unit/coordinate frames; maintenance of scene-to-model correspondences.
- Automated environment variation and stress-testing via UE procedural content generation
- Sectors: software QA, autonomy safety, game QA, simulation ops
- What: Script PCG graphs to generate thousands of diverse scenes and time-of-day/weather variations for robustness testing and coverage analysis.
- Tools/workflows: Programmatic PCG manipulation (e.g., moving structures, terrain, clutter); seed-based reproducibility; coverage-driven generation and test replay.
- Assumptions/dependencies: Quality/variety of PCG assets; coverage metrics definition; batch scheduling/infrastructure for large sweeps.
- Synchronized multi-view human capture for avatars and facial models (MetaHumans)
- Sectors: media/VFX, AR/VR, telepresence, biometrics R&D
- What: Produce synchronized, multi-view, high-detail facial imagery with ground truth for 3D face reconstruction, expression tracking, and avatar retargeting.
- Tools/workflows: SPEAR multi-camera rigs; lighting/material sweeps; path-traced reference renders; dataset curation and annotation scripts.
- Assumptions/dependencies: MetaHuman licensing and usage policies; ethical/consent frameworks; generalization to real faces; compute for high-fidelity renders.
- Fast, photorealistic perception benchmarking in CI/CD
- Sectors: autonomous vehicles/robots, CV model engineering
- What: Run regression tests and A/B evaluations of perception stacks using deterministic transactions and high-FPS simulated sensors integrated into ML pipelines.
- Tools/workflows: Shared-memory sensor feeds directly into NumPy/Torch; deterministic scene stepping; scenario libraries stored as code; performance dashboards.
- Assumptions/dependencies: GPU availability in CI; stable scenario versioning; realistic sensor models and noise profiles if needed.
- In-editor interactive scripting and AI-assisted scene editing
- Sectors: game development, VFX, digital twins, content tools
- What: Let technical artists and engineers co-create simulations with live editor control; leverage a coding assistant to write SPEAR programs from natural language.
- Tools/workflows: SPEAR control of Unreal Editor and path tracer; LLM-based “simulation copilot” that emits transactions; visual debugging with paused/resumed frames.
- Assumptions/dependencies: Secure code execution and sandboxing; prompt engineering and guardrails for LLM codegen; editor plugin configuration.
- Teaching labs and coursework for CV/robotics/graphics
- Sectors: education, academia
- What: Provide hands-on labs and assignments that combine photorealistic rendering, embodied control, and data generation in Python-first workflows.
- Tools/workflows: Jupyter notebooks + SPEAR client; step-function templates; reproducible UE projects bundled with course repos; grading scripts.
- Assumptions/dependencies: Student access to GPUs or cloud; streamlined install; curated UE content that runs on mid-range hardware.
- Warehouse/industrial robotics perception and planning tests
- Sectors: logistics, manufacturing
- What: Simulate warehouse layouts, forklifts/AMRs, lighting/clutter variations for barcode/OCR, pallet detection, path planning, and multi-robot coordination.
- Tools/workflows: PCG for aisle/shelf configurations; multi-agent controllers; perception data feeds to NumPy; incident replay.
- Assumptions/dependencies: Access to representative UE assets; calibrated dynamics for vehicles; protocols for sim-to-real validation.
- Reproducible benchmark suites for embodied AI
- Sectors: academia, standards bodies, policy-adjacent benchmarking
- What: Publish standardized tasks, metrics, and scenes with deterministic transactions to compare agents and perception models across labs.
- Tools/workflows: SPEAR program packs (code + scenes); Dockerized runners; public leaderboards and data cards.
- Assumptions/dependencies: Community governance and adoption; maintenance of scene assets; clear licensing and IP for shared content.
Long-Term Applications
Below are promising opportunities that likely require further research, scaling, content, or ecosystem development before broad deployment.
- Enterprise digital twins for operations, training, and planning
- Sectors: manufacturing, logistics, energy, smart buildings/cities
- What: Integrated, photorealistic twins that host training of task policies, scenario planning, and what-if analysis with dynamic content and co-simulated physics.
- Tools/products: “SPEAR Twin Studio” integrating live telemetry, streaming sensors, and agent training; incident replay; planning sandboxes.
- Dependencies: High-fidelity physics and sensor models; data connectors to enterprise systems; security and IP controls; cost-effective scaling.
- Simulation-first pretraining of interactive world models and embodied foundation models
- Sectors: AI research, robotics, software
- What: Use massive, diverse, interactive SPEAR worlds to pretrain models that understand dynamics, geometry, and affordances before fine-tuning on real data.
- Tools/products: Data engines that generate curriculum-aligned tasks at scale; unified multi-modal APIs for video, depth, normals, materials, and actions.
- Dependencies: Large compute budgets; content diversity to avoid overfitting; robust sim-to-real transfer methods and evaluation protocols.
- City-scale autonomous driving platforms for safety certification and policy evaluation
- Sectors: automotive, regulators, insurance, policy
- What: Photorealistic, standardized scenarios with procedural coverage, adversarial cases, and measurable repeatability for certification, audit, and insurance risk modeling.
- Tools/products: “SPEAR-Drive” scenario generator; conformance test suites; interfaces to AV stacks and sensor models; regulator-approved scorecards.
- Dependencies: Regulator acceptance; validated physics/sensors; partnerships for scene/content realism; governance over test scenario curation.
- Home and service-robot learning at scale
- Sectors: consumer robotics, elder care, hospitality
- What: Simulate varied households and service environments to train navigation/manipulation policies with robust domain randomization and multi-modal supervision.
- Tools/products: Large libraries of interactive objects; tactile/proprioceptive co-simulation; long-horizon skill curricula.
- Dependencies: Contact-rich physics fidelity; tactile/haptics models; transfer to low-cost hardware; safety and reliability benchmarks.
- Privacy-preserving synthetic human datasets for face/body/gesture modeling
- Sectors: AR/VR, accessibility, safety, communications
- What: High-coverage, diverse, bias-aware synthetic human corpora with controllable lighting, materials, and expressions to reduce reliance on sensitive real data.
- Tools/products: Bias auditing dashboards; multi-view/time series generation; procedural wardrobe/hairstyle/skin variations.
- Dependencies: Realism sufficient for downstream tasks; ethical frameworks; IP/licensing of digital humans; bias mitigation and evaluation.
- Hardware-in-the-loop testing for XR devices and perception silicon
- Sectors: semiconductors, XR, edge AI
- What: Stream synchronized, photorealistic sensor feeds to device prototypes to test ISP/NN accelerators under controlled yet complex conditions.
- Tools/products: Shared-memory bridges; timing-accurate camera/LiDAR models; latency instrumentation and profiling.
- Dependencies: Accurate sensor and lens models; device driver integration; real-time constraints and determinism.
- Simulation-driven resilience planning for critical infrastructure
- Sectors: energy, transportation, public safety
- What: Stress-test inspection robots and vision analytics across extreme, rare scenarios (lighting, weather, occlusions) created procedurally.
- Tools/products: Procedural scenario banks; failure-mode coverage tools; post-event reconstruction and training.
- Dependencies: Access to accurate infrastructure assets or CAD-to-UE pipelines; cross-agency data-sharing agreements; validation against real incidents.
- Autonomous drone sports and high-speed aerial robotics
- Sectors: aerospace, entertainment, defense R&D
- What: Train and evaluate high-agility policies in photorealistic tracks with dynamic obstacles and multi-agent adversaries.
- Tools/products: PCG track generators; sim-time slow-motion for curriculum; risk-aware policy optimization.
- Dependencies: High-rate dynamics fidelity; accurate aerodynamic effects; transfer to on-board compute and sensing.
- Geospatial vision and change-detection at urban scale
- Sectors: mapping, urban planning, insurance
- What: Generate varied, time-of-day/weather scenarios for optical satellite/aerial analogs to train urban perception and change detection at scale.
- Tools/products: City-scale UE scenes; sensor approximations; scene versioning across “time” for synthetic change labels.
- Dependencies: Weather/atmospheric modeling; alignment to real distributions; integration with geospatial toolchains.
- Large-scale remote education and skills bootcamps in simulation
- Sectors: education, workforce development
- What: Cloud-hosted simulation labs enabling learners worldwide to build agents, datasets, and visualizations in photorealistic environments.
- Tools/products: Browser-based sessions; quota-managed GPUs; auto-grading with deterministic transactions; instructor content packs.
- Dependencies: Cloud cost management; content licensing; accessibility and bandwidth constraints.
- AI-assisted creative tools for prosumers and indie studios
- Sectors: media, gaming, creator economy
- What: Natural-language “directors” that write and iterate scene-editing and simulation scripts to produce shots, playables, and datasets on demand.
- Tools/products: LLM agents fine-tuned on SPEAR APIs and UE conventions; multi-shot planning; asset marketplace integrations.
- Dependencies: Reliable code generation; safety and IP guardrails; human-in-the-loop review; monetization and licensing models.
Glossary
- Asynchronous operations: Non-blocking UE calls that return immediately and complete later, often yielding a future, enabling overlap with the game thread. "For improved efficiency, we provide an asynchronous variant for each function in SPEAR (e.g., \textcolor{myorange{async.GetComponentLocation}) that avoids synchronizing with UE."
- begin_frame context: The start-of-frame transaction scope in SPEAR; UE work enqueued here is guaranteed to run at the beginning of a UE frame. "the user specifies a transaction by defining a \textcolor{myblue{begin_frame} context followed by an \textcolor{myblue{end_frame} context."
- Blueprints: Unreal Engine’s node-based visual scripting system that exposes reflection-visible functionality. "UE includes a powerful node-based visual programming environment known as Blueprints~\cite{unrealengine:2026:blueprints}, which exposes nearly every class, function, and property that is visible to the reflection system, and can be used to script standalone applications."
- co-simulation: Coordinating two simulators (e.g., UE and a physics engine) to run together with controlled synchronization. "co-simulation via an external physics simulator (e.g.,~\cite{todorov:2012}) with user-defined sub-stepping."
- component system: UE’s architecture where Actors are composed of hierarchical Components that encapsulate behavior and data. "(see~\cite{unrealengine:2026:components} for a more detailed discussion of UE's component system)"
- deterministic stepping: Advancing a simulation in a way that produces identical results across runs, often by pausing and stepping frames explicitly. "In order to implement deterministic stepping in the absence of such a guarantee, the user can begin their UE simulation in a paused state, and in each subsequent transaction unpause the simulation, mutate the game state, and pause the simulation again."
- double-buffered observations: A strategy using two buffers to overlap rendering/communication with computation for higher throughput. "Habitat 2.0's approach for double-buffered observations~\cite{szot:2021}"
- embodied agents: Agents with bodies that perceive and act in simulated environments. "Interactive simulators have become powerful tools for training embodied agents and generating synthetic visual data,"
- end_frame context: The end-of-frame transaction scope in SPEAR; UE work here is guaranteed to run at the end of the same frame as its paired begin_frame. "The UE work specified in its corresponding \textcolor{myblue{end_frame} context is guaranteed to execute at the end of the same frame"
- game thread: UE’s main thread where gameplay logic and most engine work must execute. "each operation is guaranteed to finish executing on the game thread before control is returned to the user's Python code."
- ground truth image modalities: Perfectly labeled rendering outputs (e.g., depth, normals, IDs) used as supervision for vision tasks. "while also providing ground truth image modalities that are not available in any existing UE-based simulator"
- Interprocess shared memory: A zero-copy mechanism allowing multiple processes to access the same memory region for efficient data transfer. "We further optimize the efficiency of our system using interprocess shared memory~\cite{schaeling:2011}, or simply shared memory."
- intrinsic image decomposition (non-diffuse): Separating an image into underlying components (e.g., reflectance/illumination); here focusing on non-diffuse terms. "a non-diffuse intrinsic image decomposition"
- MetaHumans: Epic’s high-fidelity digital human assets and sample project for realistic characters. "a detailed human character in the \nobreakMetaHumans sample project from Epic Games."
- MuJoCo: A high-performance physics engine commonly used for control and robotics research. "we interactively control the MuJoCo physics simulator~\cite{todorov:2012} using the default MuJoCo viewer"
- nanobind: A lightweight C++ library for exposing C++ functions and types to Python. "we implement a Python wrapper for the client side of our interface using nanobind~\cite{jakob:2022}."
- off-screen buffer: A render target not displayed on-screen, used for capture or processing. "rendering an extra view of the scene to an off-screen buffer"
- OpenAI Gym step function: The canonical API method step(action) that advances the environment and returns observations. "a simplified OpenAI Gym step function~\cite{brockman:2016}"
- path tracer: A physically based rendering mode in UE that simulates light transport for high realism. "UE's path tracer"
- physically based shading parameters: Material parameters aligned with PBR models (e.g., roughness, metallic) for realistic shading. "as well as material IDs and physically based shading parameters (see our supp.~material)."
- Procedural Content Generation (PCG): Algorithmic generation of assets or levels, often parameterized and controllable. "We control UE's procedural content generation (PCG) system by translating the main PCG entity in this scene"
- reflection system: UE’s runtime metadata and introspection system enabling discovery/invocation of classes, functions, and properties. "interacting directly with UE's runtime reflection system~\cite{maes:1987,unrealengine:2026:reflection}"
- rpclib: A C++ library for implementing RPC-based client-server interfaces. "We implement both sides of our client-server interface in C++ using rpclib~\cite{szelei:2017},"
- server entry point: A callable C++ endpoint on the UE side that the Python client invokes over RPC. "We implement 193 hand-crafted server entry points to expose various UE functions that are not visible to the reflection system, as well as the reflection system itself."
- SpFunction: A SPEAR-defined callable attached to a UE object that supports efficient NumPy/shared-memory argument and return passing. "We refer to these named functions as SpFunctions, and they can be called from user Python code as though they were reflection-visible UE functions"
- thread-safe task queue: A concurrency mechanism allowing safe enqueuing from one thread and execution on another without data races. "we implement a thread-safe task queuing system."
- transaction: In SPEAR, a begin_frame/end_frame pair that specifies a graph of UE work to execute within one frame. "In our programming model, graphs of UE work are specified as transactions"
- UFUNCTION: A UE macro that marks a C++ function as reflectable and callable via UE’s reflection/Blueprint systems. "simply by adding a \textcolor{mygreen{UFUNCTION} or \textcolor{mygreen{UPROPERTY} annotation next to the function or variable"
- Unreal Editor: UE’s development environment providing tools for authoring, scripting, and debugging. "the Unreal Editor includes a self-contained Python environment"
- UPROPERTY: A UE macro that marks a C++ variable as reflectable and accessible via UE’s property system. "simply by adding a \textcolor{mygreen{UFUNCTION} or \textcolor{mygreen{UPROPERTY} annotation next to the function or variable"
- viewport: The on-screen render surface in UE where the scene is displayed. "rendering the same image to the viewport in a standalone UE application"







