Why a friend looks offline when they are not
An offline dot is often a privacy setting, a patch gap, or the wrong identity. Check those before you invent a feud.
A friend can be at the menu and still look offline to you. The list is not a window into their room. It is a set of permissions, versions, and regions that all have to agree before a green dot appears. Most of these failures are boring. Boring is good. It means you can check them without inventing a feud.
Status is a choice
People hide online status because they want to play without hosting the whole list. Appear offline, do not disturb, and a platform's sleep state are features, not clues about your friendship. A message is the honest test. If they answer, the dot was a costume. If the game itself shows them in a match while the platform says offline, believe the game for the purpose of sending an invite, and believe the platform for the purpose of not being offended. What crossplay shares and what it does not matters when you are looking at the wrong identity. The store friend and the in-game friend are sometimes different rows.
Version and region
Two copies a patch apart may refuse to see each other. One of you updated at lunch. The other is on a console that has not received the file yet. You will look mutually invisible inside a mode that demands a match. Regions and privacy zones can do the same. A family account with chat restricted may not surface the way an adult account does. None of this requires a conspiracy. Restart the client after an update before you test again. A stale client is a classic ghost.
Blocks, mutes, and old anger
A block is quiet on purpose. It can be years old, from a bad match you both forgot, or from a mis-click. If a specific person vanished and others remain, a block or a platform-level mute is on the list of causes. You can ask, once, without an interrogation. You cannot demand that someone become visible. Voice chat etiquette in random lobbies is about strangers. Friends deserve a cleaner version of the same restraint. If they wanted the dot on, they know where the switch is.
The invite path is narrower than the list
Seeing someone online is not the same as being allowed to join their session. They may be in a solo story mode, a full party, a queue that locks the lobby, or a game that does not support drop-in. Crossplay toggles may be off on one side. Couch co-op versus online co-op is a reminder that some nights were never going to be a join button. Ask what they are in. A screenshot of your list is weaker evidence than a sentence from them.
A short order of checks
Confirm the same game version, the same platform identity the game expects, and that neither of you is set to hidden. Then try an invite in both directions. Then try a different network only if the client itself will not log in. If the list is wrong everywhere, for everyone, the service is having an evening. Go do something else. Refreshing the dot every minute will not speed a studio's outage, and it will not make a person who wanted privacy owe you a light.
Frequently asked questions
Why do I look online to myself and offline to them? The client often shows you your own intended state and shows others the state after privacy rules. Those can differ. Trust a second account or a friend's report over your own badge.
Does a VPN hide me from friends? It can confuse location and sometimes login checks. If friends vanish only when the VPN is on, test once without it. You have your answer.
Should I make a new account to test? Only if you already have a second one. Do not build a pile of accounts to police a dot. Send a message like a person.