How do you access user profile fields? In D7, using profile2 module, you would load the entity_metadata_wrapper from user object then access profile fields as such: $userWrapper->profile_XXX->field_XXX

Given that Profile2 is replaced by Profile module in Drupal 8, what is the Drupal 8's equivalent of accessing profile module's fields from a user object?
This is late, but other people will come here (just like I did).

I had to go into the profile module source code to find this, but I guess it's obvious when you think about it:

$list = \Drupal::entityTypeManager()
  -&gt;getStorage('profile')
  -&gt;loadByProperties([
    'uid' =&gt; $account-&gt;id(),
    'type' =&gt; 'profile_type',
  ]);


You'll probably want to wrap it up in a service - and if you don't, you should take a long hard look at yourself as to why not :-)