private void OnClientGUI()
        {
            EditorGUI.BeginChangeCheck();
            _autoConnectOnEnable = EditorGUILayout.Toggle(new GUIContent("Auto Connect On Enable?", "Whether the ClientNetSender automatically connects on enable to the set IP and port."), _autoConnectOnEnable);

            if (EditorGUI.EndChangeCheck())
            {
                BuildScriptPrefs.SetAutoConnectOnEnable(_autoConnectOnEnable);
            }

            if (_autoConnectOnEnable)
            {
                EditorGUI.BeginChangeCheck();
                _useLocal = EditorGUILayout.Toggle(new GUIContent("Connect to Localhost?", "Whether the client should connect to a localhost (127.0.0.1), or another custom IP address."), _useLocal);

                if (EditorGUI.EndChangeCheck())
                {
                    if (_useHetzner && _useLocal)
                    {
                        _useHetzner = false;
                        BuildScriptPrefs.SetUseHetzner(_useHetzner);
                    }

                    BuildScriptPrefs.SetUseLocal(_useLocal);
                }

                EditorGUI.BeginChangeCheck();
                _useHetzner = EditorGUILayout.Toggle(new GUIContent("Connect to Hetzner Server?", "Whether the client should connect to the hetzner remote server (88.198.75.133), or another custom IP address."), _useHetzner);

                if (EditorGUI.EndChangeCheck())
                {
                    if (_useLocal && _useHetzner)
                    {
                        _useLocal = false;
                        BuildScriptPrefs.SetUseLocal(_useLocal);
                    }

                    BuildScriptPrefs.SetUseHetzner(_useHetzner);
                }

                EditorGUILayout.BeginHorizontal();

                EditorGUILayout.LabelField(new GUIContent("Server Address:", "The IP + port address of the server, which the client should connect to."), GUILayout.Width(EditorGUIUtility.labelWidth));

                if (!_useLocal && !_useHetzner)
                {
                    EditorGUI.BeginChangeCheck();
                    _serverIp = EditorGUILayout.TextField(_serverIp);

                    if (EditorGUI.EndChangeCheck())
                    {
                        BuildScriptPrefs.SetServerIP(_serverIp);
                    }
                }
                else if (_useLocal)
                {
                    EditorGUILayout.SelectableLabel(BuildConstants.localhost);
                }
                else if (_useHetzner)
                {
                    EditorGUILayout.SelectableLabel(BuildConstants.hetznerIp);
                }

                EditorGUI.BeginChangeCheck();
                _serverPort = EditorGUILayout.IntField(_serverPort);

                if (EditorGUI.EndChangeCheck())
                {
                    BuildScriptPrefs.SetServerPort(_serverPort);
                }

                EditorGUILayout.EndHorizontal();
            }
            else
            {
                EditorGUI.BeginChangeCheck();
                _serverPort = EditorGUILayout.IntField(new GUIContent("Server Port: ", "The server port to connect to. Should be the same port as on the server ;)"), _serverPort);

                if (EditorGUI.EndChangeCheck())
                {
                    BuildScriptPrefs.SetServerPort(_serverPort);
                }
            }

            EditorGUILayout.Separator();
            EditorGUILayout.BeginHorizontal();

            if (GUILayout.Button("Build for Client"))
            {
                if (!Directory.Exists(_buildFolder))
                {
                    SetBuildFolder();
                }

                if (_useLocal)
                {
                    if (_buildAndRun)
                    {
                        BuildScripts.BuildAndRunClientLocal(_clientOnlyScene, _buildFolder, _devBuild, _buildTarget, _serverPort, _autoConnectOnEnable);
                    }
                    else
                    {
                        BuildScripts.BuildClientLocal(_clientOnlyScene, _buildFolder, _devBuild, _buildTarget, _serverPort, _autoConnectOnEnable);
                    }
                }
                else if (_useHetzner)
                {
                    if (_buildAndRun)
                    {
                        BuildScripts.BuildAndRunForHetzner(_clientOnlyScene, _buildFolder, _devBuild, _buildTarget, _serverPort, _autoConnectOnEnable);
                    }
                    else
                    {
                        BuildScripts.BuildClientForHetzner(_clientOnlyScene, _buildFolder, _devBuild, _buildTarget, _serverPort, _autoConnectOnEnable);
                    }
                }
                else
                {
                    if (_buildAndRun)
                    {
                        BuildScripts.BuildAndRunClientForIP(_serverIp, _serverPort, _clientOnlyScene, _buildFolder, _devBuild, _buildTarget, _autoConnectOnEnable);
                    }
                    else
                    {
                        BuildScripts.BuildClientForIP(_serverIp, _serverPort, _clientOnlyScene, _buildFolder, _devBuild, _buildTarget, _autoConnectOnEnable);
                    }
                }

                GUIUtility.ExitGUI();
            }

            if (GUILayout.Button("Run as Client"))
            {
                if (_useLocal)
                {
                    BuildScripts.PlayAsClientLocal(_serverPort, _clientOnlyScene, _autoConnectOnEnable);
                }
                else if (_useHetzner)
                {
                    BuildScripts.PlayAsHetzner(_serverPort, _clientOnlyScene, _autoConnectOnEnable);
                }
                else
                {
                    BuildScripts.PlayAsClientForIP(_serverIp, _serverPort, _clientOnlyScene, _autoConnectOnEnable);
                }

                GUIUtility.ExitGUI();
            }

            EditorGUILayout.EndHorizontal();
        }