If you try to call such method from BP it will work. But then if you try to build game with nativization you’ll get a compilation error.
Something like this: error: ‘GetOwningPawn’ is a protected member of ‘AHUD’
protected: /** Returns the PlayerController for this HUD's player. */ UFUNCTION(BlueprintCallable, Category=HUD) APlayerController* GetOwningPlayerController() const; /** Returns the Pawn for this HUD's player. */ UFUNCTION(BlueprintCallable, Category=HUD) APawn* GetOwningPawn() const;
I try to imagine why such code even works with blueprints.
I think that protected BlueprintCallable functions should have the same logic as BlueprintProtected or even better didn’t compile.