Ahh okay! Sorry I’m not a programmer so I don’t fully understand how all the types and classes are setup, so in this case, I’m trying to setup code in two places, one where it allows me to setup the structure of code so I can call on any new material I make and apply it to the skin, here’s how it looks:
local ISkinnableProps = Types.Interface {
Material = Types.Optional (Types.EnumItem (Enum.Material)),
Transparency = Types.Optional 'number',
Reflectance = Types.Optional 'number',
Color = Types.Optional 'Color3',
Texture = Types.Optional(Types.Interface {
Image = 'string',
UVScale = 'number',
}),
}
This code allows these properties to be edited by the skin
registerAvatarContent(
ARMOR_SKIN_SLOTS,
'dark_indigo_skin',
TEAM_AFFILIATIONS.Civilian,
AvatarContentArmorSkin.new {
SkinnablePrimaryColor = {
Material = Enum.Material.Foil,
Color = Color3.fromRGB(0, 32, 96),
},
SkinnableSecondaryColor = {
Material = Enum.Material.Foil,
Color = Color3.fromRGB(30, 11, 50),
},
SkinnableTertiaryColor = {
Material = Enum.Material.Foil,
Color = Color3.fromRGB(30, 11, 50),
},
SkinnableGlass = {
Material = Enum.Material.Foil,
Color = Color3.fromRGB(19, 6, 43)
},
SkinnableExtraColor = {
Material = Enum.Material.Foil,
Color = Color3.fromRGB(107, 50, 124),
},
SkinnableSkeleton = {
Material = Enum.Material.Foil,
Color = Color3.fromRGB(107, 50, 124),
},
SkinnableVisor = {
Material = Enum.Material.Foil,
Color = Color3.fromRGB(107, 50, 124),
},
SkinnableNeon = {
Color = Color3.fromRGB(170, 85, 255),
},
SkinnableForcefield = {
Color = Color3.fromRGB(85, 0, 255),
},
SkinnableTubing = {
Material = Enum.Material.Foil,
Color = Color3.fromRGB(27, 42, 53)
},
}
:SetDisplayName("Dark Indigo Skin")
:GiveCategoryTags {'ArmorSkin', 'AureumPurchasable' }
:SetPremiumValue(250)
:SetRarity(RarityConstants.RarityEnum.Epic)
)
Here’s an example how one of the skins are setup, I’m unsure how I would add MaterialVarient to this code since it doesn’t use Enum, from what you explained I would just do BasePart.MaterialVariant =
“MaterialName”?