Get Global State / Configuration From Object?

Hi all!

I am building an item stack representation as a Blueprint inheriting from Object. Item types have some global configuration - display name, description, max stack quantity - and I need to expose this global configuration within the item stack to implement some convenience functions (i.e. Get Fill Capacity will return how many more items a stack can take).

Unfortunately, I have come to learn that Blueprint Function Libraries, Data Assets, and Data Tables all require world context which is not available unless my class inherits from Actor (this is supposedly by design). I have seen some suggestions to create a custom C++ class that implements Object and overloads GetWorldContext (sp?), returning nullptr - but this seems rather hacky to me.

Another approach I am considering is creating a global singleton Object holding configuration parameters that I can pass as a variable to any of my Inventory/ItemStack objects (and any other Object requiring state in this way). It feels like there should be a better way but maybe I am overthinking this?

Have any of you experts encountered this problem and do you have any suggestions on how to access a single source of truth from an Object?

(In case this looks familiar I copy/pasted it from another forum where it got no engagement - not sure if naming it is against the rules so I’m staying purposefully vague)