Currently custom user-data is always in the form of a 32bit unsigned integer:
However, one potential user just had a use-case needing to store 2 floating point numbers which would clearly not fit. It would make sense to add a new version of the MCPL format where user flag data could be of arbitrary (but fixed) size. I.e. N bytes, made available as a pointer: uint8_t* userdata;.