# RegisterResolutionChangedCallback(Action<GameWindow, ResolutionChangedEventArgs>)

> Registers a callback that is invoked when the window's resolution changes.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.Windowing](/engine/6000.7/script-reference/unityengine/windowing.md)
* **Assembly:** UnityEngine.WindowingModule

```csharp
public void RegisterResolutionChangedCallback(Action<GameWindow, ResolutionChangedEventArgs> callback)
```

### Parameters

**** (\[Action\<GameWindow, ResolutionChangedEventArgs>]\(https\://learn.microsoft.com/dotnet/api/system.action)): The callback to invoke when the resolution changes with [GameWindow](/engine/6000.7/script-reference/unityengine/windowing/gamewindow.md) and [ResolutionChangedEventArgs](/engine/6000.7/script-reference/unityengine/windowing/resolutionchangedeventargs.md) as parameters.

### Examples

```csharp
using UnityEngine;
using UnityEngine.Windowing;

public class WindowingTest : MonoBehaviour
{
    GameWindow mainWindow;

    private void Awake()
    {
        mainWindow = GameWindow.Main;
    }

    private void OnEnable()
    {
        // Register the callback
        mainWindow.RegisterResolutionChangedCallback(WindowResizeCallback);
    }

    private void OnDisable()
    {
        // Unregister the callback
        mainWindow.UnregisterResolutionChangedCallback(WindowResizeCallback);
    }

    private void WindowResizeCallback(GameWindow window, ResolutionChangedEventArgs args)
    {
        Debug.Log($"Main window resized to: {args.Width}x{args.Height} : {args.RefreshRate.value}Hz");
        switch (args.FullScreenMode)
        {
            case FullScreenMode.FullScreenWindow:
                Debug.Log("Main window is fullscreen.");
                break;
            case FullScreenMode.Windowed:
                Debug.Log("Main window is windowed.");
                break;
        }
    }
}
```
