Joining as a dedicated spectator

I’m currently using online subsystems to host multiplayer matches on servers, and allowing clients to join. Basically, my game’s match making/networking functionalities is an exact copy of ShooterGame’s session code. You can join or create sessions and stuff using LAN or online and stuff. Everything is working great.

Now, I want to allow players to join as a dedicated spectator, and NOT take up a player slot. I want as many spectators to spectate on a running game as possible, while maintaining the same amount of players.

I believe ShooterGame have some of this functionality, as I found the “MaxSpectators” flag in AGameSession. I’d like to know both how to join a ShooterGame match as a dedicated spectator (?SpectatorOnly=1 doesn’t work for some reason on ShooterGame), and what is the best and correct flow for implementing dedicated spectators using online subsystems.