Parsing UI Widget Blueprint script from C++

I’m trying to implement UI widget replication in Unreal Engine 4. The idea to replicate widget states (like visibility, text value for text blocks, percent value for progress bars and etc). There are a lot of states that could be changed by Blueprints and most of them are never changes. It would be great to know the list of properties that could be changed. I know, that changes to widget could be made only from Blueprints script and never from C++.

I’m looking for Blueprints script parsing tool (is some already exist in UE?). If I could parse Blueprint in editor while Blueprint script is changed it would be perfect. Also, slow performance is not a problem (it’s for debug/safety check purposes). If I need to compare function names and properties as strings it would be enough for me.

I think best approach would be implementing the widgets with replication feature.

UMG is only blueprint wrapper for Slate which is UE4 UI system which powers both editor UI and UMG. Slate object are not using UObject thats why alone they can not be used in blueprint, thats main reason why UMG exist, UMG widget are manageing Slate widget, compose them and control them (usually is just passing Blueprint calls to Slate functions controling the widget) .

So reimplementing those widgets with extra features (like replication) is relatively easy and does not require editing engine code, as thsoe widget are already implemented in Slate and UMG just forwarding support for it, so there not much code in there. You can browse thru basic widgets from here and see how they need implmented:

https://github.com/EpicGames/UnrealEngine/tree/bf95c2cbc703123e08ab54e3ceccdd47e48d224a/Engine/Source/Runtime/UMG/Private/Components
https://github.com/EpicGames/UnrealEngine/tree/bf95c2cbc703123e08ab54e3ceccdd47e48d224a/Engine/Source/Runtime/UMG/Public/Components

The Widget Blueprint same as any Blueprint is basic out of C++ class, in case of Widget Blueprint it is UUserWidget. Widget Blueprint usally wont let you pick base class and won’t let oyu reparent widget, but there some small hack, you can make normal blueprint and when you pick any class based of UUserWidget as it’s base UE4 editor will detect that and create Widget Blueprint instead with that class based. Thsi also allows you to hook up to UUserWidget and implement replication there too

Thanks for the answer. As I know there are no widgets on the server (I use dedicated server option). Is there any way to get around it?