Actually, DefaultInventoryClasses is a EditDefaultsOnly uproperty. PlayerPawn and BotPawn each have two weapons assigned in the editor.
I would be more concerned with the networking, more specifically the questionable hit verification where the client is trusted with the hit position.
Right now, Shooter Game is the best reference out there, so I agree that having everything done “the right way” would be nice. I wouldn’t want to see that networking code in other games.