Description

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

Result:
Nothing is printed to the output log when moving the component

Expected:
Main viewport behavior matches blueprint viewport behavior

Have Comments or More Details?

Head over to the existing AnswerHub thread and let us know what's up.

0
Login to Vote

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