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, the haptic definition data structure further comprising a plurality of channels, each channel comprising a portion of the haptic data from the haptic effect definition data structure for a different haptic output device of a plurality of haptic output devices; receiving trigger data comprising at least one of: a position of a trigger of the peripheral device; or a range of the trigger of the peripheral device; determining whether a trigger condition is reached based on the received trigger data; sending a haptic instruction and the haptic effect definition data structure to the peripheral device when the trigger condition is reached; and causing haptic output devices to produce one or more haptic effects that are based on the haptic effect definition data structure of the peripheral device in response to the haptic instruction, wherein the portion of the haptic data contained within each channel causes a corresponding haptic output device to produce one or more haptic effects at a corresponding user input element or surface of the peripheral device; and characterized by further comprising modifying the haptic data of the haptic effect definition data structure based on a received spatialized direction 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 targeted haptic output devices comprising targeted actuators, each targeted actuator directly driving a user input element. receiving a haptic effect definition data structure comprising haptic data, the haptic definition data structure further comprising a plurality of channels, each channel comprising a portion of the haptic data from the haptic effect definition data structure for a different haptic output device of a plurality of haptic output devices; receiving trigger data comprising at least one of: a position of a trigger of the peripheral device; or a range of the trigger of the peripheral device; determining whether a trigger condition is reached based on the received trigger data; sending a haptic instruction and the haptic effect definition data structure to the peripheral device when the trigger condition is reached; and causing haptic output devices to produce one or more haptic effects that are based on the haptic effect definition data structure of the peripheral device in response to the haptic instruction, wherein the portion of the haptic data contained within each channel causes a corresponding haptic output device to produce one or more haptic effects at a corresponding user input element or surface of the peripheral device; and characterized by further comprising modifying the haptic data of the haptic effect definition data structure based on a received spatialized direction 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 targeted haptic output devices comprising targeted actuators, each targeted actuator directly driving a user input element.