A computer implemented method for reducing memory required to store blend shapes, the method comprising: storing, by a mobile device, a plurality of assets and a plurality of blend shapes corresponding with the plurality of assets for a plurality of features of an avatar; receiving, on a user interface of the mobile device, a selection of a first feature from among the plurality of features; identifying a first set of the plurality of assets corresponding to the first feature; receiving, on the user interface of the mobile device, a selection of a first asset among the first set of the plurality of assets corresponding to the first feature; identifying a first set of the plurality of blend shapes corresponding to the first asset that is selected among the first set of the plurality of assets corresponding to the first feature; receiving, on the user interface of the mobile device, a selection of a second asset among the first set of the plurality of assets corresponding to the first feature; identifying a second set of the plurality of blend shapes corresponding to the second asset that is selected among the first set of the plurality of assets corresponding to the first feature, wherein one or more blend shapes of the first set of the plurality of blend shapes for the first asset overlaps with one or more blend shapes of the second set of the plurality of blend shapes for the second asset, wherein the one or more overlapping blend shapes are defined by being shared between the first asset and the second asset; identifying for reuse the one or more overlapping blend shapes that are shared between the first asset and the second asset; retrieving, from persistent memory, the first set of the plurality of blend shapes; and retrieving, from persistent memory, blend shapes of the second set of the plurality of blend shapes that are not identified as the one or more overlapping blend shapes that are shared between the first asset and the second asset. storing, by a mobile device, a plurality of assets and a plurality of blend shapes corresponding with the plurality of assets for a plurality of features of an avatar; receiving, on a user interface of the mobile device, a selection of a first feature from among the plurality of features; identifying a first set of the plurality of assets corresponding to the first feature; receiving, on the user interface of the mobile device, a selection of a first asset among the first set of the plurality of assets corresponding to the first feature; identifying a first set of the plurality of blend shapes corresponding to the first asset that is selected among the first set of the plurality of assets corresponding to the first feature; receiving, on the user interface of the mobile device, a selection of a second asset among the first set of the plurality of assets corresponding to the first feature; identifying a second set of the plurality of blend shapes corresponding to the second asset that is selected among the first set of the plurality of assets corresponding to the first feature, wherein one or more blend shapes of the first set of the plurality of blend shapes for the first asset overlaps with one or more blend shapes of the second set of the plurality of blend shapes for the second asset, wherein the one or more overlapping blend shapes are defined by being shared between the first asset and the second asset; identifying for reuse the one or more overlapping blend shapes that are shared between the first asset and the second asset; retrieving, from persistent memory, the first set of the plurality of blend shapes; and retrieving, from persistent memory, blend shapes of the second set of the plurality of blend shapes that are not identified as the one or more overlapping blend shapes that are shared between the first asset and the second asset.