Quick answer: Unreal EOS OSS’s IOnlineFriends returns zero friends even though Epic shows several. Wrong list, missing scope on the client credentials, or stale cache.

A multiplayer lobby shows no friends for any tester. The DefaultListName isn’t Epic’s friend list; or the EOS Client ID scopes don’t include FriendsList.

Right List Name

EOS exposes multiple lists. The default name varies between OSS revisions. Check EFriendsLists::Default (or its string equivalent) — passing an unrecognized name returns empty silently.

Client Credential Scopes

In EOS Dev Portal, the Client must have the FriendsList scope. Missing scope = empty list with no error. Add it, regenerate credentials, ship.

Permission Acceptance

First login the user accepts the scope. If they declined or the consent flow was skipped, the API returns empty. Re-trigger consent via OnlinePlayer->Login with proper params.

Cache Refresh

EOS caches friends per session. After accepting permissions, call ReadFriendsList with the cached delegate to refresh.

Verifying

Friends list populates within seconds of login. New friends added in Epic appear after the next refresh.

“Empty friends list is wrong list name, missing scope, or unaccepted consent.”

Set up a debug command to dump the raw EOS API response — it tells you which of the three problems you have in one round trip.