Cast to UUserWidget class from C++

Approach was totally wrong.

How it should be:

  1. Widget Blueprint should be derived from standard UserWidget
  2. For updating data in the widget is better to use function in this blueprint.
  3. For initiation of this function and control all widgets there is UMG blueprint derived from custom C++ class
  4. Events should be in that C++ class (BlueprintImplementableEvent or BlueprintNativeEvent)
  5. Initialization of events through Player Controller using reliable client function with casting to UMG C++ class and calling the events.
  6. Player controller function can be cast from the others C++ classes.