UE5 mod manager

That’s the design i would recommand at this point of my knowledge.

a) If you just want to build a game with building blocks provided by independent mods, you don’t need GameShared.

b) If you want to use original game assets inside mods, you need GameShared.

c) If you also want to modify the original game assets, you have to define your own inherited classes to switch between original and mod assets. (see UGC).

(Probably a mod language like lua would be a good idea too.)