IDKit SDK allows storage of single byte array (or BLOB) per user record. In C++, you can use functions IEngine_SetCustomData and IEngine_GetCustomData to set and get custom data byte array. In .NET, you can use property User.CustomData to access the custom data byte array. All these functions modify an in-memory copy of the user structure, so don't forget to save the user in database after modifying custom data string (IEngine_UpdateUser).
It is up to the application developer to decide on format of the custom data byte array. One option is to serialize several properties (name, email, address, etc.) into an XML document and storing this XML document in the custom data byte array. There's no limit to size or complexity of data stored in custom data although custom data byte arrays larger than 1MB will impact performance of loading (IEngine_GetUser) and saving (IEngine_RegisterUser or IEngine_UpdateUser) of user records.