I hate to double post. Though as this still pertains to my first plugin, I'm hoping its okay. I built the gui and everything is going good. My only issue is that I can't figure out how to capture inputting text. I've been looking that API and the wiki and haven't really found anything. Along with searching the forums. I may have over looked something. Here is what I have so far. Connects to server, able to send the current text just fine. Just need some direction on changing the current text. /*Programmer: JR Padfield Description: Simple multiplayer chat plugin Version: 1 Date: 08/20/2015 */ using Lidgren.Network; using UnityEngine; namespace KSPChat { [KSPAddon(KSPAddon.Startup.EveryScene, false)] public class ChatMod : MonoBehaviour { string currentText = "Press Enter to chat"; double currentValue = 10.0; private Rect windowPostion = new Rect(); private Vector2 scrollPostion; public void Start() { RenderingManager.AddToPostDrawQueue(0, OnDraw); // Lets initiate the network. NetworkManager.Instance.InitNetwork(); } public void Update() { NetIncomingMessage im; im = NetworkManager.Instance.client.ReadMessage(); if (im != null) { // lets handle the message and update the text in a text box area. switch (im.MessageType) { case NetIncomingMessageType.DiscoveryResponse: NetworkManager.Instance.client.Connect(im.SenderEndPoint); break; case NetIncomingMessageType.Data: HandleTCP.Instance.HandleData(im); break; case NetIncomingMessageType.StatusChanged: if ((NetConnectionStatus)NetworkManager.Instance.client.ConnectionStatus == NetConnectionStatus.Disconnected) { // TODO: Figure out what to do here. } break; default: break; } } } private void OnDraw() { windowPostion = GUILayout.Window(10, windowPostion, OnWindow, "KSP Chat Program: Made by The Crzy Doctor"); } private void OnWindow(int windowId) { scrollPostion = GUILayout.BeginScrollView(scrollPostion, GUILayout.Width(400f), GUILayout.Height(200f)); GUILayout.BeginHorizontal(GUILayout.Width(400f)); HandleTCP.Instance.chatText = GUILayout.TextArea(HandleTCP.Instance.chatText); GUILayout.EndHorizontal(); GUILayout.EndScrollView(); GUILayout.BeginVertical(GUILayout.Height(2f)); GUILayout.EndVertical(); GUILayout.BeginHorizontal(GUILayout.Width(400f)); this.currentText = GUILayout.TextField(currentText); if(GUILayout.Button("Send Text")) { NetworkManager.Instance.sendChat(currentText); } GUILayout.EndHorizontal(); GUI.DragWindow(); } } }