Yes, they need to be. The device discovery mechanism for both profiler and debugger works the same way - if you cannot see the profiler connection, I’m not surprised you cannot see the debugger one either. It’s likely that multicast packets are not being propagated on your network (perhaps your router is blocking them?).
Anyway, can you try this? In generated Visual Studio solution, open file “debugger-agent.c”, and find “mono_debugger_agent_parse_options” function. Stick this at the end before the closing brace:
OutputDebugStringA("Starting il2cpp debugger: ");
OutputDebugStringA(agent_config.address);
OutputDebugStringA("\r\n");
Now when you run your game, it should output (in Visual Studio “Output” window) which port it listens to for the debugger, and you could try connecting to it manually by inputting IP in Visual Studio.
Also, you can playing with this: PlayerProbe.cs · GitHub
It’s the code that detects running game on your local network in Visual Studio. That might shed some light on why it’s not showing up.