[{"data":1,"prerenderedAt":1602},["ShallowReactive",2],{"/docs/jobs/mechanicjob/features/custom-engine-sounds":3,"/docs/jobs/mechanicjob/features/custom-engine-sounds-surround":1590,"/docs/jobs/mechanicjob/features/custom-engine-sounds-implemented-suggestions":1601},{"id":4,"title":5,"body":6,"description":1579,"extension":1580,"head":1581,"implementedSuggestions":1581,"meta":1582,"navigation":1583,"path":1585,"schemaOrg":1581,"seo":1586,"sitemap":1587,"stem":1588,"__hash__":1589},"docs/1.docs/0.jobs/2.mechanicjob/3.features/6.custom-engine-sounds.md","Custom Engine Sounds",{"type":7,"value":8,"toc":1559},"minimark",[9,14,23,26,43,47,50,60,63,345,429,433,436,554,567,571,578,620,631,636,639,666,680,683,687,690,696,702,776,792,799,803,806,836,839,972,1003,1006,1010,1015,1085,1095,1099,1355,1359,1400,1404,1408,1433,1437,1474,1478,1501,1505,1525,1529,1555],[10,11,13],"h2",{"id":12},"how-engine-sounds-work","How Engine Sounds work",[15,16,17,18,22],"p",{},"Sky Mechanic Job adds configured sounds to the ",[19,20,21],"strong",{},"Engine Sounds"," section of the tuning menu. Selecting an entry previews it immediately, and focusing the option continuously revs the engine so players can compare sounds before purchase.",[15,24,25],{},"After a sound is selected, its GTA audio name is synchronized through the vehicle state. Nearby players therefore hear the same engine sound.",[27,28,31],"callout",{"color":29,"icon":30},"warning","i-lucide-triangle-alert",[15,32,33,34,38,39,42],{},"Adding a name to ",[35,36,37],"code",{},"engine_sounds_config.lua"," does not install its audio files. A custom sound pack must also be loaded by ",[35,40,41],{},"sky_mechanicjob"," or another ensured FiveM resource.",[10,44,46],{"id":45},"configuration-file","Configuration file",[15,48,49],{},"Engine Sound tuning is configured in:",[51,52,58],"pre",{"className":53,"code":55,"language":56,"meta":57},[54],"language-text","sky_mechanicjob/config/engine_sounds_config.lua\n","text","",[35,59,55],{"__ignoreMap":57},[15,61,62],{},"The default structure is:",[51,64,68],{"className":65,"code":66,"language":67,"meta":57,"style":57},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Config.EngineSounds = {\n    enabled = true,\n    section = \"engine_sounds\",\n    optionId = \"engine_sound\",\n    cameraPart = \"rear\",\n    engineUpgradeDefaults = {\n        [1] = \"Monster\",\n        [2] = \"Cheetah\",\n        [3] = \"Banshee\"\n    },\n    sounds = {\n        { audioName = \"MONSTER\", label = \"Monster\" },\n        { audioName = \"ADDER\", label = \"Adder\" },\n        { audioName = \"BANSHEE\", label = \"Banshee\" }\n    }\n}\n","lua",[35,69,70,90,105,125,142,159,169,193,214,234,240,250,280,307,334,340],{"__ignoreMap":57},[71,72,75,79,83,87],"span",{"class":73,"line":74},"line",1,[71,76,78],{"class":77},"sTEyZ","Config.",[71,80,82],{"class":81},"sBMFI","EngineSounds",[71,84,86],{"class":85},"sMK4o"," =",[71,88,89],{"class":77}," {\n",[71,91,93,96,99,102],{"class":73,"line":92},2,[71,94,95],{"class":77},"    enabled ",[71,97,98],{"class":85},"=",[71,100,101],{"class":85}," true",[71,103,104],{"class":77},",\n",[71,106,108,111,113,116,120,123],{"class":73,"line":107},3,[71,109,110],{"class":77},"    section ",[71,112,98],{"class":85},[71,114,115],{"class":85}," \"",[71,117,119],{"class":118},"sfazB","engine_sounds",[71,121,122],{"class":85},"\"",[71,124,104],{"class":77},[71,126,128,131,133,135,138,140],{"class":73,"line":127},4,[71,129,130],{"class":77},"    optionId ",[71,132,98],{"class":85},[71,134,115],{"class":85},[71,136,137],{"class":118},"engine_sound",[71,139,122],{"class":85},[71,141,104],{"class":77},[71,143,145,148,150,152,155,157],{"class":73,"line":144},5,[71,146,147],{"class":77},"    cameraPart ",[71,149,98],{"class":85},[71,151,115],{"class":85},[71,153,154],{"class":118},"rear",[71,156,122],{"class":85},[71,158,104],{"class":77},[71,160,162,165,167],{"class":73,"line":161},6,[71,163,164],{"class":77},"    engineUpgradeDefaults ",[71,166,98],{"class":85},[71,168,89],{"class":77},[71,170,172,175,179,182,184,186,189,191],{"class":73,"line":171},7,[71,173,174],{"class":77},"        [",[71,176,178],{"class":177},"sbssI","1",[71,180,181],{"class":77},"] ",[71,183,98],{"class":85},[71,185,115],{"class":85},[71,187,188],{"class":118},"Monster",[71,190,122],{"class":85},[71,192,104],{"class":77},[71,194,196,198,201,203,205,207,210,212],{"class":73,"line":195},8,[71,197,174],{"class":77},[71,199,200],{"class":177},"2",[71,202,181],{"class":77},[71,204,98],{"class":85},[71,206,115],{"class":85},[71,208,209],{"class":118},"Cheetah",[71,211,122],{"class":85},[71,213,104],{"class":77},[71,215,217,219,222,224,226,228,231],{"class":73,"line":216},9,[71,218,174],{"class":77},[71,220,221],{"class":177},"3",[71,223,181],{"class":77},[71,225,98],{"class":85},[71,227,115],{"class":85},[71,229,230],{"class":118},"Banshee",[71,232,233],{"class":85},"\"\n",[71,235,237],{"class":73,"line":236},10,[71,238,239],{"class":77},"    },\n",[71,241,243,246,248],{"class":73,"line":242},11,[71,244,245],{"class":77},"    sounds ",[71,247,98],{"class":85},[71,249,89],{"class":77},[71,251,253,256,258,260,263,265,268,270,272,274,277],{"class":73,"line":252},12,[71,254,255],{"class":77},"        { audioName ",[71,257,98],{"class":85},[71,259,115],{"class":85},[71,261,262],{"class":118},"MONSTER",[71,264,122],{"class":85},[71,266,267],{"class":77},", label ",[71,269,98],{"class":85},[71,271,115],{"class":85},[71,273,188],{"class":118},[71,275,276],{"class":85},"\" ",[71,278,279],{"class":77},"},\n",[71,281,283,285,287,289,292,294,296,298,300,303,305],{"class":73,"line":282},13,[71,284,255],{"class":77},[71,286,98],{"class":85},[71,288,115],{"class":85},[71,290,291],{"class":118},"ADDER",[71,293,122],{"class":85},[71,295,267],{"class":77},[71,297,98],{"class":85},[71,299,115],{"class":85},[71,301,302],{"class":118},"Adder",[71,304,276],{"class":85},[71,306,279],{"class":77},[71,308,310,312,314,316,319,321,323,325,327,329,331],{"class":73,"line":309},14,[71,311,255],{"class":77},[71,313,98],{"class":85},[71,315,115],{"class":85},[71,317,318],{"class":118},"BANSHEE",[71,320,122],{"class":85},[71,322,267],{"class":77},[71,324,98],{"class":85},[71,326,115],{"class":85},[71,328,230],{"class":118},[71,330,276],{"class":85},[71,332,333],{"class":77},"}\n",[71,335,337],{"class":73,"line":336},15,[71,338,339],{"class":77},"    }\n",[71,341,343],{"class":73,"line":342},16,[71,344,333],{"class":77},[346,347,348,361],"table",{},[349,350,351],"thead",{},[352,353,354,358],"tr",{},[355,356,357],"th",{},"Setting",[355,359,360],{},"Purpose",[362,363,364,375,387,399,409,419],"tbody",{},[352,365,366,372],{},[367,368,369],"td",{},[35,370,371],{},"enabled",[367,373,374],{},"Enables or disables the complete Engine Sounds tuning section",[352,376,377,382],{},[367,378,379],{},[35,380,381],{},"section",[367,383,384,385],{},"Internal tuning section ID; normally keep ",[35,386,119],{},[352,388,389,394],{},[367,390,391],{},[35,392,393],{},"optionId",[367,395,396,397],{},"Internal tuning option ID; normally keep ",[35,398,137],{},[352,400,401,406],{},[367,402,403],{},[35,404,405],{},"cameraPart",[367,407,408],{},"Camera position used while the option is selected",[352,410,411,416],{},[367,412,413],{},[35,414,415],{},"engineUpgradeDefaults",[367,417,418],{},"Optional default sound assigned to Custom Handling engine-upgrade stages",[352,420,421,426],{},[367,422,423],{},[35,424,425],{},"sounds",[367,427,428],{},"Sounds displayed in the tuning option",[10,430,432],{"id":431},"add-a-built-in-gta-sound","Add a built-in GTA sound",[15,434,435],{},"Built-in sounds do not require additional audio files. Add the GTA audio name and the label shown to players:",[51,437,439],{"className":65,"code":438,"language":67,"meta":57,"style":57},"sounds = {\n    { audioName = \"MONSTER\", label = \"Monster\" },\n    { audioName = \"ADDER\", label = \"Adder\" },\n    { audioName = \"CHEETAH\", label = \"Cheetah\" },\n    { audioName = \"ENTITYXF\", label = \"Entity XF\" }\n}\n",[35,440,441,450,475,499,524,550],{"__ignoreMap":57},[71,442,443,446,448],{"class":73,"line":74},[71,444,445],{"class":77},"sounds ",[71,447,98],{"class":85},[71,449,89],{"class":77},[71,451,452,455,457,459,461,463,465,467,469,471,473],{"class":73,"line":92},[71,453,454],{"class":77},"    { audioName ",[71,456,98],{"class":85},[71,458,115],{"class":85},[71,460,262],{"class":118},[71,462,122],{"class":85},[71,464,267],{"class":77},[71,466,98],{"class":85},[71,468,115],{"class":85},[71,470,188],{"class":118},[71,472,276],{"class":85},[71,474,279],{"class":77},[71,476,477,479,481,483,485,487,489,491,493,495,497],{"class":73,"line":107},[71,478,454],{"class":77},[71,480,98],{"class":85},[71,482,115],{"class":85},[71,484,291],{"class":118},[71,486,122],{"class":85},[71,488,267],{"class":77},[71,490,98],{"class":85},[71,492,115],{"class":85},[71,494,302],{"class":118},[71,496,276],{"class":85},[71,498,279],{"class":77},[71,500,501,503,505,507,510,512,514,516,518,520,522],{"class":73,"line":127},[71,502,454],{"class":77},[71,504,98],{"class":85},[71,506,115],{"class":85},[71,508,509],{"class":118},"CHEETAH",[71,511,122],{"class":85},[71,513,267],{"class":77},[71,515,98],{"class":85},[71,517,115],{"class":85},[71,519,209],{"class":118},[71,521,276],{"class":85},[71,523,279],{"class":77},[71,525,526,528,530,532,535,537,539,541,543,546,548],{"class":73,"line":144},[71,527,454],{"class":77},[71,529,98],{"class":85},[71,531,115],{"class":85},[71,533,534],{"class":118},"ENTITYXF",[71,536,122],{"class":85},[71,538,267],{"class":77},[71,540,98],{"class":85},[71,542,115],{"class":85},[71,544,545],{"class":118},"Entity XF",[71,547,276],{"class":85},[71,549,333],{"class":77},[71,551,552],{"class":73,"line":161},[71,553,333],{"class":77},[15,555,556,557,559,560,563,564,566],{},"Restart ",[35,558,41],{},", open a tuning menu, select ",[19,561,562],{},"More",", and open ",[19,565,21],{},".",[10,568,570],{"id":569},"add-a-custom-sound-pack","Add a custom sound pack",[15,572,573,574,577],{},"You need the exact audio name supplied by the sound pack. For example, a pack containing the audio name ",[35,575,576],{},"a80ffeng"," is added like this:",[51,579,581],{"className":65,"code":580,"language":67,"meta":57,"style":57},"sounds = {\n    { audioName = \"a80ffeng\", label = \"Toyota Supra A80\" }\n}\n",[35,582,583,591,616],{"__ignoreMap":57},[71,584,585,587,589],{"class":73,"line":74},[71,586,445],{"class":77},[71,588,98],{"class":85},[71,590,89],{"class":77},[71,592,593,595,597,599,601,603,605,607,609,612,614],{"class":73,"line":92},[71,594,454],{"class":77},[71,596,98],{"class":85},[71,598,115],{"class":85},[71,600,576],{"class":118},[71,602,122],{"class":85},[71,604,267],{"class":77},[71,606,98],{"class":85},[71,608,115],{"class":85},[71,610,611],{"class":118},"Toyota Supra A80",[71,613,276],{"class":85},[71,615,333],{"class":77},[71,617,618],{"class":73,"line":107},[71,619,333],{"class":77},[15,621,622,623,626,627,630],{},"The value of ",[35,624,625],{},"audioName"," must match the name expected by the pack's audio metadata. The ",[35,628,629],{},"label"," can be changed freely because it is only displayed in the menu.",[632,633,635],"h3",{"id":634},"recommended-use-a-separate-sound-resource","Recommended: use a separate sound resource",[15,637,638],{},"Keep the downloaded sound pack as its own FiveM resource and start it before Mechanic Job:",[51,640,644],{"className":641,"code":642,"language":643,"meta":57,"style":57},"language-cfg shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ensure my_engine_sounds\nensure sky_base\nensure sky_jobs_base\nensure sky_mechanicjob\n","cfg",[35,645,646,651,656,661],{"__ignoreMap":57},[71,647,648],{"class":73,"line":74},[71,649,650],{},"ensure my_engine_sounds\n",[71,652,653],{"class":73,"line":92},[71,654,655],{},"ensure sky_base\n",[71,657,658],{"class":73,"line":107},[71,659,660],{},"ensure sky_jobs_base\n",[71,662,663],{"class":73,"line":127},[71,664,665],{},"ensure sky_mechanicjob\n",[15,667,668,669,672,673,676,677,566],{},"The sound resource must load its ",[35,670,671],{},".awc"," files and audio metadata through its own ",[35,674,675],{},"fxmanifest.lua",". Once the sound works in FiveM, add its audio name to ",[35,678,679],{},"Config.EngineSounds.sounds",[15,681,682],{},"This approach keeps custom audio separate from Mechanic Job updates and makes replacing or troubleshooting a sound pack easier.",[632,684,686],{"id":685},"alternative-include-files-in-sky_mechanicjob","Alternative: include files in sky_mechanicjob",[15,688,689],{},"Place the sound pack files in the matching folders:",[51,691,694],{"className":692,"code":693,"language":56,"meta":57},[54],"sky_mechanicjob/\n|-- audioconfig/\n|   |-- a80ffeng_amp.dat151.rel\n|   |-- a80ffeng_game.dat151.rel\n|   `-- a80ffeng_sounds.dat54.rel\n`-- sfx/\n    `-- dlc_a80ffeng/\n        `-- *.awc\n",[35,695,693],{"__ignoreMap":57},[15,697,698,699,701],{},"File names and extensions vary between packs. Keep the names provided by the pack and register the correct files in ",[35,700,675],{},":",[51,703,705],{"className":65,"code":704,"language":67,"meta":57,"style":57},"data_file 'AUDIO_SYNTHDATA' 'audioconfig/a80ffeng_amp.dat'\ndata_file 'AUDIO_GAMEDATA' 'audioconfig/a80ffeng_game.dat'\ndata_file 'AUDIO_SOUNDDATA' 'audioconfig/a80ffeng_sounds.dat'\ndata_file 'AUDIO_WAVEPACK' 'sfx/dlc_a80ffeng'\n",[35,706,707,728,744,760],{"__ignoreMap":57},[71,708,709,713,716,719,722,725],{"class":73,"line":74},[71,710,712],{"class":711},"s2Zo4","data_file",[71,714,715],{"class":85}," '",[71,717,718],{"class":118},"AUDIO_SYNTHDATA",[71,720,721],{"class":85},"' '",[71,723,724],{"class":118},"audioconfig/a80ffeng_amp.dat",[71,726,727],{"class":85},"'\n",[71,729,730,732,734,737,739,742],{"class":73,"line":92},[71,731,712],{"class":711},[71,733,715],{"class":85},[71,735,736],{"class":118},"AUDIO_GAMEDATA",[71,738,721],{"class":85},[71,740,741],{"class":118},"audioconfig/a80ffeng_game.dat",[71,743,727],{"class":85},[71,745,746,748,750,753,755,758],{"class":73,"line":107},[71,747,712],{"class":711},[71,749,715],{"class":85},[71,751,752],{"class":118},"AUDIO_SOUNDDATA",[71,754,721],{"class":85},[71,756,757],{"class":118},"audioconfig/a80ffeng_sounds.dat",[71,759,727],{"class":85},[71,761,762,764,766,769,771,774],{"class":73,"line":127},[71,763,712],{"class":711},[71,765,715],{"class":85},[71,767,768],{"class":118},"AUDIO_WAVEPACK",[71,770,721],{"class":85},[71,772,773],{"class":118},"sfx/dlc_a80ffeng",[71,775,727],{"class":85},[15,777,778,779,782,783,786,787,789,790,566],{},"The Mechanic Job manifest already includes files from ",[35,780,781],{},"audioconfig"," and ",[35,784,785],{},"sfx",", but every pack still needs matching ",[35,788,712],{}," declarations. Example declarations are included as a commented block in the supplied ",[35,791,675],{},[27,793,796],{"color":794,"icon":795},"info","i-lucide-info",[15,797,798],{},"Use the paths and data types supplied by the sound pack. Do not rename metadata or wavepack folders unless you also update every internal and manifest reference.",[10,800,802],{"id":801},"supported-sound-entry-formats","Supported sound entry formats",[15,804,805],{},"The recommended format is:",[51,807,809],{"className":65,"code":808,"language":67,"meta":57,"style":57},"{ audioName = \"a80ffeng\", label = \"Toyota Supra A80\" }\n",[35,810,811],{"__ignoreMap":57},[71,812,813,816,818,820,822,824,826,828,830,832,834],{"class":73,"line":74},[71,814,815],{"class":77},"{ audioName ",[71,817,98],{"class":85},[71,819,115],{"class":85},[71,821,576],{"class":118},[71,823,122],{"class":85},[71,825,267],{"class":77},[71,827,98],{"class":85},[71,829,115],{"class":85},[71,831,611],{"class":118},[71,833,276],{"class":85},[71,835,333],{"class":77},[15,837,838],{},"The parser also accepts these common formats:",[51,840,842],{"className":65,"code":841,"language":67,"meta":57,"style":57},"sounds = {\n    { soundName = \"a80ffeng\", label = \"Toyota Supra A80\" },\n    { sound = \"amg1eng\", title = \"Mercedes AMG\" },\n    { value = \"4age\", displayName = \"Toyota 4A-GE\" },\n    \"2strkbeng\",\n    [\"Audi RS4 Milltek\"] = \"audirs4milltekeng\"\n}\n",[35,843,844,852,877,905,933,945,968],{"__ignoreMap":57},[71,845,846,848,850],{"class":73,"line":74},[71,847,445],{"class":77},[71,849,98],{"class":85},[71,851,89],{"class":77},[71,853,854,857,859,861,863,865,867,869,871,873,875],{"class":73,"line":92},[71,855,856],{"class":77},"    { soundName ",[71,858,98],{"class":85},[71,860,115],{"class":85},[71,862,576],{"class":118},[71,864,122],{"class":85},[71,866,267],{"class":77},[71,868,98],{"class":85},[71,870,115],{"class":85},[71,872,611],{"class":118},[71,874,276],{"class":85},[71,876,279],{"class":77},[71,878,879,882,884,886,889,891,894,896,898,901,903],{"class":73,"line":107},[71,880,881],{"class":77},"    { sound ",[71,883,98],{"class":85},[71,885,115],{"class":85},[71,887,888],{"class":118},"amg1eng",[71,890,122],{"class":85},[71,892,893],{"class":77},", title ",[71,895,98],{"class":85},[71,897,115],{"class":85},[71,899,900],{"class":118},"Mercedes AMG",[71,902,276],{"class":85},[71,904,279],{"class":77},[71,906,907,910,912,914,917,919,922,924,926,929,931],{"class":73,"line":127},[71,908,909],{"class":77},"    { value ",[71,911,98],{"class":85},[71,913,115],{"class":85},[71,915,916],{"class":118},"4age",[71,918,122],{"class":85},[71,920,921],{"class":77},", displayName ",[71,923,98],{"class":85},[71,925,115],{"class":85},[71,927,928],{"class":118},"Toyota 4A-GE",[71,930,276],{"class":85},[71,932,279],{"class":77},[71,934,935,938,941,943],{"class":73,"line":144},[71,936,937],{"class":85},"    \"",[71,939,940],{"class":118},"2strkbeng",[71,942,122],{"class":85},[71,944,104],{"class":77},[71,946,947,950,952,955,957,959,961,963,966],{"class":73,"line":161},[71,948,949],{"class":77},"    [",[71,951,122],{"class":85},[71,953,954],{"class":118},"Audi RS4 Milltek",[71,956,122],{"class":85},[71,958,181],{"class":77},[71,960,98],{"class":85},[71,962,115],{"class":85},[71,964,965],{"class":118},"audirs4milltekeng",[71,967,233],{"class":85},[71,969,970],{"class":73,"line":171},[71,971,333],{"class":77},[15,973,974,975,977,978,977,981,977,984,977,987,990,991,994,995,977,997,990,1000,566],{},"Supported audio-name fields include ",[35,976,625],{},", ",[35,979,980],{},"soundName",[35,982,983],{},"sound",[35,985,986],{},"value",[35,988,989],{},"hash",", and ",[35,992,993],{},"name",". Supported display fields include ",[35,996,629],{},[35,998,999],{},"title",[35,1001,1002],{},"displayName",[15,1004,1005],{},"Audio-name matching is case-insensitive for configured selections, but the exact configured value is preserved when FiveM applies the sound.",[10,1007,1009],{"id":1008},"engine-upgrade-default-sounds","Engine upgrade default sounds",[15,1011,1012,1014],{},[35,1013,415],{}," can automatically associate Custom Handling engine-upgrade stages with configured sounds:",[51,1016,1018],{"className":65,"code":1017,"language":67,"meta":57,"style":57},"engineUpgradeDefaults = {\n    [1] = \"MONSTER\",\n    [2] = \"CHEETAH\",\n    [3] = \"BANSHEE\"\n}\n",[35,1019,1020,1029,1047,1065,1081],{"__ignoreMap":57},[71,1021,1022,1025,1027],{"class":73,"line":74},[71,1023,1024],{"class":77},"engineUpgradeDefaults ",[71,1026,98],{"class":85},[71,1028,89],{"class":77},[71,1030,1031,1033,1035,1037,1039,1041,1043,1045],{"class":73,"line":92},[71,1032,949],{"class":77},[71,1034,178],{"class":177},[71,1036,181],{"class":77},[71,1038,98],{"class":85},[71,1040,115],{"class":85},[71,1042,262],{"class":118},[71,1044,122],{"class":85},[71,1046,104],{"class":77},[71,1048,1049,1051,1053,1055,1057,1059,1061,1063],{"class":73,"line":107},[71,1050,949],{"class":77},[71,1052,200],{"class":177},[71,1054,181],{"class":77},[71,1056,98],{"class":85},[71,1058,115],{"class":85},[71,1060,509],{"class":118},[71,1062,122],{"class":85},[71,1064,104],{"class":77},[71,1066,1067,1069,1071,1073,1075,1077,1079],{"class":73,"line":127},[71,1068,949],{"class":77},[71,1070,221],{"class":177},[71,1072,181],{"class":77},[71,1074,98],{"class":85},[71,1076,115],{"class":85},[71,1078,318],{"class":118},[71,1080,233],{"class":85},[71,1082,1083],{"class":73,"line":144},[71,1084,333],{"class":77},[15,1086,1087,1088,1090,1091,1094],{},"The value must match one of the entries in ",[35,1089,425],{},". A manually selected Engine Sound takes priority over an automatic engine-upgrade default. Selecting ",[19,1092,1093],{},"Stock"," disables the custom sound and restores the vehicle's normal model audio.",[10,1096,1098],{"id":1097},"complete-custom-example","Complete custom example",[51,1100,1102],{"className":65,"code":1101,"language":67,"meta":57,"style":57},"Config.EngineSounds = {\n    enabled = true,\n    section = \"engine_sounds\",\n    optionId = \"engine_sound\",\n    cameraPart = \"rear\",\n\n    engineUpgradeDefaults = {\n        [1] = \"4age\",\n        [2] = \"a80ffeng\",\n        [3] = \"amg1eng\"\n    },\n\n    sounds = {\n        { audioName = \"MONSTER\", label = \"Monster\" },\n        { audioName = \"4age\", label = \"Toyota 4A-GE\" },\n        { audioName = \"a80ffeng\", label = \"Toyota Supra A80\" },\n        { audioName = \"amg1eng\", label = \"Mercedes AMG\" }\n    }\n}\n",[35,1103,1104,1114,1124,1138,1152,1166,1172,1180,1198,1216,1232,1236,1240,1248,1272,1296,1320,1345,1350],{"__ignoreMap":57},[71,1105,1106,1108,1110,1112],{"class":73,"line":74},[71,1107,78],{"class":77},[71,1109,82],{"class":81},[71,1111,86],{"class":85},[71,1113,89],{"class":77},[71,1115,1116,1118,1120,1122],{"class":73,"line":92},[71,1117,95],{"class":77},[71,1119,98],{"class":85},[71,1121,101],{"class":85},[71,1123,104],{"class":77},[71,1125,1126,1128,1130,1132,1134,1136],{"class":73,"line":107},[71,1127,110],{"class":77},[71,1129,98],{"class":85},[71,1131,115],{"class":85},[71,1133,119],{"class":118},[71,1135,122],{"class":85},[71,1137,104],{"class":77},[71,1139,1140,1142,1144,1146,1148,1150],{"class":73,"line":127},[71,1141,130],{"class":77},[71,1143,98],{"class":85},[71,1145,115],{"class":85},[71,1147,137],{"class":118},[71,1149,122],{"class":85},[71,1151,104],{"class":77},[71,1153,1154,1156,1158,1160,1162,1164],{"class":73,"line":144},[71,1155,147],{"class":77},[71,1157,98],{"class":85},[71,1159,115],{"class":85},[71,1161,154],{"class":118},[71,1163,122],{"class":85},[71,1165,104],{"class":77},[71,1167,1168],{"class":73,"line":161},[71,1169,1171],{"emptyLinePlaceholder":1170},true,"\n",[71,1173,1174,1176,1178],{"class":73,"line":171},[71,1175,164],{"class":77},[71,1177,98],{"class":85},[71,1179,89],{"class":77},[71,1181,1182,1184,1186,1188,1190,1192,1194,1196],{"class":73,"line":195},[71,1183,174],{"class":77},[71,1185,178],{"class":177},[71,1187,181],{"class":77},[71,1189,98],{"class":85},[71,1191,115],{"class":85},[71,1193,916],{"class":118},[71,1195,122],{"class":85},[71,1197,104],{"class":77},[71,1199,1200,1202,1204,1206,1208,1210,1212,1214],{"class":73,"line":216},[71,1201,174],{"class":77},[71,1203,200],{"class":177},[71,1205,181],{"class":77},[71,1207,98],{"class":85},[71,1209,115],{"class":85},[71,1211,576],{"class":118},[71,1213,122],{"class":85},[71,1215,104],{"class":77},[71,1217,1218,1220,1222,1224,1226,1228,1230],{"class":73,"line":236},[71,1219,174],{"class":77},[71,1221,221],{"class":177},[71,1223,181],{"class":77},[71,1225,98],{"class":85},[71,1227,115],{"class":85},[71,1229,888],{"class":118},[71,1231,233],{"class":85},[71,1233,1234],{"class":73,"line":242},[71,1235,239],{"class":77},[71,1237,1238],{"class":73,"line":252},[71,1239,1171],{"emptyLinePlaceholder":1170},[71,1241,1242,1244,1246],{"class":73,"line":282},[71,1243,245],{"class":77},[71,1245,98],{"class":85},[71,1247,89],{"class":77},[71,1249,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270],{"class":73,"line":309},[71,1251,255],{"class":77},[71,1253,98],{"class":85},[71,1255,115],{"class":85},[71,1257,262],{"class":118},[71,1259,122],{"class":85},[71,1261,267],{"class":77},[71,1263,98],{"class":85},[71,1265,115],{"class":85},[71,1267,188],{"class":118},[71,1269,276],{"class":85},[71,1271,279],{"class":77},[71,1273,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294],{"class":73,"line":336},[71,1275,255],{"class":77},[71,1277,98],{"class":85},[71,1279,115],{"class":85},[71,1281,916],{"class":118},[71,1283,122],{"class":85},[71,1285,267],{"class":77},[71,1287,98],{"class":85},[71,1289,115],{"class":85},[71,1291,928],{"class":118},[71,1293,276],{"class":85},[71,1295,279],{"class":77},[71,1297,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318],{"class":73,"line":342},[71,1299,255],{"class":77},[71,1301,98],{"class":85},[71,1303,115],{"class":85},[71,1305,576],{"class":118},[71,1307,122],{"class":85},[71,1309,267],{"class":77},[71,1311,98],{"class":85},[71,1313,115],{"class":85},[71,1315,611],{"class":118},[71,1317,276],{"class":85},[71,1319,279],{"class":77},[71,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343],{"class":73,"line":1322},17,[71,1324,255],{"class":77},[71,1326,98],{"class":85},[71,1328,115],{"class":85},[71,1330,888],{"class":118},[71,1332,122],{"class":85},[71,1334,267],{"class":77},[71,1336,98],{"class":85},[71,1338,115],{"class":85},[71,1340,900],{"class":118},[71,1342,276],{"class":85},[71,1344,333],{"class":77},[71,1346,1348],{"class":73,"line":1347},18,[71,1349,339],{"class":77},[71,1351,1353],{"class":73,"line":1352},19,[71,1354,333],{"class":77},[10,1356,1358],{"id":1357},"testing-checklist","Testing checklist",[1360,1361,1362,1366,1371,1379,1382,1385,1388,1391,1394],"ol",{},[1363,1364,1365],"li",{},"Ensure the sound-pack resource starts without audio metadata errors.",[1363,1367,1368,1369,566],{},"Restart the sound resource and ",[35,1370,41],{},[1363,1372,1373,1374,1376,1377,566],{},"Open the tuning menu and select ",[19,1375,562],{}," -> ",[19,1378,21],{},[1363,1380,1381],{},"Confirm every configured label appears once.",[1363,1383,1384],{},"Focus each sound and confirm the engine rev preview is audible.",[1363,1386,1387],{},"Select a custom sound and verify it remains active after closing the menu.",[1363,1389,1390],{},"Ask a second nearby player to confirm they hear the same sound.",[1363,1392,1393],{},"Store and retrieve an owned vehicle and confirm the selected sound is restored.",[1363,1395,1396,1397,1399],{},"Select ",[19,1398,1093],{}," and confirm the original vehicle sound returns.",[10,1401,1403],{"id":1402},"troubleshooting","Troubleshooting",[632,1405,1407],{"id":1406},"the-option-does-not-appear","The option does not appear",[1409,1410,1411,1417,1422,1430],"ul",{},[1363,1412,1413,1414,566],{},"Confirm ",[35,1415,1416],{},"Config.EngineSounds.enabled = true",[1363,1418,1413,1419,1421],{},[35,1420,425],{}," contains at least one valid entry.",[1363,1423,1413,1424,1427,1428,566],{},[35,1425,1426],{},"config/engine_sounds_config.lua"," is still loaded by ",[35,1429,675],{},[1363,1431,1432],{},"Update the built frontend and locale files if the Engine Sounds section is missing after an older installation.",[632,1434,1436],{"id":1435},"the-entry-appears-but-has-no-custom-audio","The entry appears but has no custom audio",[1409,1438,1439,1444,1450,1453,1462],{},[1363,1440,1441,1442,566],{},"Confirm the sound-pack resource is started before ",[35,1443,41],{},[1363,1445,1446,1447,1449],{},"Verify the exact ",[35,1448,625],{}," from the sound pack.",[1363,1451,1452],{},"Check the server and client console for missing audio metadata or wavepack errors.",[1363,1454,1455,1456,782,1458,1461],{},"Confirm all required ",[35,1457,671],{},[35,1459,1460],{},".rel"," files are present.",[1363,1463,1464,1465,977,1467,977,1469,990,1471,1473],{},"Confirm the pack's ",[35,1466,718],{},[35,1468,736],{},[35,1470,752],{},[35,1472,768],{}," declarations are correct.",[632,1475,1477],{"id":1476},"only-the-tuning-player-hears-the-sound","Only the tuning player hears the sound",[1409,1479,1480,1487,1495,1498],{},[1363,1481,1482,1483,1486],{},"Update to Mechanic Job ",[35,1484,1485],{},"1.14.0"," or newer.",[1363,1488,1413,1489,1492,1493,566],{},[35,1490,1491],{},"source/server/engine_sounds.lua"," is present and loaded by ",[35,1494,675],{},[1363,1496,1497],{},"Ensure the vehicle is networked and both players are close enough to stream it.",[1363,1499,1500],{},"Restart the complete resource instead of only rebuilding the frontend.",[632,1502,1504],{"id":1503},"the-wrong-sound-returns-after-an-engine-upgrade","The wrong sound returns after an engine upgrade",[1409,1506,1507,1512,1517,1520],{},[1363,1508,1509,1510,566],{},"Check ",[35,1511,415],{},[1363,1513,1514,1515,566],{},"Confirm its values match entries in ",[35,1516,425],{},[1363,1518,1519],{},"Select a sound manually if it should override the upgrade default.",[1363,1521,1396,1522,1524],{},[19,1523,1093],{}," to remove the manual custom sound and return to normal model audio.",[10,1526,1528],{"id":1527},"related-pages","Related pages",[1409,1530,1531,1538,1544,1550],{},[1363,1532,1533],{},[1534,1535,1537],"a",{"href":1536},"./performance-systems","Performance Systems",[1363,1539,1540],{},[1534,1541,1543],{"href":1542},"./tuning-and-orders","Tuning and Orders",[1363,1545,1546],{},[1534,1547,1549],{"href":1548},"../setup/configuration","Configuration",[1363,1551,1552],{},[1534,1553,1403],{"href":1554},"../troubleshooting",[1556,1557,1558],"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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}",{"title":57,"searchDepth":74,"depth":92,"links":1560},[1561,1562,1563,1564,1568,1569,1570,1571,1572,1578],{"id":12,"depth":92,"text":13},{"id":45,"depth":92,"text":46},{"id":431,"depth":92,"text":432},{"id":569,"depth":92,"text":570,"children":1565},[1566,1567],{"id":634,"depth":107,"text":635},{"id":685,"depth":107,"text":686},{"id":801,"depth":92,"text":802},{"id":1008,"depth":92,"text":1009},{"id":1097,"depth":92,"text":1098},{"id":1357,"depth":92,"text":1358},{"id":1402,"depth":92,"text":1403,"children":1573},[1574,1575,1576,1577],{"id":1406,"depth":107,"text":1407},{"id":1435,"depth":107,"text":1436},{"id":1476,"depth":107,"text":1477},{"id":1503,"depth":107,"text":1504},{"id":1527,"depth":92,"text":1528},"Add built-in or custom GTA engine sounds to Mechanic tuning, load audio packs, configure labels, and troubleshoot missing audio.","md",null,{},{"icon":1584},"i-lucide-audio-lines","/docs/jobs/mechanicjob/features/custom-engine-sounds",{"title":5,"description":1579},{"loc":1585},"1.docs/0.jobs/2.mechanicjob/3.features/6.custom-engine-sounds","CS40bRBySR6tzceJjjymxHEYx62axtzCFJgwR6fzWD0",[1591,1596],{"title":1592,"path":1593,"stem":1594,"description":1595,"children":-1},"Parts Theft","/docs/jobs/mechanicjob/features/parts-theft","1.docs/0.jobs/2.mechanicjob/3.features/5.parts-theft","Configure wheel and catalytic converter theft, dealer payouts, and dispatch alerts.",{"title":1597,"path":1598,"stem":1599,"description":1600,"children":-1},"Inventory Items","/docs/jobs/mechanicjob/reference/inventories","1.docs/0.jobs/2.mechanicjob/4.reference/1.inventories","Use these configurations to prepare your inventory for the Sky Mechanic Job resource.",[],1782407883085]