Which function called, when i am using "Move/Rotate/Scale" Actor via SceneEditor?

What happenning when i am using “Move/Rotate/Scale” on Actor by pressing LMB + dragging MoveArrows/RotateCurves/ScaleArrows?

Ohhh, another words, step by step, on case if you didnt understand:

  • I select actor on scene
  • I press W
  • Then i see Arrows on selected actor, which i can use with my Mouse for moving that actor.
  • So what happenning, which function is called or which event thrown, when i Press LMB on that X/Y/Z arrows and Moving actor?
  • And also which function called, when i then release LMB at the end of moving?

The following API calls translate to that functionality:

AActor::SetActorLocation
AActor::SetActorRotation
and
AActor::SetActorScale3D

Each of those also has a “Getter” sister function.

No, i need to change Editor functionality, i need to know where are Events (OnBeginMove, OnEndMove) located.

I found smth: UEditorEngine::ApplyDeltaToActor, but its still not exactly what i need, because i dont see where is something like OnBeginMove/OnEndMove events.

Now i can say even more AActor::SetActorLocation or even AActor::SetActorTransform is NOT CALLED when you use Editor Viewport, because i tested it with break points, nothing happens when i am moving Actors inside Viewport.

I thought you initially meant “how can I mimic what the editor does when you translate/rotate/scale the actor?” I misunderstood your question.

Ok, i think i found what i was needed.

FLevelEditorViewportClient::TrackingStarted // called when mouse pressed
FLevelEditorViewportClient::TrackingStopped // called when mouse released
FLevelEditorViewportClient::ApplyDeltaToActors // called when mouse pressed + actor selected + moving/rotating/scaling