Components are NOT being intialized/created upon calling the constructor of our CHARACTER [C++ ONLY]

note: THIS USED TO WORK ON VERSION 4.15, if there is a new syntax for adding a camera to an actor on V4.21, please let us know (after being unable to find a solution).

.cpp file



#include "MainCharacter.h"
#include "Camera/CameraComponent.h"
#include "MotionControllerComponent.h"
#include "Runtime/Engine/Classes/Components/StaticMeshComponent.h"
#include "Runtime/CoreUObject/Public/UObject/ConstructorHelpers.h"
AMainCharacter::AMainCharacter()
{

    PrimaryActorTick.bCanEverTick = true;
    VRroot = CreateDefaultSubobject<USceneComponent>(TEXT("VRroot"));
    VRroot->SetupAttachment(GetRootComponent());
    camera = CreateDefaultSubobject<UCameraComponent>(TEXT("Camera"));
    camera->SetupAttachment(VRroot);
}


.h file



#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Character.h"
#include "MainCharacter.generated.h"

UCLASS()
class VRET_API AMainCharacter : public ACharacter
{
    GENERATED_BODY()

public:
    // Sets default values for this character's properties
    AMainCharacter();


protected:
    // Called when the game starts or when spawned
    virtual void BeginPlay() override;

public:
    // Called every frame
    virtual void Tick(float DeltaTime) override;

    // Called to bind functionality to input
    virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;

private:
    UPROPERTY()
    class UCameraComponent * camera;
    UPROPERTY()
    class USceneComponent * VRroot;
};

When we run the game the character is actually created with its default capsule component, but its camera/vrroot components are not being created. Please help, much thanks! <3

Yeah. We ran into this as well. Seems to be a UE thing. Issue a bug report and hopefully they will fix it in the next version.