Generate unique number when registering a new user

This way would work … the user_register action is fired when the user is stored in the data base. You can add meta data to a user with add_metadata.

add_action( 'user_register', 'myplugin_registration_save', 10, 1 );

function myplugin_registration_save( $user_id ) {

    add_metadata( $user_id, 'unique_number', date( 'Y' ).str_pad( $user_id, 4 ) );

}