# Generic Component

This section documents the configuration attributes for each built-in generic model. Use these pages when you are writing a JSON configuration, debugging a config validation error, or looking up the default for a specific attribute.

- For how to add and configure a generic component on your machine, see [Generic](https://docs.viam.com/hardware/common-components/add-a-generic/).
- For the methods you call on a generic in code, see the [Generic API reference](https://docs.viam.com/reference/apis/components/generic/).
- For generic models outside the built-in set, search for `generic` in the [Viam registry](https://app.viam.com/registry). Each registry module’s configuration is documented in its own README on its registry page.

## Built-in models

The following generic models ship with `viam-server`:

| Model | Description |
| --- | --- |
| [`fake`](https://docs.viam.com/reference/components/generic/fake/) | A model used for testing, with no physical hardware. |
