> For the complete documentation index, see [llms.txt](https://2yeet.gitbook.io/anvilcsg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://2yeet.gitbook.io/anvilcsg/organization/organization.md).

# Groups, sections, filters, and flags

Anvil has three separate organization systems: **Groups**, **Build Sections**, and **View Filters**. They solve different problems and can be used together.

* Groups keep related objects together while editing. Outside a named Build Section, they can also define a lower-level merge boundary.
* Build Sections divide generated output into rooms, culling areas, or other large units.
* View Filters only control what is visible in the workspace.

## Groups

Select two or more brushes and press `Ctrl/Cmd+G` to create a Brush Group. Press `Ctrl/Cmd+Shift+G` to ungroup it.

Groups are useful for objects that should move and select together, such as a doorway and its trim. Normal selection promotes to the outer group. Groups can be nested, and their pivot is placed at the center of the combined bounds.

If a selection crosses Build Sections, Anvil creates one group inside each section instead of making one group span several sections.

Generated Stairs, Arches, Arcs, and Cylinders also use wrapper groups. Those wrappers protect the generator and cannot be dissolved accidentally. A normal user group placed around generated objects can still be ungrouped.

Two or more non-brush entities can be grouped into a **Prefab Group**. Their prefab links remain intact.

## Build Sections

Open **Build Sections** from the top toolbar.

Each brush starts in **World Geometry**. You can create named sections, rename them, choose a color, lock them, delete them, and assign the current selection.

A Build Section is the highest normal merge boundary in Automatic build organization. A section can represent:

* One room
* A camera-culling area
* A streaming unit
* A part of the map managed by gameplay code

Anvil creates the mesh and hierarchy boundaries. It does not include a runtime room-streaming or camera-culling system. Your game can use the generated section roots with its own system.

Eligible static geometry inside a named section is combined into real multi-material meshes where possible. Decals, collision, triggers, and probes follow the same section ownership while remaining the output type they need to be.

Locking a section keeps it visible but prevents selection. Deleting a custom section moves its content instead of deleting the objects.

Do not use Build Sections only to hide objects while editing. Use View Filters or Isolation for that.

## View Filters

Open **View Filters** from the top toolbar.

View Filters are editor visibility sets. They do not change Build Map merging or runtime output.

Anvil provides these automatic filters:

* World Geometry
* Detail Geometry
* Triggers
* Non Static
* Scripted Objects
* Lighting
* Prefabs
* Terrain

You can also create a custom filter, rename it, choose a color, assign a selection, and show or hide it. **Show All** and **Hide All** change every filter at once. The default filter is protected.

## Isolation

Isolation is a temporary way to clear visual clutter without changing a saved View Filter.

The available commands are:

* Hide Selection
* Show All Hidden
* Isolate Selection
* Add To Isolation
* Exit Isolation

Isolation is workspace state. It is not a Build Section and does not affect generated output.

## Brush flags

Right-click a brush and open **Flags**.

### Collision Only

Keeps collision but removes the brush from rendered output. Use it for invisible ramps, blockers, or simplified collision.

### No Collision

Keeps rendered geometry but excludes the brush from solid collision output.

### No Shadows

Prevents shadow casting. Anvil also keeps the brush in a safe separate render split when needed.

### Static

Includes the brush in static and lightmap workflows.

### Detail Geometry

Keeps detail geometry separate from ordinary world merging. If one member of a Group is marked Detail Geometry, the whole Group is treated as detail during Automatic build organization.

### Smoothing

* **Weighted Smooth Normals** enables weighted smoothing for that brush.
* **Ignore Smooth Normals** prevents Anvil automatic smoothing on that brush.

## A practical setup

For a room-based map:

1. Create one Build Section for each room or culling area.
2. Assign the room geometry to its section.
3. Group smaller objects that should select and move together. Inside a named section, eligible normal Groups can still join the section mesh.
4. Mark trim or other independent geometry as Detail Geometry when it should stay separate.
5. Use View Filters to hide categories while editing.

The Build Map window shows the final organization and generated chunk counts before you use the map in another scene.
