When moving these components around in the world editor, the transform gizmo will move with the undo, but the actual component will not. 


I could not repro this behavior with non-native components, it is only happening if the root component comes from a C++ native class. 

Steps to Reproduce

1. Create a C++ actor that has a root component:

// Header file...
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "TransactionTest.generated.h"
UCLASS(Blueprintable, BlueprintType)
class MY_PROJ ATransactionTest : public AActor
	ATransactionTest ();
	UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly)
	USceneComponent* SceneRoot;
// Cpp file...
#include "ATransactionTest.h"
	SceneRoot = CreateDefaultSubobject<USceneComponent>(TEXT("SceneRoot"));

2. Create a blueprint class from the C++ class
3. Add any component (ex. Cube) to the blueprint actor
4. Place an instance of the blueprint into a level, move the Cube component on the instance
5. Hit CTRL+Z to undo moving the Cube

Expected results: Modifications to the component's properties properly undo when pressing CTRL+Z (ex. Tooltip appears saying "Undo: Move components")

Actual results: Tooltip appears saying "Undo: Clicking on Component (tree view)". Modifications to the component's properties do not undo when pressing CTRL+Z

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-105017 in the post.

Login to Vote

Target Fix4.26.1
Fix Commit15013826
Release Commit15013826
CreatedJan 4, 2021
ResolvedJan 7, 2021
UpdatedApr 27, 2021