You are over thinking it. I am not adding a Weapon System integrated into the InventorySystem so it does not need to be compatible with anything.
It is simply some extremely basic example actor replicated spawning logic done for people because a few people were destroying the abstract design of the InventorySystem by trying to create different gameplay systems all tangled inside of it.
It just takes a minute to turn the simple example logic provided (which all it does is let you pick a blueprint Weapon_Actor and spawn it attached to the EquipmentCharacter) to swap it out to your own system.
Or if you wanted to create your own weapon system it gives you a barebones starting place already hooked up to the InventoryItem.
To switch it to spawn a different type of actor class all you have to do is change the variables for the new Weapon_Actor class in 3 places to have it work with whatever blueprint weapon system you have.
1.) Change the Weapon_Actor class variable in the InventoryItem Struct to whatever blueprint is the base class of your weapon system.
2.) Change the EquipmentCharacter Weapon_Actor Reference variable to a reference of that same weapon system base class.
3.) In EquipmentCharacter you want to update the Weapon_Actor Class local variable to be your new weapon system base class and the UpdateMainHandWeapon input variable from Weapon_Actor class to your own weapon system base class.
Then you can delete the Weapon_Actor/Weapon_Rifle_Assault dummy blueprints.