We have just upgraded to 4.17.1 and quickly started to notice this bug.
I have narrowed it down in a standalone test level.
Steps to reproduce:
- Create a simple empty level.
- Create and actor MyObjBP in my case.
- Add the new actor to the level.
- Create an interface with one function Called GetMyObject. Set it to return a MyObjBP.
- Add the interface to the level blueprint.
- In the level blueprint, implement the interface GetMyObject and drag in the MyObjBP you placed in the level.
Compile and save all.
Here comes the bug:
If you now change something in MyObjBP, like add a print string or change some values maybe, compile and save, there is a chance that the level blueprints MyObjBP instance reference becomes weird.
And compiling the level blueprint will say:
Can't connect pins New Param and <Unnamed> : My Obj BP Object Reference is not compatible with Object Reference.
Can't connect pins <Unnamed> and New Param : Object Reference is not compatible with My Obj BP Object Reference.
[1090.30] Compile of PersistentLevel.InterfaceTest failed. 2 Fatal Issue(s) 0 Warning(s) [in 29 ms] (/Game/InterfaceTest.InterfaceTest:PersistentLevel.InterfaceTest)
Doing “Refresh All Nodes” at this points fixes the issue, until next time you edit and compile the MyObjBP blueprint. Note that you might have to edit and compile a couple of times to trigger this bug.