Widget variables get corrupted and casting to player controller fails

Hi guys.
I’m using UE 4.13 at work and ran into this weird problem.
I did some blueprint scripting, checked to see there’s nothing wrong, and then closed the project to get a cup of coffee.
But when I came back and opened the project, almost all of the variables(containing widgets created during runtime) were corrupt.
Originally their classes were specified to match the widget class they should contain. Now every single one of those are changed to CLASS-PLACEHOLDER.
I was eager to find out what the problem is, so I duplicated the whole project and opened it on my PC at home, which has UE 4.15 installed.

Here it says the class is just Object. Which is a little bit weird since I tried opening the project on different versions(4.14, 4.15) at work. At that time 4.14 didn’t work at all and although the whole project got insanely slow 4.15 didn’t have any error.
I tried manually fixing them one by one(on 4.13) but once I close the project the exact same thing happens again.

And one more thing. Not sure if it’s relevant to the issue described above, but casting ‘get player controller’ to my custom player controller class gets disconnected.

I swear I wasn’t doing anything to cause these problems. The part I was working on at that time had nothing to do with those widget variables.

I did some searching before I came here, and my best guess is Cyclic Dependency.
Is that what this is?
If so, what should I do?
If not, what in god’s name is this and what’s the solution?

Nevermind. Solved.
It WAS dependency issue.