Because hot reloading re-executes parts of your scripts to apply changes, avoid placing heavy, non-idempotent setup logic (like establishing WebSocket connections or generating massive event listeners) directly in the root initialization scripts. Use checks to see if an object or listener already exists before recreating it, ensuring that multiple hot reloads do not stack duplicate event listeners in the background. Leverage Chrome DevTools Alongside Hot Reloading

If you tell me what type of plugin you're building (e.g., panel, menu item) or which Adobe app you're targeting , I can provide more specific advice on using the UDT. Adobe UXP Developer Tool

The uxp namespace includes native system dialogs (open file, save file, color picker) that look and feel like the host OS, not a browser popup.

The tool gives you easy access to uxp.storage.local . No more writing clunky JSON files to the user's hard drive. It is key-value storage that syncs across restarts.