Skip to content

UMjPropertyRow

A reusable widget base for a single property row (Label + Control + ValueDisplay).

In the Blueprint, you should bind: - PropertyLabel (TextBlock) - PropertySlider (Slider) [Optional for Toggle mode] - PropertyToggle (CheckBox) [Optional for Slider mode] - ValueDisplay (TextBlock)

Attribute Value
Kind Class
UE Macro UCLASS
Inherits UUserWidget

Properties

Public Properties

Property Type Description
OnValueChanged FMjPropertyValueChanged Event fired when the value changes via user interaction.

OnValueChanged

Event fired when the value changes via user interaction.

  • Type: FMjPropertyValueChanged
  • Category: MuJoCo|UI

Protected Properties

Property Type Description
PropertyLabel UTextBlock*
PropertySlider USlider*
PropertyToggle UCheckBox*
ValueDisplay UTextBlock*
PropertyName FString
PropertyType EMjPropertyType
bIsControllable bool

PropertyLabel

  • Type: UTextBlock*

PropertySlider

  • Type: USlider*

PropertyToggle

  • Type: UCheckBox*

ValueDisplay

  • Type: UTextBlock*

PropertyName

  • Type: FString
  • Blueprint: 🟢 ReadOnly
  • Category: MuJoCo|UI

PropertyType

bIsControllable

  • Type: bool
  • Blueprint: 🟢 ReadOnly
  • Category: MuJoCo|UI

Functions

Public Functions

MuJoCo|UI

Function Returns Description
InitializeProperty() void Sets up the row with the given property name and type.
SetSliderRange() void Manually sets the slider range.
SetValue() void Updates the displayed value without triggering events.
GetPropertyName() FString Gets the name of the property this row represents.
GetPropertyType() EMjPropertyType Gets the type of the property this row represents.
SetControllable() void Sets whether this row is an interactive control (actuator).
IsControllable() bool Returns true if this is an interactive actuator control.
IsBeingDragged() bool Checks if the user is currently dragging the slider.
SetRowEnabled() void Enables or disables the interactive widgets in this row.
SetAssociatedObject() void Sets the object (Component or otherwise) associated with this row.
GetAssociatedObject() UObject* Gets the object associated with this row.
InitializeProperty

Sets up the row with the given property name and type.

  • Signature: InitializeProperty(const FString& InName, EMjPropertyType InType, float InitialValue, FVector2D Range)
  • Blueprint: 🔵 Callable
SetSliderRange

Manually sets the slider range.

  • Signature: SetSliderRange(FVector2D Range)
  • Blueprint: 🔵 Callable
SetValue

Updates the displayed value without triggering events.

  • Signature: SetValue(float NewValue)
  • Blueprint: 🔵 Callable
GetPropertyName

Gets the name of the property this row represents.

  • Signature: GetPropertyName()
  • Blueprint: 💎 Pure
  • Returns: FString
GetPropertyType

Gets the type of the property this row represents.

  • Signature: GetPropertyType()
  • Blueprint: 💎 Pure
  • Returns: EMjPropertyType
SetControllable

Sets whether this row is an interactive control (actuator).

  • Signature: SetControllable(bool bInControllable)
  • Blueprint: 🔵 Callable
IsControllable

Returns true if this is an interactive actuator control.

  • Signature: IsControllable()
  • Blueprint: 💎 Pure
  • Returns: bool
IsBeingDragged

Checks if the user is currently dragging the slider.

  • Signature: IsBeingDragged()
  • Blueprint: 💎 Pure
  • Returns: bool
SetRowEnabled

Enables or disables the interactive widgets in this row.

  • Signature: SetRowEnabled(bool bEnabled)
  • Blueprint: 🔵 Callable
SetAssociatedObject

Sets the object (Component or otherwise) associated with this row.

  • Signature: SetAssociatedObject(UObject* InObject)
  • Blueprint: 🔵 Callable
GetAssociatedObject

Gets the object associated with this row.

  • Signature: GetAssociatedObject()
  • Blueprint: 💎 Pure
  • Returns: UObject*