Here's a template for creating your own custom technology. You can read more about the used functions and events in the "Identify"-section of the editor (version 1.11.0 RC7 and later versions).
Export custom_tech_researched, custom_tech_progress;
custom_tech_researched = false;
custom_tech_progress = 0;
SetArtifactUse(GetSide(amlab),art_use_cube,art_instant,amlab); //Create a button which looks like a cube in the lab identified by "amlab"
On ArtifactUsed(side,art,p1,p2) do
SetSpecResearch(amlab,10,true); //Start researching custom technology - remember to adjust how hard the difficulty should be to research (the second input)
SetWorkingProgress(amlab,custom_tech_progress); //If the research was canceled then start where you stopped
SetArtifactUse(side,art,art_no,amlab); //Remove the button from the lab
On SpecResearchCancel(lab,percent) do
custom_tech_progress = percent; //Remember how long we got with the research
SetArtifactUse(GetSide(lab),art_use_cube,art_instant,lab); //Replace the button in the lab
On SpecResearchComplete(lab) do
custom_tech_researched = true;