I have my own custom Cat model that I rigged an animated myself, yet when i have my own GUI, I coded it as such with buttons and a BrickColorValue within the GUI button along with the chosen color. A localscript was put into the button as well. The coding is as such, and yes, the torso of the model is indeed called "Torso". There are no errors in my output.
Player = game.Players.LocalPlayer Character = Player.Character x = script.Parent.Value.Value script.Parent.MouseButton1Click:connect (function () Character["Torso"].BrickColor = x end)