Contract-Driven Blueprints: From Payload Frustration to Verified Unreal Data Flow
This started with a small annoyance that kept coming back.
While building the Inventory & Equipment framework, I kept creating payload UObject after payload UObject just to move data between gameplay systems and UI. Every new widget seemed to need its own payload class. Most of those classes were almost the same as another one, just different enough to make reuse awkward.
At first, that feels like normal Unreal work.