ActorComponent declared as UPROPERTY gets undefined and can't be modified

Hi there guys, pretty simple.
I have created 2 components which are defined as UPROPERTY on the class that spawns them.

public:
	UPROPERTY(EditAnywhere, BlueprintReadOnly)
	class UMageHatComponent* MageHatComponent;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	class UCaptainHatComponent *CaptainHatComponent;

This headers of the incomplete pointers are included on the .cpp file.
The problem is that UE4 won’t let me edit those properties, claiming that i need to define them as UPROPERTYs

Besides this, the values declared as UPROPERTY are set as null and cannot be used (even though the Constructor of the class is instantiating them)

The variables are indeed being instantiated, doing a breakpoint here indicates their existence, but doing a log on the Tick function shows them as null, even though the reference still exists on the Array showed on here, only the variables get nulled

This happens randomly after compiling the C++ project from the editor and will make the game unusable until i reset the engine instance… which is very time consuming and non optimal

Has my c++ class been corrupted? i have deleted the intermediate, saved and binary folders, and i have also re created the visual studio files, but to no avail, the bug still shows.

Any ideas guys?

I accidentaly posted this to the C++ Programming section, is there a way to move it to the Bug Report one?

I have just discovered that this exact error occurs after a breakpoint get triggered on Visual Studio claiming that it can’t load the UE4-Engine.pdb file (or something of that sort), after that error happens (which i don’t know why it does) the variables will start failling as described