# CanOverwriteSerializedFields(MultiColumnHeaderState, MultiColumnHeaderState)

> Checks if the source state can transfer its serialized data to the destination state.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.IMGUI.Controls](/engine/6000.3/script-reference/unityeditor/imgui/controls.md)
* **Assembly:** UnityEditor

```csharp
public static bool CanOverwriteSerializedFields(MultiColumnHeaderState source, MultiColumnHeaderState destination)
```

### Parameters

**** (\[MultiColumnHeaderState]\(/engine/6000.3/script-reference/unityeditor/imgui/controls/multicolumnheaderstate)): State that have serialized data to be transfered to the destination state.**** (\[MultiColumnHeaderState]\(/engine/6000.3/script-reference/unityeditor/imgui/controls/multicolumnheaderstate)): Destination state.

### Returns

| Type                                                          | Description                                                                                |
| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | Returns true if the source state have the same number of columns as the destination state. |

### Remarks

Some of the fields in the MultiColumnHeader state are serializable so they can be preserved between assembly reloads and/or when restarting Unity. The non-serialized fields have to be reconstructed. After having reconstructed the state use this method before calling [MultiColumnHeaderState.OverwriteSerializedFields](/engine/6000.3/script-reference/unityeditor/imgui/controls/multicolumnheaderstate/overwriteserializedfields.md) to apply any serialized fields from a previous session.

Additional Resources: [MultiColumnHeaderState.OverwriteSerializedFields](/engine/6000.3/script-reference/unityeditor/imgui/controls/multicolumnheaderstate/overwriteserializedfields.md).
