There are several libraries that support GUI creation for p5.js but I think canvasGUI provides a different user experience that might suit many. A big plus is that the GUI is drawn directly on top of the canvas making it possible to share sketches using canvasGUI on sites such as OpenProcessing.
Some of the features are
- compatibility with global and instance modes
- works with both 2D and 3D sketches (P2D and WEBGL) without code changes
- extensive support on GitHub and my website
This sketch below shows many of the controls available