> For the complete documentation index, see [llms.txt](https://docs.coherence.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coherence.io/support/upgrading-unity-sdk/upgrade-2.2-greater-than-2.3.md).

# Upgrade 2.2 -> 2.3

## Breaking Changes

| API                                                                                                                                               | Change                                                                                                                                                                                                                                              |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <ul><li><code>PlayerAccount.Username</code></li><li><code>PlayerAccount.DisplayName</code></li><li><code>PlayerAccount.AvatarUrl</code></li></ul> | Empty strings instead of `null` when not set. Replace `null` checks with `string.IsNullOrEmpty`.                                                                                                                                                    |
| `LobbiesService.FindOrCreateLobbyAsync`                                                                                                           | A created Lobby is named after `CreateLobbyOptions.Name`, instead of getting a generated name. Lobby names are unique, so a name that's already taken fails with `LobbyNameAlreadyExists`. Pass `null` or an empty string to keep a generated name. |

## Re-bake after upgrading

Baked code generated with 2.3 fixes a pooled `CommandData` leak when a command's arguments can't be written, and lets commands have parameters named `self`, `target` or `sync`. Bake again after upgrading to pick up these fixes.
