The func_respawnroomvisualizer entity creates team-specific barriers that are normally used to keep would-be spawnkillers out of respawn rooms, but could be used anywhere you want to limit access to one team. This type of barrier is invisible to the friendly team, but is usually made visible to the enemy. It will block both the movement and the grenades of the enemy team.
Tutorial - Respawn Area Barriers
In this tutorial, we will make a Team-Specific Barrier for a Red Respawn Area, which will keep Blue players out. Make sure you have a func_respawnroom with its Team set to Red and a unique Name value somewhere on your map before continuing.
First, create a func_respawnroomvisualizer brush-based entity with the material tools/toolsnodraw in the doorway of the spawn area. This will be the barrier itself. Set its Associated Respawn Room property to the name of your red team's func_respawnroom. The example map uses red_spawn.
Next, using the texture application tool (Shift+A), select the face of the func_respawnroomvisualizer brush that faces away from your respawn room. Set it's material to overlays/no_entry. You may also want to align it to "fit" to center it on the brush.
You should now have a barrier that will stop the Blue team, but not the Red team!
Download the demo map here: Download Here
You can assign a visible material to one or more sides of the func_respawnroomvisualizer brush to make it visible to the enemy team. Usually, the overlay/no_entry material is used. You may be able to achieve other effects by using various materials. Not all materials will fade over distance like overlay/no_entry does, resulting in a solid wall that only exists for one team!