I am a former Unity user, and after a big pause in game dev decided to try out Monogame (I'm a software engineer IRL so I'd figure this is the best way to go).
In Unity I was using scriptable objects to decouple my data from their mutators / consumers, as explained here.
For example, I would have a scriptable object that represented my player's health, and my player entity would just have it as a public field and in the editor I could drag the scriptable object in.
My UI was also interested in the health, so I could just expose a public field on my health bar and it would consume it.
Hence my data was decoupled from the once using it and no dependencies where between different systems.
So I'd like to reproduce this in Monogame.
I was thinking of using something like a service provider / locator pattern where I could register the health for my player for example and each system needing it would retrieve it trough that.
This seems less flexible though then the way Unity shows it, as I could have multiple 'healths' registered, and to get the right one would mean I'd have to find a way to retrieve the right one (which is totally possible but more complex then just dragging in the right scriptable object in Unity).
Someone found a nice way of doing this before I dive in?