Extension: omni.timeline.live_session-1.1.1

Documentation Generated: Aug 12, 2025

Overview#

The Timeline live synchronization extension enables live session users to share and control a common timeline state in Omniverse Kit SDK. It provides a set of public APIs to manage session state, control timeline sessions, and assign user roles such as listener or presenter. The extension is designed to coordinate timeline updates between multiple participants, ensuring that each user sees a synchronized view of the timeline during collaborative sessions.

Concepts#

  • Session State Management: The extension offers a SessionState class that tracks live session user information and notifies registered callbacks when the user list changes. This allows external components to react when users join or leave the session.

  • Timeline Sessions: With TimelineSession and associated role types, developers can manage session lifecycles, request control over the timeline, and switch roles between presenter and listener. This framework supports starting, stopping, and synchronizing timeline playback across users.

  • Role Assignment: Defined through TimelineSessionRoleType, the extension distinguishes between users who actively control the timeline and those who observe, streamlining collaborative interactions during live sessions.

Functionality#

  • Live Timeline Control: Developers can use the API to start and stop live timeline sessions, enable synchronization between users, and process control requests. This allows for real-time coordination during collaborative review or presentation sessions.

  • User Callback Integration: By registering for user update notifications and presenter or control request changes, applications can dynamically adjust their UI or behavior based on the current session status.

  • Role Verification Methods: Helper methods such as checking if a user is the current owner or presenter simplify role-based operations within a live session, ensuring that timeline control is smoothly handed over when needed.

Relationships#

  • Dependencies: This extension relies on other core modules including omni.timeline, omni.kit.notification_manager, omni.kit.collaboration.presence_layer, omni.kit.usd.layers, and omni.ui. These dependencies ensure consistent synchronization, robust notification management, and smooth integration with live USD layers.

  • Integration with Live Sessions: Built to work alongside other collaboration extensions, the Timeline live synchronization extension shares session data and live updates, making it a key component for real-time collaborative projects.

Considerations#

  • The extension focuses on synchronizing timeline playback and user roles in live sessions and is best suited for environments where multiple users interact simultaneously.

  • Developers should ensure that any custom logic interacting with session callbacks or role assignments properly cleans up resources by calling provided destroy methods when sessions end.

By abstracting common timeline control tasks and live session user management, this extension simplifies collaborative workflows in Omniverse Kit SDK.