[{"data":1,"prerenderedAt":1493},["ShallowReactive",2],{"/docs/jobs/mechanicjob/features/two-step-launch-control":3,"/docs/jobs/mechanicjob/features/two-step-launch-control-surround":1481,"/docs/jobs/mechanicjob/features/two-step-launch-control-implemented-suggestions":1492},{"id":4,"title":5,"body":6,"description":1471,"extension":1472,"head":1473,"implementedSuggestions":1473,"meta":1474,"navigation":1475,"path":1476,"schemaOrg":1473,"seo":1477,"sitemap":1478,"stem":1479,"__hash__":1480},"docs/1.docs/0.jobs/2.mechanicjob/3.features/12.two-step-launch-control.md","Two-Step and Launch Control",{"type":7,"value":8,"toc":1458},"minimark",[9,13,26,31,34,77,94,97,111,115,118,138,141,144,232,238,245,249,255,649,665,670,853,870,895,899,1072,1075,1079,1189,1192,1196,1199,1229,1242,1245,1249,1377,1381,1418,1422,1454],[10,11,12],"p",{},"Two-Step gives an installed vehicle a configurable RPM launch window, synchronized exhaust bursts, and optional launch assistance. Launch Control can hold the vehicle, limit torque while it is staged, and blend the configured torque back in when the brake is released.",[14,15,18],"callout",{"color":16,"icon":17},"info","i-lucide-gauge",[10,19,20,21,25],{},"The Two-Step runtime is adaptive. It does not request an every-frame loop while the driver is idle. It checks for the configured input combination at ",[22,23,24],"code",{},"inactiveCheckIntervalMs",", switches to every-frame processing only while that combination is held, and keeps it only for the short launch-release ramp.",[27,28,30],"h2",{"id":29},"enable-and-install-the-feature","Enable and install the feature",[10,32,33],{},"Two-Step has a global feature switch, a deployment-wide runtime switch, and a saved state for each vehicle. All three layers must allow the feature:",[35,36,37,58,68,74],"ol",{},[38,39,40,41,44,45,49,50,53,54,57],"li",{},"Open ",[22,42,43],{},"/jobconfig",", select ",[46,47,48],"strong",{},"Mechanic Jobs",", open ",[46,51,52],{},"Features",", and enable ",[46,55,56],{},"Two-Step",".",[38,59,60,61,64,65,57],{},"Keep ",[22,62,63],{},"Config.TwoStep.enabled = true"," in ",[22,66,67],{},"sky_mechanicjob/config/adv_config.lua",[38,69,70,71,57],{},"Open a tuning session for the vehicle and select ",[46,72,73],{},"ECU & Vehicle Electronics → 2-Step → Enabled",[38,75,76],{},"Complete the tuning order and install its required part.",[10,78,79,80,83,84,87,88,64,91,93],{},"The default tuning profile prices ",[22,81,82],{},"twostep_enabled"," through the normal tuning-price configuration and requires one ",[22,85,86],{},"ecu_tuning_kit",". Change its price, availability, or required items under ",[46,89,90],{},"Tuning Prices",[22,92,43],{}," just like any other tuning option.",[10,95,96],{},"The installation and enabled state are persisted with the vehicle. Disabling the global feature hides the tuning option and stops its runtime without deleting saved vehicle data.",[14,98,101],{"color":99,"icon":100},"warning","i-lucide-triangle-alert",[10,102,103,106,107,110],{},[22,104,105],{},"defaultEnabled"," is the fallback for a restored Two-Step record that has no explicit ",[22,108,109],{},"enabled"," value. A normal new installation uses the Enabled or Disabled value selected in the tuning order.",[27,112,114],{"id":113},"use-two-step","Use Two-Step",[10,116,117],{},"With the shipped keyboard controls, the driver stages the vehicle by holding:",[119,120,121,130],"ul",{},[38,122,123,126,127],{},[46,124,125],{},"W + S"," when ",[22,128,129],{},"useFootBrake = true",[38,131,132,126,135],{},[46,133,134],{},"W + Space",[22,136,137],{},"useHandbrake = true",[10,139,140],{},"When both brake inputs are enabled, either combination can arm Two-Step. The equivalent configured vehicle controls can also be used on a controller.",[10,142,143],{},"The feature activates only when every condition below is met:",[145,146,147,161],"table",{},[148,149,150],"thead",{},[151,152,153,157],"tr",{},[154,155,156],"th",{},"Requirement",[154,158,160],{"align":159},"right","Shipped value",[162,163,164,173,180,187,194,205,219],"tbody",{},[151,165,166,170],{},[167,168,169],"td",{},"Player is in the driver seat",[167,171,172],{"align":159},"Required",[151,174,175,178],{},[167,176,177],{},"Engine is running",[167,179,172],{"align":159},[151,181,182,185],{},[167,183,184],{},"Two-Step is installed and enabled for the vehicle",[167,186,172],{"align":159},[151,188,189,192],{},[167,190,191],{},"Throttle plus an allowed brake input are held",[167,193,172],{"align":159},[151,195,196,199],{},[167,197,198],{},"Vehicle speed",[167,200,201,202],{"align":159},"At or below ",[22,203,204],{},"25 km/h",[151,206,207,210],{},[167,208,209],{},"Current gear",[167,211,212,215,216],{"align":159},[22,213,214],{},"0"," through ",[22,217,218],{},"2",[151,220,221,224],{},[167,222,223],{},"Current RPM",[167,225,226,215,229],{"align":159},[22,227,228],{},"0.08",[22,230,231],{},"0.95",[10,233,234,235,237],{},"Gear ",[22,236,214],{}," is intentionally included because some vehicles report neutral while stationary. Holding the input combination starts the responsive frame loop immediately, but exhaust bursts and Launch Control are applied only after the speed, gear, and RPM conditions also pass.",[10,239,240,241,244],{},"To launch, keep the throttle held and release the selected brake input. When Launch Control is enabled, the forced handbrake is released and the launch torque blends back to the vehicle's normal configured torque over ",[22,242,243],{},"releaseRampMs",". Releasing the throttle as well cancels the ramp and clears the temporary launch modifier.",[27,246,248],{"id":247},"open-configuration","Open configuration",[10,250,251,252,254],{},"The complete deployment-wide configuration is stored in ",[22,253,67],{},":",[256,257,262],"pre",{"className":258,"code":259,"filename":67,"language":260,"meta":261,"style":261},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Config.TwoStep = {\n    enabled = true,\n    defaultEnabled = false,\n    useFootBrake = true,\n    useHandbrake = false,\n    inactiveCheckIntervalMs = 125,\n\n    maxSpeedKmh = 25.0,\n    minGear = 0,\n    maxGear = 2,\n    rpmWindowMin = 0.08,\n    rpmWindowMax = 0.95,\n\n    burstIntervalMinMs = 55,\n    burstIntervalMaxMs = 115,\n    flameDurationMs = 130,\n    flameScaleMin = 0.7,\n    flameScaleMax = 1.8,\n    defaultFlameScaleLevel = 10,\n    defaultVolumeLevel = 8,\n\n    turboPressureSpikeEnabled = true,\n    turboPressureSpike = 28.0,\n\n    launchControl = {\n        enabled = true,\n        holdHandbrake = true,\n        rpmTarget = 0.72,\n        holdTorqueMultiplier = 0.12,\n        releaseRampMs = 90,\n        releaseTorqueStartMultiplier = 0.9\n    }\n}\n","lua","",[22,263,264,284,299,312,324,336,350,357,370,383,396,409,422,427,440,453,466,479,492,505,518,523,535,548,553,563,575,587,600,613,626,637,643],{"__ignoreMap":261},[265,266,269,273,277,281],"span",{"class":267,"line":268},"line",1,[265,270,272],{"class":271},"sTEyZ","Config.",[265,274,276],{"class":275},"sBMFI","TwoStep",[265,278,280],{"class":279},"sMK4o"," =",[265,282,283],{"class":271}," {\n",[265,285,287,290,293,296],{"class":267,"line":286},2,[265,288,289],{"class":271},"    enabled ",[265,291,292],{"class":279},"=",[265,294,295],{"class":279}," true",[265,297,298],{"class":271},",\n",[265,300,302,305,307,310],{"class":267,"line":301},3,[265,303,304],{"class":271},"    defaultEnabled ",[265,306,292],{"class":279},[265,308,309],{"class":279}," false",[265,311,298],{"class":271},[265,313,315,318,320,322],{"class":267,"line":314},4,[265,316,317],{"class":271},"    useFootBrake ",[265,319,292],{"class":279},[265,321,295],{"class":279},[265,323,298],{"class":271},[265,325,327,330,332,334],{"class":267,"line":326},5,[265,328,329],{"class":271},"    useHandbrake ",[265,331,292],{"class":279},[265,333,309],{"class":279},[265,335,298],{"class":271},[265,337,339,342,344,348],{"class":267,"line":338},6,[265,340,341],{"class":271},"    inactiveCheckIntervalMs ",[265,343,292],{"class":279},[265,345,347],{"class":346},"sbssI"," 125",[265,349,298],{"class":271},[265,351,353],{"class":267,"line":352},7,[265,354,356],{"emptyLinePlaceholder":355},true,"\n",[265,358,360,363,365,368],{"class":267,"line":359},8,[265,361,362],{"class":271},"    maxSpeedKmh ",[265,364,292],{"class":279},[265,366,367],{"class":346}," 25.0",[265,369,298],{"class":271},[265,371,373,376,378,381],{"class":267,"line":372},9,[265,374,375],{"class":271},"    minGear ",[265,377,292],{"class":279},[265,379,380],{"class":346}," 0",[265,382,298],{"class":271},[265,384,386,389,391,394],{"class":267,"line":385},10,[265,387,388],{"class":271},"    maxGear ",[265,390,292],{"class":279},[265,392,393],{"class":346}," 2",[265,395,298],{"class":271},[265,397,399,402,404,407],{"class":267,"line":398},11,[265,400,401],{"class":271},"    rpmWindowMin ",[265,403,292],{"class":279},[265,405,406],{"class":346}," 0.08",[265,408,298],{"class":271},[265,410,412,415,417,420],{"class":267,"line":411},12,[265,413,414],{"class":271},"    rpmWindowMax ",[265,416,292],{"class":279},[265,418,419],{"class":346}," 0.95",[265,421,298],{"class":271},[265,423,425],{"class":267,"line":424},13,[265,426,356],{"emptyLinePlaceholder":355},[265,428,430,433,435,438],{"class":267,"line":429},14,[265,431,432],{"class":271},"    burstIntervalMinMs ",[265,434,292],{"class":279},[265,436,437],{"class":346}," 55",[265,439,298],{"class":271},[265,441,443,446,448,451],{"class":267,"line":442},15,[265,444,445],{"class":271},"    burstIntervalMaxMs ",[265,447,292],{"class":279},[265,449,450],{"class":346}," 115",[265,452,298],{"class":271},[265,454,456,459,461,464],{"class":267,"line":455},16,[265,457,458],{"class":271},"    flameDurationMs ",[265,460,292],{"class":279},[265,462,463],{"class":346}," 130",[265,465,298],{"class":271},[265,467,469,472,474,477],{"class":267,"line":468},17,[265,470,471],{"class":271},"    flameScaleMin ",[265,473,292],{"class":279},[265,475,476],{"class":346}," 0.7",[265,478,298],{"class":271},[265,480,482,485,487,490],{"class":267,"line":481},18,[265,483,484],{"class":271},"    flameScaleMax ",[265,486,292],{"class":279},[265,488,489],{"class":346}," 1.8",[265,491,298],{"class":271},[265,493,495,498,500,503],{"class":267,"line":494},19,[265,496,497],{"class":271},"    defaultFlameScaleLevel ",[265,499,292],{"class":279},[265,501,502],{"class":346}," 10",[265,504,298],{"class":271},[265,506,508,511,513,516],{"class":267,"line":507},20,[265,509,510],{"class":271},"    defaultVolumeLevel ",[265,512,292],{"class":279},[265,514,515],{"class":346}," 8",[265,517,298],{"class":271},[265,519,521],{"class":267,"line":520},21,[265,522,356],{"emptyLinePlaceholder":355},[265,524,526,529,531,533],{"class":267,"line":525},22,[265,527,528],{"class":271},"    turboPressureSpikeEnabled ",[265,530,292],{"class":279},[265,532,295],{"class":279},[265,534,298],{"class":271},[265,536,538,541,543,546],{"class":267,"line":537},23,[265,539,540],{"class":271},"    turboPressureSpike ",[265,542,292],{"class":279},[265,544,545],{"class":346}," 28.0",[265,547,298],{"class":271},[265,549,551],{"class":267,"line":550},24,[265,552,356],{"emptyLinePlaceholder":355},[265,554,556,559,561],{"class":267,"line":555},25,[265,557,558],{"class":271},"    launchControl ",[265,560,292],{"class":279},[265,562,283],{"class":271},[265,564,566,569,571,573],{"class":267,"line":565},26,[265,567,568],{"class":271},"        enabled ",[265,570,292],{"class":279},[265,572,295],{"class":279},[265,574,298],{"class":271},[265,576,578,581,583,585],{"class":267,"line":577},27,[265,579,580],{"class":271},"        holdHandbrake ",[265,582,292],{"class":279},[265,584,295],{"class":279},[265,586,298],{"class":271},[265,588,590,593,595,598],{"class":267,"line":589},28,[265,591,592],{"class":271},"        rpmTarget ",[265,594,292],{"class":279},[265,596,597],{"class":346}," 0.72",[265,599,298],{"class":271},[265,601,603,606,608,611],{"class":267,"line":602},29,[265,604,605],{"class":271},"        holdTorqueMultiplier ",[265,607,292],{"class":279},[265,609,610],{"class":346}," 0.12",[265,612,298],{"class":271},[265,614,616,619,621,624],{"class":267,"line":615},30,[265,617,618],{"class":271},"        releaseRampMs ",[265,620,292],{"class":279},[265,622,623],{"class":346}," 90",[265,625,298],{"class":271},[265,627,629,632,634],{"class":267,"line":628},31,[265,630,631],{"class":271},"        releaseTorqueStartMultiplier ",[265,633,292],{"class":279},[265,635,636],{"class":346}," 0.9\n",[265,638,640],{"class":267,"line":639},32,[265,641,642],{"class":271},"    }\n",[265,644,646],{"class":267,"line":645},33,[265,647,648],{"class":271},"}\n",[10,650,651,652,654,655,657,658,661,662,57],{},"Changes made to the ",[46,653,56],{}," feature switch in ",[22,656,43],{}," are sent to connected clients immediately. Restart ",[22,659,660],{},"sky_mechanicjob"," after editing the static values in ",[22,663,664],{},"adv_config.lua",[666,667,669],"h3",{"id":668},"availability-input-and-activation","Availability, input, and activation",[145,671,672,685],{},[148,673,674],{},[151,675,676,679,682],{},[154,677,678],{},"Setting",[154,680,681],{"align":159},"Valid runtime range",[154,683,684],{},"Purpose",[162,686,687,702,713,729,744,762,780,800,816,834],{},[151,688,689,693,696],{},[167,690,691],{},[22,692,109],{},[167,694,695],{"align":159},"Boolean",[167,697,698,699,701],{},"Deployment-wide hard switch in addition to the ",[22,700,43],{}," feature switch.",[151,703,704,708,710],{},[167,705,706],{},[22,707,105],{},[167,709,695],{"align":159},[167,711,712],{},"Fallback state for restored records without an explicit enabled value.",[151,714,715,720,722],{},[167,716,717],{},[22,718,719],{},"useFootBrake",[167,721,695],{"align":159},[167,723,724,725,728],{},"Allows the normal vehicle brake control; ",[46,726,727],{},"S"," by default on keyboard.",[151,730,731,736,738],{},[167,732,733],{},[22,734,735],{},"useHandbrake",[167,737,695],{"align":159},[167,739,740,741,728],{},"Allows the vehicle handbrake control; ",[46,742,743],{},"Space",[151,745,746,750,759],{},[167,747,748],{},[22,749,24],{},[167,751,752,755,756],{"align":159},[22,753,754],{},"50","–",[22,757,758],{},"1000 ms",[167,760,761],{},"Delay between input checks before the combination is held. Lower values react faster; higher values reduce idle checks.",[151,763,764,769,777],{},[167,765,766],{},[22,767,768],{},"maxSpeedKmh",[167,770,771,755,774],{"align":159},[22,772,773],{},"1",[22,775,776],{},"120 km/h",[167,778,779],{},"Highest speed at which Two-Step may activate.",[151,781,782,787,794],{},[167,783,784],{},[22,785,786],{},"minGear",[167,788,789,755,791],{"align":159},[22,790,214],{},[22,792,793],{},"10",[167,795,796,797,799],{},"Lowest allowed reported gear. Keep ",[22,798,214],{}," for vehicles that report neutral at a standstill.",[151,801,802,807,813],{},[167,803,804],{},[22,805,806],{},"maxGear",[167,808,809,755,811],{"align":159},[22,810,786],{},[22,812,793],{},[167,814,815],{},"Highest allowed reported gear.",[151,817,818,823,831],{},[167,819,820],{},[22,821,822],{},"rpmWindowMin",[167,824,825,755,828],{"align":159},[22,826,827],{},"0.05",[22,829,830],{},"0.99",[167,832,833],{},"Bottom of the normalized native RPM activation window.",[151,835,836,841,850],{},[167,837,838],{},[22,839,840],{},"rpmWindowMax",[167,842,843,844,846,847],{"align":159},"Above ",[22,845,822],{},", up to ",[22,848,849],{},"1.0",[167,851,852],{},"Top of the normalized native RPM activation window.",[10,854,855,856,858,859,861,862,865,866,869],{},"At least one of ",[22,857,719],{}," and ",[22,860,735],{}," must be ",[22,863,864],{},"true",". If both are ",[22,867,868],{},"false",", no input can arm the feature.",[10,871,872,873,755,876,879,880,882,883,886,887,890,891,894],{},"Use ",[22,874,875],{},"100",[22,877,878],{},"150 ms"," as a practical starting range for ",[22,881,24],{},". The shipped ",[22,884,885],{},"125 ms"," value keeps idle work low while remaining responsive. A value of ",[22,888,889],{},"50 ms"," gives faster initial recognition; values closer to ",[22,892,893],{},"250 ms"," trade noticeable input delay for fewer idle checks.",[666,896,898],{"id":897},"bursts-flames-and-turbo-pressure","Bursts, flames, and turbo pressure",[145,900,901,913],{},[148,902,903],{},[151,904,905,907,910],{},[154,906,678],{},[154,908,909],{"align":159},"Shipped / accepted",[154,911,912],{},"Effect",[162,914,915,944,965,996,1014,1036,1051],{},[151,916,917,926,941],{},[167,918,919,922,923],{},[22,920,921],{},"burstIntervalMinMs"," / ",[22,924,925],{},"burstIntervalMaxMs",[167,927,928,922,931,934,935,755,938],{"align":159},[22,929,930],{},"55",[22,932,933],{},"115 ms","; each ",[22,936,937],{},"20",[22,939,940],{},"3000 ms",[167,942,943],{},"Random delay range between local exhaust bursts. A maximum below the minimum is raised to the minimum.",[151,945,946,951,962],{},[167,947,948],{},[22,949,950],{},"flameDurationMs",[167,952,953,956,957,755,960],{"align":159},[22,954,955],{},"130 ms","; ",[22,958,959],{},"25",[22,961,940],{},[167,963,964],{},"Lifetime of each backfire flame.",[151,966,967,975,993],{},[167,968,969,922,972],{},[22,970,971],{},"flameScaleMin",[22,973,974],{},"flameScaleMax",[167,976,977,922,980,983,984,755,986,989,990],{"align":159},[22,978,979],{},"0.7",[22,981,982],{},"1.8","; minimum ",[22,985,827],{},[22,987,988],{},"5.0",", maximum up to ",[22,991,992],{},"8.0",[167,994,995],{},"Visual scale range used with current RPM intensity. The maximum cannot resolve below the minimum.",[151,997,998,1003,1011],{},[167,999,1000],{},[22,1001,1002],{},"defaultFlameScaleLevel",[167,1004,1005,956,1007,755,1009],{"align":159},[22,1006,793],{},[22,1008,773],{},[22,1010,793],{},[167,1012,1013],{},"Default stored flame level.",[151,1015,1016,1021,1030],{},[167,1017,1018],{},[22,1019,1020],{},"defaultVolumeLevel",[167,1022,1023,956,1026,755,1028],{"align":159},[22,1024,1025],{},"8",[22,1027,214],{},[22,1029,793],{},[167,1031,1032,1033,1035],{},"Default stored burst-volume level; ",[22,1034,214],{}," suppresses the explosion-based pop.",[151,1037,1038,1043,1048],{},[167,1039,1040],{},[22,1041,1042],{},"turboPressureSpikeEnabled",[167,1044,1045,1047],{"align":159},[22,1046,864],{},"; Boolean",[167,1049,1050],{},"Enables the optional turbo-pressure kick while staged.",[151,1052,1053,1058,1069],{},[167,1054,1055],{},[22,1056,1057],{},"turboPressureSpike",[167,1059,1060,956,1063,755,1066],{"align":159},[22,1061,1062],{},"28.0",[22,1064,1065],{},"0.0",[22,1067,1068],{},"50.0",[167,1070,1071],{},"Pressure value applied at a limited cadence while Two-Step is active.",[10,1073,1074],{},"Nearby players receive synchronized backfire bursts. Custom vehicles still need suitable exhaust bones for flames to appear in the expected location.",[666,1076,1078],{"id":1077},"launch-control","Launch Control",[145,1080,1081,1091],{},[148,1082,1083],{},[151,1084,1085,1087,1089],{},[154,1086,678],{},[154,1088,681],{"align":159},[154,1090,684],{},[162,1092,1093,1105,1117,1134,1150,1170],{},[151,1094,1095,1100,1102],{},[167,1096,1097],{},[22,1098,1099],{},"launchControl.enabled",[167,1101,695],{"align":159},[167,1103,1104],{},"Adds RPM hold, launch torque control, and the optional forced handbrake. Two-Step bursts continue when this is disabled.",[151,1106,1107,1112,1114],{},[167,1108,1109],{},[22,1110,1111],{},"launchControl.holdHandbrake",[167,1113,695],{"align":159},[167,1115,1116],{},"Holds the vehicle in place while Two-Step is active.",[151,1118,1119,1124,1127],{},[167,1120,1121],{},[22,1122,1123],{},"launchControl.rpmTarget",[167,1125,1126],{"align":159},"RPM activation window",[167,1128,1129,1130,858,1132,57],{},"Target normalized RPM while staged. It is automatically clamped between ",[22,1131,822],{},[22,1133,840],{},[151,1135,1136,1141,1147],{},[167,1137,1138],{},[22,1139,1140],{},"launchControl.holdTorqueMultiplier",[167,1142,1143,755,1145],{"align":159},[22,1144,1065],{},[22,1146,849],{},[167,1148,1149],{},"Temporary torque factor while staged. Lower values hold power back more strongly.",[151,1151,1152,1157,1164],{},[167,1153,1154],{},[22,1155,1156],{},"launchControl.releaseRampMs",[167,1158,1159,755,1161],{"align":159},[22,1160,214],{},[22,1162,1163],{},"5000 ms",[167,1165,1166,1167,1169],{},"Time used to blend launch torque back to normal after the brake is released. ",[22,1168,214],{}," restores it immediately.",[151,1171,1172,1177,1183],{},[167,1173,1174],{},[22,1175,1176],{},"launchControl.releaseTorqueStartMultiplier",[167,1178,1179,755,1181],{"align":159},[22,1180,1065],{},[22,1182,849],{},[167,1184,1185,1186,57],{},"Starting point of the release blend. The runtime never starts below ",[22,1187,1188],{},"holdTorqueMultiplier",[10,1190,1191],{},"Launch Control and installed ECU engine tuning share the same torque coordinator. Their multipliers are combined, so staging and release do not erase the vehicle's ECU tune.",[27,1193,1195],{"id":1194},"tuning-guidance","Tuning guidance",[10,1197,1198],{},"Change one group of values at a time and test it on stock vehicles and every custom handling class used by the server:",[35,1200,1201,1204,1211,1217,1226],{},[38,1202,1203],{},"Set the speed, gear, and RPM activation window first.",[38,1205,1206,1207,1210],{},"Choose an ",[22,1208,1209],{},"rpmTarget"," inside that window.",[38,1212,1213,1214,1216],{},"Adjust ",[22,1215,1188],{}," until the vehicle stays controllable while staged.",[38,1218,1219,1220,858,1223,1225],{},"Tune ",[22,1221,1222],{},"releaseTorqueStartMultiplier",[22,1224,243],{}," together for the desired launch response.",[38,1227,1228],{},"Balance burst cadence, flame size, volume, and turbo pressure last.",[10,1230,1231,1232,1234,1235,1238,1239,1241],{},"For a tighter standing launch, reduce ",[22,1233,768],{},", keep ",[22,1236,1237],{},"minGear = 0",", use a low ",[22,1240,806],{},", and narrow the RPM window around the desired target. For broader compatibility with custom transmissions, keep the shipped gear range and first confirm which gear each vehicle reports while stationary.",[10,1243,1244],{},"Aggressive pressure, torque, or release values can react differently with custom handling files. Another resource that writes vehicle torque, RPM, or handbrake state every frame can also override Launch Control and should be tested or integrated explicitly.",[27,1246,1248],{"id":1247},"troubleshooting","Troubleshooting",[145,1250,1251,1261],{},[148,1252,1253],{},[151,1254,1255,1258],{},[154,1256,1257],{},"Symptom",[154,1259,1260],{},"Checks",[162,1262,1263,1282,1294,1310,1326,1336,1350,1361,1369],{},[151,1264,1265,1268],{},[167,1266,1267],{},"No 2-Step option in the tuning menu",[167,1269,1270,1271,64,1273,1275,1276,1278,1279,1281],{},"Enable ",[46,1272,56],{},[22,1274,43],{},", confirm ",[22,1277,63],{},", and confirm ",[22,1280,82],{}," is enabled for the active tuning-price profile.",[151,1283,1284,1287],{},[167,1285,1286],{},"Installed vehicle does nothing",[167,1288,1289,1290,1293],{},"Confirm 2-Step is set to ",[46,1291,1292],{},"Enabled"," for that vehicle, the player is driving, the engine is running, and speed, gear, and RPM are inside the configured window.",[151,1295,1296,1301],{},[167,1297,1298,1300],{},[46,1299,134],{}," does nothing",[167,1302,1303,1304,1307,1308,57],{},"The shipped configuration has ",[22,1305,1306],{},"useHandbrake = false",". Enable it or use ",[46,1309,125],{},[151,1311,1312,1315],{},[167,1313,1314],{},"Bursts work but the vehicle is not held",[167,1316,1317,1318,858,1320,1322,1323,1325],{},"Confirm ",[22,1319,1099],{},[22,1321,1111],{}," are both ",[22,1324,864],{},". Check for another vehicle-control resource overriding the handbrake.",[151,1327,1328,1331],{},[167,1329,1330],{},"RPM does not settle near the target",[167,1332,60,1333,1335],{},[22,1334,1209],{}," inside the RPM window and check whether another performance or handling script continuously writes RPM or torque.",[151,1337,1338,1341],{},[167,1339,1340],{},"Initial input feels delayed",[167,1342,1343,1344,1346,1347,1349],{},"Lower ",[22,1345,24],{},". Do not set it below ",[22,1348,754],{},"; once detected, the combination already switches to every-frame processing.",[151,1351,1352,1355],{},[167,1353,1354],{},"Launch feels weak or abrupt",[167,1356,1357,1358,1360],{},"Raise the appropriate torque multiplier gradually, or lengthen ",[22,1359,243],{}," for a smoother blend. Test every change across vehicle classes.",[151,1362,1363,1366],{},[167,1364,1365],{},"Pops are audible but flames are missing",[167,1367,1368],{},"Test a stock vehicle, then verify the custom model's exhaust bones and particle-effect compatibility.",[151,1370,1371,1374],{},[167,1372,1373],{},"ECU power disappears during a launch",[167,1375,1376],{},"Update to the build containing the shared vehicle-torque coordinator and check for an external resource that overwrites the same native every frame.",[27,1378,1380],{"id":1379},"testing-checklist","Testing checklist",[35,1382,1383,1386,1389,1392,1395,1398,1401,1404,1407,1410],{},[38,1384,1385],{},"Install and enable 2-Step through a complete tuning order.",[38,1387,1388],{},"Confirm throttle by itself and brake by itself do not start the responsive frame loop or effects.",[38,1390,1391],{},"Hold the configured combination and verify activation only inside the speed, gear, and RPM window.",[38,1393,1394],{},"Release the brake while keeping throttle held and verify the configured torque ramp.",[38,1396,1397],{},"Release both controls and confirm the launch modifier clears immediately.",[38,1399,1400],{},"Repeat with Launch Control disabled and confirm bursts remain but vehicle hold and torque control stop.",[38,1402,1403],{},"Store and retrieve the vehicle and confirm its installed and enabled state persists.",[38,1405,1406],{},"Observe the test from a second nearby client and verify synchronized sound and flames.",[38,1408,1409],{},"Test stock, custom-handling, manual-transmission, and controller-driven vehicles used by the server.",[38,1411,1412,1413,64,1415,1417],{},"Temporarily disable ",[46,1414,56],{},[22,1416,43],{}," and confirm the running client stops the feature without a resource restart.",[27,1419,1421],{"id":1420},"related-pages","Related pages",[119,1423,1424,1431,1437,1443,1449],{},[38,1425,1426],{},[1427,1428,1430],"a",{"href":1429},"./performance-systems","Performance Systems",[38,1432,1433],{},[1427,1434,1436],{"href":1435},"./tuning-and-orders","Tuning and Orders",[38,1438,1439],{},[1427,1440,1442],{"href":1441},"../setup/configuration","Configuration",[38,1444,1445],{},[1427,1446,1448],{"href":1447},"../reference/inventories","Inventory Items",[38,1450,1451],{},[1427,1452,1248],{"href":1453},"../troubleshooting",[1455,1456,1457],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":261,"searchDepth":268,"depth":286,"links":1459},[1460,1461,1462,1467,1468,1469,1470],{"id":29,"depth":286,"text":30},{"id":113,"depth":286,"text":114},{"id":247,"depth":286,"text":248,"children":1463},[1464,1465,1466],{"id":668,"depth":301,"text":669},{"id":897,"depth":301,"text":898},{"id":1077,"depth":301,"text":1078},{"id":1194,"depth":286,"text":1195},{"id":1247,"depth":286,"text":1248},{"id":1379,"depth":286,"text":1380},{"id":1420,"depth":286,"text":1421},"Install, use, tune, and troubleshoot the adaptive Two-Step and Launch Control system.","md",null,{},{"icon":17},"/docs/jobs/mechanicjob/features/two-step-launch-control",{"title":5,"description":1471},{"loc":1476},"1.docs/0.jobs/2.mechanicjob/3.features/12.two-step-launch-control","ZSqMx3nj9aqrSWftKukIamNXcBtOQcK76--9bNrEE8A",[1482,1487],{"title":1483,"path":1484,"stem":1485,"description":1486,"children":-1},"Advanced Billing","/docs/jobs/mechanicjob/features/advanced-billing","1.docs/0.jobs/2.mechanicjob/3.features/11.advanced-billing","Configure estimates, deposits, partial payments, detailed invoice positions, limits, due dates, reminders, and workshop accounting.",{"title":1488,"path":1489,"stem":1490,"description":1491,"children":-1},"Vehicle Systems","/docs/jobs/mechanicjob/features/vehicle-systems","1.docs/0.jobs/2.mechanicjob/3.features/2.vehicle-systems","Configure mileage, diagnostics, wear, vehicle care, wheel damage, history, and electric vehicles.",[],1788389533741]