Question about using Enums and Dictionary for Sprites

I’m making a 2d game where armor is comprised of multiple sprites (up to 20).

I’ve thought of 2 ideas for how to manage this in my armor class.

  1. Just have variables for each Sprite in the class eg

    public class Armor {

    public Sprite chest;
    public Sprite legLeft;
    public Sprite legRight;
    public Sprite armLeft;
    public Sprite armRight;


  2. Create Enums for my various armor slots and in my armor class just have a dictionary of those enums and sprites - There will be a “loader” method that will load the sprites from their asset bundle into the dictionary):

    public class Armor {

    public enum ArmorSlot

     public Dictionary<ArmorSlot, Sprite> armorSprites;


At this stage I’m leaning to the second approach as I won’t be using the unity editor to configure which sprites belong to the armors (armors are being deserialized from a json file and sprites loaded from an asset bundle via naming conventions)

Can anyone see any problems with the second approach? Any suggestions appreciated.


I’d go for the first approach. The enum would just be an unnecessary overhead for identification, what the variable names already do. If you had different armors, that’s a different story, you’d have multiple chests you’d need to differentiate, but in your case everything is already unique.