# Combiner

The Combiner is a core component that should be added to the object you want to combine. All nested child objects with [MC Combinable](/dynamic-mesh-combiner/components/mc-combinable.md) that match the specified [MC Mesh Combiner](/dynamic-mesh-combiner/components/combiner/mc-mesh-combiner.md#keys) will be automatically baked.&#x20;

For detailed information on each specific implementation of the combiner, please refer to the documentation. The documentation will provide in-depth details and instructions for utilizing the combiner in different scenarios.

* [MC Mesh Combiner](/dynamic-mesh-combiner/components/combiner/mc-mesh-combiner.md)
* [MC Chunk Combiner](/dynamic-mesh-combiner/components/combiner/mc-chunk-combiner.md)

## Custom combiners

You have the flexibility to create your own custom combiners to tailor the combining process to your specific needs. To achieve this, you need to create a new component that inherits from the `AbstractMeshCombiner` class. Within your custom combiner component, you must implement two abstract functions:

1. `Include(Combinable combinable)`: This function is responsible for including a specific Combinable object in the combining process. Within this function, you can define the necessary logic to combine the Combinable into the combined result.
2. `Exclude(Combinable combinable)`: This function is used to exclude a Combinable object from the combining process. If the function is called for a specific Combinable and the necessary conditions are met, you can implement the logic to exclude that Combinable from the combining process.

By creating custom combiners and implementing these void functions, you have the flexibility to design a combining process that fits your specific requirements. You can define the logic for including or excluding Combinable objects and specify the necessary combining operations within each function.


---

# 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://teogames.gitbook.io/dynamic-mesh-combiner/components/combiner.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.
