I just want to point out that the Awake, Start, Update, FixedUpdate, OnGUI, OnDestory functions are in fact called by the unity engine that KSP runs on instead of KSP it's self. Unity has a lot of documentation online so that would be a good place to start. The only down side is because KSP is a production build you are very limited with what you can do with the unity editor, for when I'm messing around with plugins I don't even use unity, only Visual Studio. http://docs.unity3d.com/ScriptReference On the note of being able to save data from one instance to another there is the PluginConfiguration class (from KSP's KSP.IO name space). I'm not sure about the correct time to load the config but it seems to work find in the class constructor, and you can save the config in the OnDestroy method. Hope this helps. edit: Another thing to note is about the time you spend in the various Update methods. For example taking too long in a FixedUpdate call could cause KSP to lag the physics causing KSP's performance to suffer. I'm sure everyone know of the clock in the upper left corner of the screen if it turns red bad things are bound to happen. There is also InvokeRepeating if you'd like to create your own "FixedUpdate" like method. It will instruct Unity to call a method at a custom fixed rate