Thanks for the quick response, Debug.Log("SPAM"); inside OnFixedUpdate didn't work either. Print("example") worked for the KSPEvent buttons, and part.RequestResource("Oxidizer", -10); worked also. I need to know how to get debug and part.RequestResource working in the OnFixedUpdate loop. Maybe the entire part module code would be helpful? using System; using UnityEngine; using KSP.IO; namespace MarsDirect{ public class AirCompressor : PartModule{ //declares variables public bool CompressAir = false; //these variables aren't used yet public String CurrentPlanet = ""; public float OxygenRatio = 0; public float CarbonDioxideRatio = 0; public float Oxygen = 1; public float CarbonDioxide = 0; //button to start compressing [KSPEvent(guiActive = true, guiName = "Start Compressing", active = true)] public void StartCompression(){ CompressAir = true; print ("CompressAir = true"); } //button to stop compressing [KSPEvent(guiActive = true, guiName = "Stop Compressing", active = true)] public void StopCompression(){ CompressAir = false; print ("CompressAir = false"); } //I think this should be doing something to the log, but it doesn't. public override void OnFixedUpdate(){ Debug.Log ("SPAM"); if (CompressAir == true) { print ("Should be compressing air..."); part.RequestResource("Oxidizer", -10); } } } }