Нет, не типы, а реализация конкретного типа. Для этого энум не нужен
Зачем придумывать и создавать 100500 классов, когда у них все данные работают одинаково, меняется только внешний вид самого оружия и анимация подгружается отдельно.
Возможно. мы друг друга не понимаем только исходя из того, что я работаю в UE4, и здесь принцип немного другой.
Я создаю С++ класс, в котором я описываю интерфейс.
Я создаю наследника от него в Блюпринтах, в котором я указываю тип, модель, анимацию.
Блюпринты - это своего рода классы-наследники. И их инстансы могут существовать в мире.