Skip to content

AAMjManager

Thin coordinator actor for the MuJoCo simulation within Unreal Engine.

Owns subsystem components and delegates to them: - UMjPhysicsEngine: simulation lifecycle, model/data, options, async loop - UMjDebugVisualizer: debug drawing, collision wireframes - UMjNetworkManager: ZMQ components, camera streaming - UMjInputHandler: keyboard hotkeys External code accesses subsystem state via Manager->PhysicsEngine->X, etc.

Attribute Value
Kind Class
UE Macro UCLASS
Inherits AActor

Properties

Public Properties

Property Type Description
PhysicsEngine UMjPhysicsEngine*
DebugVisualizer UMjDebugVisualizer*
NetworkManager UMjNetworkManager*
InputHandler UMjInputHandler*
Perturbation UMjPerturbation* Mouse-driven body perturbation (simulate-style Ctrl+LMB/RMB drag).
Instance static AAMjManager* Set in BeginPlay, cleared in EndPlay. Use GetManager() from Blueprints.
bAutoCreateSimulateWidget bool
StepMode EStepMode Step mode for the simulation.
Seed int32 Deterministic seed written to m->opt.seed before compile.
BridgeServer TObjectPtr<UURLabBridgeServer> Owns the FURLabRpcDispatcher + transports. Created in BeginPlay, destroyed in EndPlay.
ManagerOwnedPublishTransports TArrayUURLabPublishTransport\>> Manager-owned UObject publish transports
ManagerOwnedSubscribeTransports TArrayUURLabSubscribeTransport\>> Manager-owned UObject subscribe transports
m_MujocoComponents TArray<UMjQuickConvertComponent*>
m_articulations TArray<AMjArticulation*>
m_heightfieldActors TArray<AMjHeightfieldActor*>

PhysicsEngine

  • Type: UMjPhysicsEngine*
  • Editor: 👁 VisibleAnywhere
  • Blueprint: 🟢 ReadOnly
  • Category: MuJoCo

DebugVisualizer

  • Type: UMjDebugVisualizer*
  • Editor: 👁 VisibleAnywhere
  • Blueprint: 🟢 ReadOnly
  • Category: MuJoCo

NetworkManager

  • Type: UMjNetworkManager*
  • Editor: 👁 VisibleAnywhere
  • Blueprint: 🟢 ReadOnly
  • Category: MuJoCo

InputHandler

  • Type: UMjInputHandler*
  • Editor: 👁 VisibleAnywhere
  • Blueprint: 🟢 ReadOnly
  • Category: MuJoCo

Perturbation

Mouse-driven body perturbation (simulate-style Ctrl+LMB/RMB drag).

  • Type: UMjPerturbation*
  • Editor: 👁 VisibleAnywhere
  • Blueprint: 🟢 ReadOnly
  • Category: MuJoCo

Instance

Set in BeginPlay, cleared in EndPlay. Use GetManager() from Blueprints.

bAutoCreateSimulateWidget

  • Type: bool
  • Editor: ✏️ EditAnywhere
  • Blueprint: 🔵 ReadWrite
  • Category: MuJoCo|UI

StepMode

Step mode for the simulation.

  • Type: EStepMode
  • Editor: ✏️ EditAnywhere
  • Blueprint: 🔵 ReadWrite
  • Category: MuJoCo|Remote Stepping

Seed

Deterministic seed written to m->opt.seed before compile.

  • Type: int32
  • Editor: ✏️ EditAnywhere
  • Blueprint: 🔵 ReadWrite
  • Category: MuJoCo|Remote Stepping

BridgeServer

Owns the FURLabRpcDispatcher + transports. Created in BeginPlay, destroyed in EndPlay.

ManagerOwnedPublishTransports

Manager-owned UObject publish transports

  • Type: TArrayUURLabPublishTransport\>>

ManagerOwnedSubscribeTransports

Manager-owned UObject subscribe transports

  • Type: TArrayUURLabSubscribeTransport\>>

m_MujocoComponents

  • Type: TArray<UMjQuickConvertComponent*>
  • Editor: ✏️ EditAnywhere
  • Blueprint: 🟢 ReadOnly
  • Category: Mujoco Physics|Objects

m_articulations

  • Type: TArray<AMjArticulation*>
  • Editor: ✏️ EditAnywhere
  • Blueprint: 🟢 ReadOnly
  • Category: Mujoco Physics|Objects

m_heightfieldActors

  • Type: TArray<AMjHeightfieldActor*>
  • Editor: ✏️ EditAnywhere
  • Blueprint: 🟢 ReadOnly
  • Category: Mujoco Physics|Objects

Protected Properties

Property Type Description
m_ArticulationMap TMapAMjArticulation\*> O(1) articulation lookup built in PostCompile. Key = actor name.
SnapshotPublishers TArray<FRegisteredSnapshotPublisher> Snapshot publishers registered by their owning components. Read on

m_ArticulationMap

O(1) articulation lookup built in PostCompile. Key = actor name.

  • Type: TMapAMjArticulation\*>

SnapshotPublishers

Snapshot publishers registered by their owning components. Read on

  • Type: TArray

Functions

Public Functions

General

Function Returns Description
GetEntities() const TArray<FMjEntityRecord>& Non-articulation entity table built in PostCompile; empty until then.
BuildEntityCache() void Refresh the entity cache; called from PostCompile.
RegisterSnapshotPublisher() void Snapshot publishers share one per-step state_full payload — each
GetEntities

Non-articulation entity table built in PostCompile; empty until then.

BuildEntityCache

Refresh the entity cache; called from PostCompile.

  • Signature: BuildEntityCache()
RegisterSnapshotPublisher

Snapshot publishers share one per-step state_full payload — each

MuJoCo|Control

Function Returns Description
StepSync() void Pauses the async loop, steps N times synchronously, then restores pause state.
StepSync

Pauses the async loop, steps N times synchronously, then restores pause state.

  • Signature: StepSync(int32 NumSteps)
  • Blueprint: 🔵 Callable

MuJoCo|Snapshot

Function Returns Description
RestoreSnapshot() void Restore is scheduled for the next physics step (not applied immediately).
RestoreSnapshot

Restore is scheduled for the next physics step (not applied immediately).

MuJoCo|UI

Function Returns Description
ToggleSimulateWidget() void Bound to Tab key.
ToggleSimulateWidget

Bound to Tab key.

  • Signature: ToggleSimulateWidget()
  • Blueprint: 🔵 Callable