How to retrieve Steam username using SteamWorks API?
Solution 1
Account Name
Getting the account name is difficult as there is no API function as far as I know.
But there is a SteamAppData.vdf
file in the <SteamInstallPath>/config
folder which looks similar to this:
"SteamAppData"
{
"RememberPassword" "<0|1>"
"AutoLoginUser" "<accountName>"
}
You can get the Steam install path with the SteamAPI_GetSteamInstallPath()
command defined in steam_api.h
.
Then you can read the file and extract the account name out of it.
Player Name
Getting the player name is really easy:
In isteamfriends.h
you'll should find this method:
// returns the local players name - guaranteed to not be NULL.
// this is the same name as on the users community profile page
// this is stored in UTF-8 format
// like all the other interface functions that return a char *, it's important that this pointer is not saved
// off; it will eventually be free'd or re-allocated
virtual const char *GetPersonaName() = 0;
So SteamFriends.GetPersonaName()
should give you the player name.
Solution 2
SteamFriends()->GetPersonaName();
![ares_games](https://lh3.googleusercontent.com/-MCprts7L270/AAAAAAAAAAI/AAAAAAAAB7c/bz854OCGFWk/photo.jpg?sz=256)
ares_games
Updated on June 16, 2022Comments
-
ares_games about 2 years
How can I obtain the Steam username of the currently used (logged-in) account in my application using the Steam API (which is up and running).
The Steam id can (for example) be obtained by:
CSteamID id = SteamUser.GetSteamID();
But I cannot find a method to obtain the username.
-
Zarko Ristic about 4 yearsIs still we need to use this method to get Account Name, or we have now API function?