Usernames, Display Names, Full Names – how to onboard

In the app I'm designing there are currently only display names. Since these are not unique, it can be hard to distinguish. With this in mind, full names are going to be implemented alongside display names. AND for unique identity purposes as some e-mails might have multiple accounts - usernames are also going to need to be created. This seems like a lot to ask for during the onboarding.

Any suggestions/criticism?