# EventArg<TArg>

> A reusable identifier for an event callback argument of type TArg.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.UIElements](/engine/6000.7/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule
* **Inherits from:** [EventArg](/engine/6000.7/script-reference/unityengine/uielements/eventarg.md)

```csharp
public abstract class EventArg<TArg> : EventArg
```

## Remarks

Use the [EventArg.Create](/engine/6000.7/script-reference/unityengine/uielements/eventarg/create.md) factory method to create instances of this class and [EventArg\<TArg>.Register](/engine/6000.7/script-reference/unityengine/uielements/eventarg1/register.md), [EventArg\<TArg>.Unregister](/engine/6000.7/script-reference/unityengine/uielements/eventarg1/unregister.md) to assign argument values to individual elements for all callbacks that use this argument identifier in their definition.

Additional Resources: [EventArg](/engine/6000.7/script-reference/unityengine/uielements/eventarg.md), [EventCallback.Create](/engine/6000.7/script-reference/unityengine/uielements/eventcallback/create.md)

## Methods

| Method                                                                                       | Description                                                                                                                                                                                      |
| -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Register](/engine/6000.7/script-reference/unityengine/uielements/eventarg1/register.md)     | Sets a value for the provided element for this argument identifier. That value can then be retrieved by callbacks that have a second argument of the same type.                                  |
| [Unregister](/engine/6000.7/script-reference/unityengine/uielements/eventarg1/unregister.md) | Removes the value for the provided element for this argument identifier. Until a new value is set, a value can no longer be retrieved by callbacks that have a second argument of the same type. |

## Inheritance

**Inherited Members:**

* [EventArg.Create\<T>()](/engine/6000.7/script-reference/unityengine/uielements/eventarg/create.md)
