In the cob file, insert functions like this: Potato(speed) { //stuff } Broccoli(heading) { //stuff return health; } -------------------------------------------------------------------------------- In gadget:Initialize apply this to all affected units: local function SetupUnit(unitID) scriptIDs.potato = GetCOBScriptID(unitID, "Potato") scriptIDs.broccoli = GetCOBScriptID(unitID, "Broccoli") end function reference: Spring.GetCOBScriptID ( number unitID, string funcName ) -> nil | number funcID -------------------------------------------------------------------------------- in gadget:GameFrame, use these functions: CallCOBScript(unitID, scriptIDs.potato, 0, speed) health = CallCOBScript(unitID, scriptIDs.broccoli, 1, heading) function reference: Spring.CallCOBScript ( number unitID, number funcID | string funcName, number retArgs, COBArg1, COBArg2, ... ) -> nil | number returnValue, number retArg1, number retArg2, ... -------------------------------------------------------------------------------- You can also use these functions for setting and getting cob constants but i never tried them. Spring.GetUnitCOBValue ( number unitID [, boolean splitData=false], number COBValue [, number param1 [,number param2 [, number param3 [, number param4 ] ] ] ] ) -> nil Spring.SetUnitCOBValue ( number unitID, number COBValue, number param1 [,number param2] ) -> nil --------------------------------------------------------------------------------