Skip to content

AMjReplayManager

Attribute Value
Kind Class
UE Macro UCLASS
Inherits AActor

Properties

Public Properties

Property Type Description
MaxRecordDuration float Maximum duration of recording in seconds.
bIsRecording bool
bIsReplaying bool
bAutoRecord bool If true, starts recording automatically on BeginPlay.
PlaybackTime float Current playback time (0 to Duration). Updated on physics thread, read on game thread.
bInterpolateFrames bool Enable linear interpolation between replay frames for smoother playback.
ActiveSessionName FString
ArticulationBindings TArray<FReplayArticulationBinding> Per-articulation replay bindings.

MaxRecordDuration

Maximum duration of recording in seconds.

  • Type: float
  • Editor: ✏️ EditAnywhere
  • Blueprint: 🔵 ReadWrite
  • Category: URLab|Replay

bIsRecording

  • Type: bool
  • Editor: 👁 VisibleAnywhere
  • Blueprint: 🟢 ReadOnly
  • Category: URLab|Replay

bIsReplaying

  • Type: bool
  • Editor: 👁 VisibleAnywhere
  • Blueprint: 🟢 ReadOnly
  • Category: URLab|Replay

bAutoRecord

If true, starts recording automatically on BeginPlay.

  • Type: bool
  • Editor: ✏️ EditAnywhere
  • Blueprint: 🔵 ReadWrite
  • Category: URLab|Replay

PlaybackTime

Current playback time (0 to Duration). Updated on physics thread, read on game thread.

  • Type: float
  • Editor: 👁 VisibleAnywhere
  • Blueprint: 🟢 ReadOnly
  • Category: URLab|Replay

bInterpolateFrames

Enable linear interpolation between replay frames for smoother playback.

  • Type: bool
  • Editor: ✏️ EditAnywhere
  • Blueprint: 🔵 ReadWrite
  • Category: URLab|Replay

ActiveSessionName

  • Type: FString
  • Editor: 👁 VisibleAnywhere
  • Blueprint: 🟢 ReadOnly
  • Category: URLab|Replay

ArticulationBindings

Per-articulation replay bindings.

Private Properties

Property Type Description
bFirstReplayFrame bool Tracks whether the current replay has emitted its first frame. Reset on StartReplay().
LastReplayLogTime double Throttles periodic replay logging to once per second.

bFirstReplayFrame

Tracks whether the current replay has emitted its first frame. Reset on StartReplay().

  • Type: bool

LastReplayLogTime

Throttles periodic replay logging to once per second.

  • Type: double

Functions

Public Functions

General

Function Returns Description
RebuildArticulationBindings() void Rebuild articulation bindings by matching scene articulations against active session.
GetArticulationBindings() TArray<FReplayArticulationBinding>& Get the articulation bindings for UI display.
RebuildArticulationBindings

Rebuild articulation bindings by matching scene articulations against active session.

  • Signature: RebuildArticulationBindings()
GetArticulationBindings

Get the articulation bindings for UI display.

URLab|Replay

Function Returns Description
LoadFromCSV() bool Load joint trajectory from a CSV file. Header row must contain joint names matching MuJoCo model.
BrowseAndLoadCSV() bool Opens a file dialog to browse for a CSV file, then loads it.
BrowseAndSaveRecording() bool Opens a save dialog and saves the active session to a JSON file.
GetSessionNames() TArray<FString> Get names of all loaded replay sessions.
SetActiveSession() void Set the active session for playback.
GetActiveSessionName() FString Get the currently active session name.
GetSessionCount() int32 Get the number of loaded sessions.
LoadFromCSV

Load joint trajectory from a CSV file. Header row must contain joint names matching MuJoCo model.

  • Signature: LoadFromCSV(FString FilePath, float Timestep)
  • Blueprint: 🔵 Callable 🔧 CallInEditor
  • Returns: bool
BrowseAndLoadCSV

Opens a file dialog to browse for a CSV file, then loads it.

  • Signature: BrowseAndLoadCSV(float Timestep)
  • Blueprint: 🔵 Callable 🔧 CallInEditor
  • Returns: bool
BrowseAndSaveRecording

Opens a save dialog and saves the active session to a JSON file.

  • Signature: BrowseAndSaveRecording()
  • Blueprint: 🔵 Callable 🔧 CallInEditor
  • Returns: bool
GetSessionNames

Get names of all loaded replay sessions.

  • Signature: GetSessionNames()
  • Blueprint: 🔵 Callable
  • Returns: TArray
SetActiveSession

Set the active session for playback.

  • Signature: SetActiveSession(const FString& Name)
  • Blueprint: 🔵 Callable
GetActiveSessionName

Get the currently active session name.

  • Signature: GetActiveSessionName()
  • Blueprint: 🔵 Callable
  • Returns: FString
GetSessionCount

Get the number of loaded sessions.

  • Signature: GetSessionCount()
  • Blueprint: 🔵 Callable
  • Returns: int32