1. A method of customizing a virtual asset, comprising: at a computer system comprising a memory and a processor: receiving a virtual asset that includes a first color layer, wherein the first color layer is set to an initial color value; enabling the initial color value of the first color layer to be changed by a user to a final color value, wherein the final color value is different than the initial color value; duplicating the first color layer into a plurality of color layers that are identical to the first color layer, wherein the plurality of color layers includes a shading layer and a highlighting layer and wherein the shading layer and the highlighting layer are set to the final color value, processing the shading layer, wherein the processing comprises adjusting, without human intervention, responsive to the duplication, and independent of color values in the plurality of color layers other than the shading layer, a hue of a red component of the final color value to a maximum lightness in the shading layer; processing the highlighting layer, wherein the processing comprises adjusting, without human intervention, responsive to the duplication, and independent of color values in the plurality of color layers other than the highlighting layer, a hue of a red component of the final color value to a minimum lightness in the highlighting layer; and stacking the plurality of layers on top of the first color layer, wherein the stacking comprises multiplying corresponding portions of the shading layer and the first color layer against each other, thereby customizing the virtual asset.