Have you set the child’s material to the base material? When you have a Material Variant, it has a base material (for example: Plastic), the part has to be same the base material. Video
The code below will set the material variant of a part. Materials are input as strings for some reason.
local part = game.Workspace.Part --your desired part
local materialVarient = game:GetService("MaterialService").Material --material in material service
part.Material = materialVarient.BaseMaterial.Name
part.MaterialVariant = materialVarient.Name