Extension: omni.activity.usd_resolver-1.0.4 |
Documentation Generated: Sep 22, 2025 |
Overview#
omni.activity.usd_resolver is an extension that tracks and reports USD file operations as activities within the Kit framework. It integrates with the USD resolver system to monitor when USD files are being resolved, read, or written, and generates corresponding activity events that can be consumed by other extensions for monitoring, profiling, or UI feedback purposes. This extension allows applications to gain visibility into USD file operations that might otherwise be opaque to users or developers.
Key Features#
Monitors USD file operations (resolving, reading, writing)
Generates activity events for USD file operations
Captures file size information for performance analysis
Focuses specifically on .usd, .usda, .usdc, and .usdz files
Configurable filtering of event types
Important Settings#
ignore_read_events: When set to true, USD file read operations will not generate activity events (default: false)
ignore_write_events: When set to true, USD file write operations will not generate activity events (default: false)
ignore_resolve_events: When set to true, USD file resolution operations will not generate activity events (default: false)
Event Format#
The extension generates activity events with the following format:
Read events: “USD|Read|{filename}”
Resolve events: “USD|Resolve|{filename}”
Write events: “USD|Write|{filename}”
Each event includes a “size” attribute containing the file size in bytes.
Integration with Activity Framework#
The extension works with the Kit framework to:
Send “began” events when USD operations start
Send “ended” events when USD operations complete (success or failure)
Include file size information as metadata with each event
Use Cases#
Monitoring USD file operations in real-time
Profiling and performance analysis of USD operations
Building UI indicators for USD file loading progress
Debugging USD file resolution issues
Creating custom activity visualizations for USD operations
Examples#
Listening for USD File Events (Python)#
import omni.activity.core as ac
# Set up a callback for USD file read operations
def on_usd_read(path, event_type, data):
if event_type == ac.EventType.BEGAN:
print(f"Started reading USD file: {path}")
if "size" in data:
print(f"File size: {data['size']} bytes")
elif event_type == ac.EventType.ENDED:
print(f"Finished reading USD file: {path}")
# Register the callback for USD read events
activity = ac.get_instance()
activity.add_callback("USD|Read|*", on_usd_read)