# Using Function Groups

## Creating and Utilizing Function Groups

\
Function Groups are an advanced system-design feature in HOLOPLOT Plan that simplify routing by logically grouping beams within a preset layer. They are optional, but become especially powerful in complex designs and when working with the Downmix Matrix or group-based EQ.

***

### What are Function Groups & When to Use Them

Function Groups are **logical containers for beams** that simplify routing by allowing multiple beams to be treated as a single unit.

They are designed for **advanced system design workflows.** Beams will be added to Function Groups by default, but it is optional whether or not to interact with them in your system design. If your system is simple, Function Groups can safely be ignored.

Use Function Groups when:

* Your system design contains many beams
* Routing becomes difficult to manage at the individual beam level
* You want to simplify downmixing and group-based routing
* You want to apply EQ at a group level rather than per beam

Function Groups:

* Contain **beams only**
* Do not affect physical layout, array configuration, or optimization
* Are required structurally, as every beam must belong to a Function Group

**Example:**

In a left–right system with additional coverage zones, you might:

* Group all beams from the left and right mains into a single **Main Function Group**
* Place front fill beams into one **Fill Function Group**
* Place under-balcony beams into a second **Fill Function Group**

This separation makes routing in the Downmix Matrix significantly easier. Instead of working beam by beam, you can connect all fill beams to the main beams using the 'connect all cells' functionality.

***

### Where Function Groups Live

Function Groups live **inside a Preset Layer**.

A Preset can contain multiple Preset Layers, and each Preset Layer can contain multiple Function Groups. Within those Function Groups are the beams.

Function Groups inherit the same limits as the Preset Layer they belong to. This means the maximum number of beams that can exist in a Function Group is constrained by the Preset Layer limits.

***

### Creating Function Groups

#### Automatic creation

Function Groups are created automatically by default:

* When a beam is added, it is automatically placed into a Main Function Group

This ensures that all beams always belong to a Function Group.

#### Manual creation

Additional Function Groups can be created manually:

1. Select a Layer
2. Open the Properties panel on the right
3. Create a new Function Group

#### Function Group types

There are three types of Function Groups:

* Main – primary beams serving the main audience area
* Fill – beams used for fills, delays, or supplemental coverage
* LF – beams dedicated to low-frequency content<br>

The Function Group type is particularly relevant when configuring routing and downmixing.

***

### Managing and Viewing Function Groups

#### Viewing Function Groups

In the Active Preset Panel, you can toggle between:

* Array view
* Function Group view

#### Managing beams in Function Groups

Once a beam is inside a layer, it can be moved to a different function group by right click > add to \[Function Group Name] menu.

In order to move a beam from the Libray to Function group, it must first be added to the layer, and then moved to the desired Function Group.

All beams must live inside a Function Group. Function Groups act as parents, and beams act as children.

#### Removing and restoring Function Groups

If a Function Group is removed from the active preset:

* It is removed from the active preset context
* It remains in the library (even though Function Groups themselves are not directly visible)

If beams that belonged to a removed Function Group are later added back to the active preset:

* The same Function Group is automatically restored
* This happens because all beams must belong to a Function Group

***

### Applying Function Groups

#### Using Function Groups with the Downmix Matrix

Function Groups are particularly useful in the Downmix Matrix.

Instead of routing individual beams, you can route all beams in one Function Group to all beams in another Function Group.

For example:

* Route all beams in a Main Function Group to all beams in a Fill Function Group

This significantly reduces routing complexity in large systems.

#### Using Function Groups for EQ

Function Groups support EQ at the group level in both Plan and Control.

To access Function Group EQ:

1. Select the Function Group
2. Open the Properties panel

**EQ hierarchy and navigation**

Function Groups act as parents, and beams act as children.

From within an EQ window:

* If you are viewing a Beam EQ, you can open the parent Function Group EQ
* If you are viewing a Function Group EQ, you can open the Beam EQs for all beams contained in that Function Group

This makes it easy to move between group-level and beam-level tuning.

Find out more in the [Tuning Beams in Plan](/holoplot-plan/working-with-beams/tuning-beams-in-plan.md)section.

***

### Plan ↔ Control Interoperability

Function Groups are fully supported across Plan and Control:

* They are exported with the .holoplot file
* They are visible in the Controller UI
* They persist when files are imported back and forth between Plan and Control


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.holoplot.com/holoplot-plan/working-with-beams/using-function-groups.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
