Basic Usage

This guide covers the fundamental concepts and common workflows for using UESynth effectively in your computer vision and machine learning projects.

Core Concepts

1. Client Types

UESynth provides two client types for different use cases:

# Synchronous client - simple, blocking operations
from uesynth import UESynthClient
client = UESynthClient()

# Asynchronous client - high-performance, non-blocking
from uesynth import AsyncUESynthClient
client = AsyncUESynthClient()

When to use each:

  • Sync Client: Prototyping, simple scripts, single-shot captures

  • Async Client: Real-time simulations, batch processing, high-throughput scenarios

2. Data Modalities

UESynth can capture multiple types of data from your Unreal Engine scene:

Common Workflows

1. Single Image Capture

The simplest workflow - capture one image:

2. Multi-View Capture

Capture the same scene from multiple viewpoints:

3. Object Manipulation Workflow

Move objects around and capture the results:

4. Time-of-Day Dataset

Create a dataset with different lighting conditions:

Data Processing Patterns

1. Real-time Processing

Process frames as they're captured:

2. Batch Processing

Collect data first, then process:

3. Dataset Creation

Create structured datasets for ML training:

Best Practices

1. Error Handling

Always handle potential errors gracefully:

2. Resource Management

Use context managers for automatic cleanup:

3. Progress Tracking

For long-running operations, show progress:

4. Configuration Validation

Validate your setup before starting:

This guide covers the fundamental usage patterns for UESynth. As you become more comfortable with these basics, you can explore advanced features like async streaming, scene randomization, and performance optimization.

Next Steps

Last updated