L2: Junior Member
Aug 31, 2016
so ive got a basic idea when it come to optimiseations but i need some calirfication on the use of some brushes when it come to actually using them and what they do that valve developer cummunity site dosent seem to explain to me

brushes like hint
whats its for? why is it everywhere.

skip why do i see skip under particle makers in some of the community and valve's map
why sometimes its above the particle maker
why its sometimes taking half the map

area portal , how does it truly work and why sometimes its empty and other times there is a brush between it
why sometimes it work leaving it as it is and sometimes it need to be turned into an func_area portal

block light: its solid , will it still work if i make it illusionary?

what would be the optimal use and placements for these brushes

sorry for my bad english and consider maybe a screenshot or picture while explaining as im not the sharpest tool in the shed and hence why i dont understand some of the informations made on previous post or V.D.C/wiki


L-3: Simulated Member
Feb 17, 2016
Hint brushes are used to cut your visleafs manually. By this you can create visleafs that help optimizing which areas if your map are loaded and which one not.

Skip brush does what it says, it gets skipped by the compiler, that means it doesn't affect visleafs or is solid. It is often used to create hints that are only on one brush face while the rest is skipped by the engine.

Area portals calculate what you can see while running the game. This means everything behind the areportal that you can't see doesn't gets rendered. Areaportals must always made a func_areportal as far as I know. Areportals also must be fully seal one area. This means that one area must be completly sealed with areaportals from the other areas just like you seal your map so you don't get a leak.

I hope I could help you and give you a basic overview. However this is only my basic knowledge and could be wrong/more complicated. If something is wrong please tell me.


L2: Junior Member
Feb 10, 2013
The Hint tool texture "Hints" where a visleaf cut off should occur. https://developer.valvesoftware.com/wiki/Hint_brush
When you compile, your map is portioned out into visleaves, and Hint helps you control the outcome. https://developer.valvesoftware.com/wiki/Visleaves

While the automatically made visleaves may work out in simple rectangular rooms, they often are non optimal in more complex spaces. By placing a Hint brush, often with one side textured Hint, and the rest textured Skip, you can influence where the cutoff of important visleaves occurs.

Skip brushes are completely ignored by the Compiler, and so can be used on brush faces that are unnecessary. In the above Hint brush example, since most sides of the Hint brush are likely not planes that you want visleaves cut to, you would texture them with Skip so that the Compiler would ignore them. Since Hint brushes can be very large, cutting arenas all the way up to their skybox, their respective Skip faces are equally as large and so "take up the whole map". https://developer.valvesoftware.com/wiki/Skip

The other examples you gave, where the Skip brushes are placed under and over particle makers I'm assuming is to help measure distances and maintain uniformity for copied elements.

Area portals are pretty much what Shanghai said, but areaportals can have two states. When an areaportal is closed, anything that would be visible through it according to the Compiler's visleaves is not rendered. When open, anything that would be visible through the areaportal is rendered, but anything outside of the view is still culled. https://developer.valvesoftware.com/wiki/Area_portal

These properties make areaportals very useful for seperating major areas of a map to prevent large sections of it rendering at once. Doorways and chokepoints between arenas are often cut with areaportals.

An areaportal must always be a func_areaportal, the tooltexture alone does not make it one.

Blocklight is non solid as per this chart. https://developer.valvesoftware.com/wiki/Tool_textures

Blocklight is used to create "artificial" shadows. Some of its uses can be found here: https://developer.valvesoftware.com/wiki/Advanced_Lighting#Shadow_creation

I feel I should also mention that another optimization tool is func_occluder. https://developer.valvesoftware.com/wiki/Func_occluder
They prevent anything viewed "through" the occluder from being rendered. These are more advanced and rather expensive to use, but have their uses, such as blocking visibility in shared walls between major areas.

Looking around the site, there is also a guide that may also help you understand these tools, or at least how hint brushes work.