How to cast an object to its interface using Blueprint Scripting?

Exactly. That is why my game state implements IGameClock (for now) and that’s exactly why GameClockHUD wants an IGameClock and not a GameState, or a GameProcessorObject.

GameClockHUD only cares if it’s given IGameClock because the object that implements IGameClock is gauranteed to have Get[Month,Date,Hour,Minute,Second]AsText() functions.