A computer-implemented method for controlling a haptic effect produced at a user input element (110, 114, 118) of a peripheral device, the computer-implemented method comprising: receiving a haptic effect definition data structure comprising haptic data; receiving spatialization data comprising a flow of the haptic effect, wherein the flow is a temporal start-of-playback offset modification to delay playback of the haptic effect on individual haptic output devices of the peripheral device; modifying the haptic effect definition data structure based on the received spatialization data, wherein the modifying the haptic effect definition data structure comprises dividing the haptic effect definition data structure into one or more haptic effect definition components; sending a haptic instruction and the modified haptic effect definition data structure to the peripheral device, wherein the sending the haptic instruction and the modified haptic effect definition data structure comprises sending the one or more haptic effect definition components to the peripheral device; causing the individual haptic output devices to produce one or more haptic effects based on the modified haptic effect definition data structure at the peripheral device in response to the haptic instruction, wherein the causing the individual haptic output devices to produce the one or more haptic effects based on the modified haptic effect definition data structure comprises causing the individual haptic output devices to produce the one or more haptic effects based on the one or more haptic effect definition components; and attenuating, based on the spatialization data, at least one of: a magnitude of the haptic data of at least one haptic effect definition component; a frequency of the haptic data of at least one haptic effect definition component; or a duration of the haptic data of at least one haptic effect definition component. receiving a haptic effect definition data structure comprising haptic data; receiving spatialization data comprising a flow of the haptic effect, wherein the flow is a temporal start-of-playback offset modification to delay playback of the haptic effect on individual haptic output devices of the peripheral device; modifying the haptic effect definition data structure based on the received spatialization data, wherein the modifying the haptic effect definition data structure comprises dividing the haptic effect definition data structure into one or more haptic effect definition components; sending a haptic instruction and the modified haptic effect definition data structure to the peripheral device, wherein the sending the haptic instruction and the modified haptic effect definition data structure comprises sending the one or more haptic effect definition components to the peripheral device; causing the individual haptic output devices to produce one or more haptic effects based on the modified haptic effect definition data structure at the peripheral device in response to the haptic instruction, wherein the causing the individual haptic output devices to produce the one or more haptic effects based on the modified haptic effect definition data structure comprises causing the individual haptic output devices to produce the one or more haptic effects based on the one or more haptic effect definition components; and attenuating, based on the spatialization data, at least one of: a magnitude of the haptic data of at least one haptic effect definition component; a frequency of the haptic data of at least one haptic effect definition component; or a duration of the haptic data of at least one haptic effect definition component.