# UnregisterCallback

> Remove callback from the instance.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.UIElements](/engine/6000.7/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule

## UnregisterCallback\<T>(EventCallback\<T>, TrickleDown)

Remove callback from the instance.

```csharp
public void UnregisterCallback<TEventType>(EventCallback<TEventType> callback, TrickleDown useTrickleDown = TrickleDown.NoTrickleDown) where TEventType : EventBase<TEventType>, new()
```

### Parameters

**** (\[EventCallback\<T>]\(/engine/6000.7/script-reference/unityengine/uielements/eventcallback)): The callback to remove. If this callback was never registered, nothing happens.**** (\[TrickleDown]\(/engine/6000.7/script-reference/unityengine/uielements/trickledown)): Set this parameter to true to remove the callback from the TrickleDown phase. Set this parameter to false to remove the callback from the BubbleUp phase.

### Remarks

Additional Resources: [CallbackEventHandler.RegisterCallback](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/registercallback.md)

## UnregisterCallback\<T, U>(EventCallback\<T, T>, TrickleDown)

Remove callback from the instance.

```csharp
public void UnregisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType> callback, TrickleDown useTrickleDown = TrickleDown.NoTrickleDown) where TEventType : EventBase<TEventType>, new()
```

### Parameters

**** (\[EventCallback\<T, T>]\(/engine/6000.7/script-reference/unityengine/uielements/eventcallback)): The callback to remove. If this callback was never registered, nothing happens.**** (\[TrickleDown]\(/engine/6000.7/script-reference/unityengine/uielements/trickledown)): Set this parameter to true to remove the callback from the TrickleDown phase. Set this parameter to false to remove the callback from the BubbleUp phase.

### Remarks

Additional Resources: [CallbackEventHandler.RegisterCallback](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/registercallback.md)

## UnregisterCallback\<T>(EventCallback\<T>, CallbackOptions)

Remove callback from the instance.

```csharp
public void UnregisterCallback<TEventType>(EventCallback<TEventType> callback, CallbackOptions callbackOptions) where TEventType : EventBase<TEventType>, new()
```

### Parameters

**** (\[EventCallback\<T>]\(/engine/6000.7/script-reference/unityengine/uielements/eventcallback)): The callback to remove. If this callback was never registered, nothing happens.**** (\[CallbackOptions]\(/engine/6000.7/script-reference/unityengine/uielements/callbackoptions)): Extra properties to set for the callback. Make sure to use the same CallbackOptions.TrickleDown value as was used for registering the callback.

### Remarks

Additional Resources: [CallbackEventHandler.RegisterCallback](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/registercallback.md)

## UnregisterCallback\<T, U>(EventCallback\<T, T>, CallbackOptions)

Remove callback from the instance.

```csharp
public void UnregisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType> callback, CallbackOptions callbackOptions) where TEventType : EventBase<TEventType>, new()
```

### Parameters

**** (\[EventCallback\<T, T>]\(/engine/6000.7/script-reference/unityengine/uielements/eventcallback)): The callback to remove. If this callback was never registered, nothing happens.**** (\[CallbackOptions]\(/engine/6000.7/script-reference/unityengine/uielements/callbackoptions)): Extra properties to set for the callback. Make sure to use the same CallbackOptions.TrickleDown value as was used for registering the callback.

### Remarks

Additional Resources: [CallbackEventHandler.RegisterCallback](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/registercallback.md)
