Even relatively modest levels can contain hundreds--even thousands--of objects. Hammer offers two ways of keeping track of items in your level: normal grouping and visibility grouping (VisGroups).
Note: VisGroup refers to "visibility group" and has nothing at all to do with the Vis compile tool. VisGroups only affect what you see in the editor and have no in-game effect.
Normal grouping is used to literally "glue" things together.
The object shown above is made of eight brushes. If you were to click on a single brush when the object is ungrouped, only that brush would be selected; you'd have to ctrl-click each piece to select the whole thing (or drag a selection box over the whole thing). When the object is grouped, however, you can click on any individual brush to select everything in entire group.
brushes do not need to touch in order to be grouped together
VisGroups stands for visibility groups. VisGroups make managing objects easy by letting you control what you see on your screen. With VisGroups, you can arbitrarily assign objects to a specific group; you can then turn the visibility of that group on and off. Let's say you have the following section in your map:
Now, you'd like to be able to make the furniture a group, but you still want to move each piece around independently from the others. This is precisely what VisGroups are good for.
First, select the furniture pieces, then click on the hide selected objects button. This will do two things: hide the objects in the 2D and 3D views, and create a new VisGroup with the selected objects.
The new VisGroup will appear in the Filter Control toolbar named after the number of objects it contains. To change the name of the VisGroup to something more suitable, select the VisGroup, then click on it again. You will be able to change the name to whatever you like. You can also click to the left of the name and a hand will appear next to the VisGroup. This is how you set which VisGroups are visible and which are not. You must press the Apply button for the changes to take effect.
Some things you can do with the mouse in the Filter Control toolbar:
drag one group onto another group (this will cause the first group to
be merged with the second group, and the resulting group will keep
the name of the second)
If you make the furniture group visible, then select it and press the Mark button, the group will be highlighted in the 2D and 3D views.
The other two options available to you are Purge and Edit. Pressing the Purge button removes any VisGroups from the Filter Control dialog that do not actually contain any objects (which is possible if you have deleted objects or made one VisGroup part of another).
The Edit button brings up the Object Groups dialog.
This dialog allows you to change the name and color of existing VisGroups, or delete them. Deleting the VisGroup does not actually delete the group's objects, it just eliminates the VisGroup, making them individual unlinked objects. You also have the option of creating new (empty) VisGroups with the New Group button.
The last way you can use VisGroups is through an object's properties, in the VisGroup tab.
The above dialog will also be a part of an entity's Properties dialog. To assign the object to a VisGroup, just select the appropriate group. To remove the VisGrouping from this object, click on (no group).