## 2 Materials and Methods
### Key Features of the Haptic Feedback Design Tool
Haptic zones can be positioned within each other, allowing for the creation of areas with combined or different vibration intensities and patterns. Figure 8 shows an example of a motorcycle riding simulation, where the user's avatar rides over different types of terrain surfaces. Specifically, riding over finer, tightly packed cobblestones will result in more continuous and subtle vibrations, while riding over larger stones will lead to uneven, sharper vibrations as the tires hit the large stones and fall into the gaps between them. When only one wheel of a motorcycle is within the haptic zone, a different haptic stimulus will be perceived compared to when the entire motorcycle, with both wheels, is within the zone. Also, haptic feedback could depend on different properties of the object interacting with the haptic zone, so in the case of wider and/or larger wheels, the vibration caused by uneven ground would be less noticeable. In the Unity Editor's scene view, haptic zones are represented by a zone collider gizmo, accompanied by a label that displays the zone's name (Figures 7b and 8). The color and opacity of the gizmo, as well as the label's position and distance from the collider, can be adjusted through the Inspector for each haptic zone individually (Figure 7a). This visual representation enhances scene navigation, allowing developers to quickly locate and modify haptic zones. In addition to its adaptability, the use of haptic zones also promotes cleaner, more maintainable code, reduces duplication, and increases work efficiency through flexibility and reusability. To further increase workflow efficiency and accelerate implementation, the tool includes a library of over 20 preset haptic effects designed to fit the most common usage  
Figure 8: Different haptic zones depending on type of surface in a motorcycle riding simulation. User is provided with a specific combined haptic stimulus because only one wheel is in the zone of the surface with larger stones. scenarios (Figure 2b). Tool users can utilize these presets as they are, adjust them, or create new effects based on them. This library is fully customizable to meet the needs of the tool user and each specific project. It is possible to add new effects, modify existing ones, delete those no longer needed, and organize the library using folders. For example, in the development of driving simulations, base preset effects can be created for vibrations such as starting a car, driving over different surfaces, or encountering road bumps. These presets can then be adapted for individual vehicle models or various surface types by adjusting property values programmatically or through a visual editor. User interface of the tool is divided into clearly labeled sections with descriptive titles and property names. Additional explanations and instructions are provided in help boxes (Figure 9a) and tooltips (Figure 9b). For all actions, clear feedback messages are displayed in the console at the bottom of the editor, including detailed error messages that indicate any issues or failures, as well as informational messages to keep the user of the tool informed about the system's status (Figure 9c). During development, particular emphasis was placed on robustness and prevention of various errors, especially those related to the connection of the controller, its vibration, and general correct behavior. All actions within the editor can be reversed using undo and redo functionality. The reproduction unit of the tool exposes properties that can be integrated into application settings, allowing users to disable haptic feedback entirely or fine-tune its intensity both globally and per motor. This is important, as some users find vibration distracting, irritating, or unpleasant [43], and excessive exposure has been linked to Hand-Arm Vibration Syndrome (HAVS) in some cases [44].