Inconsistent Player:IsFriendsWith() return

A few days ago my game has started having problems identifying who’s your friend in-game.

I periodically call Player:IsFriendsWith() on all players client-side to check the current friend status, and it seems like Player:IsFriendsWith() somehow returned false for a player who was my friend for the whole period:

This code snippet might roughly show what I’m doing:

local is_friends = nil
local success, result = pcall(function()
	is_friends = LocalPlayer:IsFriendsWith(tonumber(user_id_string))
end)
	
if success ~= true then
	warn("[FriendClient]: :IsFriendsWith() error:", result)
end
	
if success == true and type(is_friends) == "boolean" then
	if is_friends_server ~= is_friends then
		print(`[FriendClient]: Requesting server to switch friend state for {user_id_string} from "{is_friends_server}" to "{is_friends}"`)
		update_list[user_id_string] = is_friends
	end
end

The game this was captured in:

3 Likes

This is also happening for Chechos Deltarune RP - Roblox. Client side scripts cannot properly identify who your friends are and it’s leading to friends being unable to TP to eachother

Hello!
This was related to a change we made on how we check who your friends are using IsFriendsWith. We had only rolled it out to desktop clients which explains why you only saw it locally. We rolled it back.

please let us know if you see any issues.

1 Like

Hi! I’ve begun seeing this same issue - Specifically, this function will often only ever return true for one friend in a server even if multiple are present.