Adding class specifier breaks my project! UE4 bug?

I have a project which involves blueprint for GUI and C++ for the rest of the game. Naturally, I need my blueprint to be able to reference the c++ part of my game. I have a tile widget class (a widget representing a land tile which holds a few text boxes and things) and it is supposed to hold a pointer to a tile C++ class which holds the actual functions and variables and stuff. I just came back to working on my project after a long hiatus and i am suprised to see the c++ and bp system is working fine, except for the fact that my tile c++ class isnt supposed able to be a variable type but still is in the tile widget somehow. Well, i cannot make any more tile c++ pointers in BP because its not visible, and I want to be able to, so i add BlueprintType to the UCLASS(). Now, the pointer is not correct in the sense that no tile c++ functions are running anymore and no tile C++ variables are being changed.
What’s up?

I fixed it by upgrading my project to the most recent version of UE4 (4.21).