# Swap Families
**Panel:** Families | **Menu:** SwapFamilies
Tools to replace instances of one family type with another in the current project.
All three report, as tables in the output window, the instances they could **not** swap:
| Table | Meaning |
|---|---|
| Host Families containing instances not swapped | Instances nested inside another family |
| Host Groups containing instances not swapped | Instances inside a group |
Those need resolving by hand — swapping nested and grouped instances is not automated.
---
##
Swap By Directives
Swaps instances according to CSV instruction files.
**You select a folder, not a file.** The tool searches it for files whose names begin with
`SwapDirective` and end in `.csv`, and reads every directive it finds across all of them.
**Directive file columns:**
```
Source Family Name, Source Family Category Name, Source Family Type Name,
Target Family Name, Target Family Type Name
```
**Use when:** You have a predefined substitution list to apply across a project — for example
moving from concept families to construction-issue families.
---
##
Swap By Selection
Swaps instances through two selection dialogs:
1. Select the **source** family type to replace, from the types loaded in the project.
2. Select the **target** type to use instead. The list is filtered to the source type's
category.
3. All eligible instances of the source type are swapped.
---
##
Swap By Picking
The same as **Swap By Selection**, except the source is identified by **picking an instance
in the model** rather than choosing from a list. You then select the target type as before.
Afterwards it offers to **save the swap you just performed as a `SwapDirective` CSV** through
a save dialog. That file can be fed straight back into **Swap By Directives**, so a one-off
pick can be recorded and replayed on other models.
---
## Notes
- Instances nested in families or inside groups cannot be swapped automatically; they are
reported for manual attention.
- Instance parameter values are preserved where the target type carries a parameter of the
same name. Type parameters come from the target type.
- Progress is shown in a cancellable progress bar.