Skip to content

How to debug Motion with Visual Logger and Rewind Debugger

Use this guide when you need to inspect Motion movement state, GAS state, component registration, or timing problems during gameplay.

Open Visual Logger

Use the console command:

bash
VisLog

Or open Window > Developer Tools > Visual Logger.

Record a session

  1. Open Visual Logger.
  2. Click the red Record button.
  3. Play the scenario you want to inspect.
  4. Stop recording.
  5. Select the character actor.
  6. Scrub the timeline.

Filter by LogMotionVisual when you only want Motion entries.

Track specific attributes

Motion logs general movement state automatically. Add attributes when you need histograms for values such as stamina or walk speed.

cpp
UMotionSubsystem* Subsystem = GetLocalPlayer()->GetSubsystem<UMotionSubsystem>();
Subsystem->TrackedAttributes.Add(UMotionAttributeSet::GetStaminaAttribute());
Subsystem->TrackedAttributes.Add(UMotionAttributeSet::GetWalkSpeedAttribute());

Tracked attributes appear as histograms in the Visual Logger graph panel.

Add custom logs

Use Motion subsystem logging helpers for custom Blueprint or C++ debugging:

cpp
Subsystem->LogFloat(FName("CustomSpeed"), MyCustomSpeed);
Subsystem->LogText(FName("AI"), TEXT("Started chase behavior"));

Use custom logs for temporary investigation data, not permanent gameplay state.

Use Rewind Debugger

  1. Enable Rewind Debugger in Edit > Editor Preferences > Rewind Debugger.
  2. Record gameplay with Visual Logger.
  3. Open the Rewind Debugger panel.
  4. Scrub through the timeline.
  5. Inspect Motion's actor summary, component count, movement speed, and movement mode.

Troubleshooting

SymptomCheck
No Motion logs appearUMotionSubsystem is active, build is not Shipping, and LogMotionVisual is visible
Logs appear only on serverSimulated proxies are filtered to avoid duplicate logs
Histograms do not appearRecording is active and the character actor is selected
Attribute values are missingThe attribute was added to TrackedAttributes before recording

Next steps

Visual Logger is disabled in Shipping builds. Motion logging functions remain available for API compatibility but do not add runtime cost there.

Motion - Advanced First Person Character Controller