Blueprint derived from C++ class is not movable in Editor

Hi,

I’m trying to implement a class derived from APawn that can be further configured by Blueprints (to add a mesh for example). To achieve this I tried a similar approach as provided in the TopDownTest project:

UCLASS(Blueprintable)
class ASpaceraidPlayerPawn : public APawn
{
	GENERATED_UCLASS_BODY()
    
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera)
		TSubobjectPtr<class USceneComponent> SpaceraidPawnRoot;

	/** Top down camera */
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera)
		TSubobjectPtr<class UCameraComponent> TopDownCameraComponent;

	/** Camera boom positioning the camera above the character */
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera)
		TSubobjectPtr<class USpringArmComponent> CameraBoom;
 };

The parent class of the new Blueprint is set to SpaceraidPlayerPawn and the component structure described in SpaceraidPlayerPawn.cpp appears correctly in the components view.

If I try to instantiate the Blueprint I am not able to alter it’s position. The camera stays at the same position regardless how the axis-cursor is moved, almost if it was locked to the origin somehow. Same happens if I use the player spawn with the Blueprint set als default pawn.
Since the Blueprint from the TopDownTest project is freely placeable I tried to compare the code and the Blueprints of both projects without finding any real differences (beside the Pawn vs. Character base class), but even with Character as base the components I have added are unmovable.
Did I miss some major concept regarding the C++ / Blueprint workflow?

Ok, I figured it out myself. I assumed that the RootComponent was initialized by APawn but it wasn’t. After I added

SpaceraidPawnRoot = PCIP.CreateDefaultSubobject<USceneComponent>(this, TEXT("SpaceraidPawnRoot"));
RootComponent = SpaceraidPawnRoot;

everything worked as expected. It looks like the Character class takes care of setting the root component while Pawn does not.