# Enums

<figure><img src="https://867544918-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqzVFz58t0jKjSlq4LTZ%2Fuploads%2FGTTJRlVaM4euxPSx9ik1%2FEHCv2Docs_Enums.png?alt=media&#x26;token=f8c6e95c-7b8a-4b93-8fcc-5c4afc410e94" alt="" width="375"><figcaption></figcaption></figure>

Enumerations in the hitscan component  enhance code readability by defining a set of named constants. Here’s how we use them:

* **E\_HitscanDataSelection**: Dictates the data source for a hitscan operation. Options include:
  * `InitialConfigs`: Uses initial configuration settings.
  * `Configs`: Uses set of configurations inside the Component.
  * `Data Asset`: Utilizes a pre-defined data asset.
  * `Params`: Uses a structure for passing parameters to the `OnPerformHitscan` event.
* **E\_HitscanPattern**: Determines the pattern of hitscan shots:
  * `Random`: Fires hitscans in a random pattern.
  * `Fixed`: Uses a predetermined, consistent pattern.
  * `Spread`: Procedurally distributes hitscans with some randomization.
  * `Horizontal`: Limits scans to a horizontal trajectory.
