When a non-root component for an actor is moved in the blueprint viewport, that component's PostEditComponentMove function is called.

Adding the actor to the main editor viewport and then moving the component does not call PostEditComponentMove.

Steps to Reproduce
  1. Open UE4 Editor
  2. Add code to project based on scene component (MySceneComp)
  3. Add the following to MySceneComp.h
    void PostEditComponentMove(bool bFinished) override;
  4. Add the following to MySceneComp.cpp
    void UMySceneComponent::PostEditComponentMove(bool bFinished)
    	UE_LOG(LogTemp, Warning, TEXT("ComponentMoved"));
  5. Compile
  6. In the editor, create a blueprint based on actor (MyActor)
  7. Add static mesh component as root component and My Scene Comp as a child of the root to MyActor
  8. Select My Scene Comp from components list and use widget to move it around
    • Note that ComponentMoved is printed in the output window
  9. Add instance of MyActor to the level
  10. Select My Scene Comp for the placed instance
  11. Use the widget to move the component

Nothing is printed to the output log when moving the component

Main viewport behavior matches blueprint viewport behavior

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

Login to Vote

Affects Versions4.11.24.12
Target Fix4.14
Fix Commit3132138
Main Commit3133983
CreatedMay 18, 2016
ResolvedSep 20, 2016
UpdatedMay 2, 2018
View Jira Issue