I’ve had the UC44 for a year now, and used it extensively. It is really nice to perform with, and is extremely versatile in how you can configure and use it.
Programming it can be done entirely on the unit itself. It isn’t particularly hard, but it is what you might expect: lots of knob turning! There is a learn function. Because there are so many controls to configure (2 banks of 16 faders + 32 buttons, 32 banks of 8 knobs = 352 controls!), configuring a whole setup takes time.
Personally, I reverse engineered the sysex format, and then wrote a bunch of Python scripts that let me layout a setup in a text file - then run the code to generate a sysex dump file. Send that to the UC44 and I’m good. I find this easier, and I can easily rearrange things as I need.
I realize you aren’t using a DAW, but for those that are: The factory setups are pretty useful out of the box - just start mapping controls to your software. If you use Live, there is a special set up for the FaderFox supplied remote script. If you go that route, I wrote a new remote script from scratch, crunch/remote, that improves a number of things - (and can be easily configured for any MIDI controller).