FLX Mods Plugin

FLX Truck Smoke Plugin

Dynamic diesel exhaust smoke for compatible American Truck Simulator trucks, controlled by engine load and fully adjustable through a simple configuration file.

Plugin version 1.1 ATS 1.60 & 1.61 Windows x64

01 Overview

FLX Truck Smoke adds controllable diesel exhaust smoke to trucks prepared for the plugin. Instead of enabling smoke from pedal position alone, the controller estimates engine demand from the simulation's fuel rate and RPM values.

A compatible truck mod is required

The plugin controls when smoke is emitted, but it does not add exhaust locators, particle models, or textures to a truck by itself. The selected truck must include a compatible smoke hookup and exhaust Model Locator.

This separation allows the plugin to control realistic emission timing while each truck mod retains its own exhaust position and visual particle design.

02 Features

Dynamic behavior

Engine-load-based smoke

Emission responds to approximate engine load instead of being tied directly to pedal position.

Realistic cutoff

RPM-controlled emission

Smoke starts inside a defined RPM range and stops at the configured upper RPM limit.

Optional installation

The plugin is optional

The truck mod remains fully usable without the plugin. Only the FLX load-based smoke control will be unavailable.

User control

Simple INI configuration

Load, fuel-rate safeguards, and RPM thresholds can be changed without recompiling the plugin.

Driving support

Cruise-control compatible

Because pedal input is not mandatory, engine load can trigger smoke while cruise control is active.

Mod flexibility

Custom particle designs

Compatible mods can provide different PMDs, looks, colors, generator counts, and exhaust layouts.

03 Requirements

  • American Truck Simulator for Windows x64.
  • A supported game build. Version 1.1 has been validated on ATS 1.60 and 1.61.
  • A compatible truck or smoke mod containing the required particle hookup, model assets, and exhaust locator.
  • Permission for the game to load third-party Telemetry SDK plugins.

04 Download and installation

Close American Truck Simulator before installing or replacing the plugin.

Download FLX Truck Smoke Plugin

  1. Download the plugin ZIP file.
  2. In Steam, open Library → American Truck Simulator → Manage → Browse local files.
  3. Open bin/win_x64/plugins. Create the plugins folder if it does not exist.
  4. Extract flx_truck_smoke.dll and flx_truck_smoke.ini directly into that folder.
  5. Start the game and accept the Telemetry SDK warning if it appears.

The final paths should be:

gameroot/bin/win_x64/plugins/flx_truck_smoke.dll
gameroot/bin/win_x64/plugins/flx_truck_smoke.ini

Example Steam installation:

C:\Program Files (x86)\Steam\steamapps\common\American Truck Simulator\bin\win_x64\plugins\flx_truck_smoke.dll
C:\Program Files (x86)\Steam\steamapps\common\American Truck Simulator\bin\win_x64\plugins\flx_truck_smoke.ini
Avoid an extra nested directory

The files should be directly inside plugins, not inside plugins/flx_truck_smoke_plugin/.

05 Verify the installation

After the game reaches the main menu, open:

Documents\American Truck Simulator\game.log.txt

Search for:

[flx_truck_smoke] Smoke plugin by FLX Mods loaded successfully!

If this message is present and no plugin error follows it, the DLL loaded correctly. Next, select a compatible truck, apply load while driving below the upper activation RPM, and inspect the exhaust outlets.

06 How smoke behavior works

The plugin calculates an approximate load value from the engine's internal fuel rate and RPM. With the default settings:

  • Smoke can start when approximate load reaches 6.50.
  • It remains active until load falls to 5.50.
  • A new emission can start from 700 through 1849 RPM.
  • Once active, emission can continue through the RPM hysteresis band.
  • Emission is forced off at 1900 RPM.
  • Throttle position is not required to remain above a fixed percentage.

The difference between the start and stop values prevents the effect from repeatedly switching on and off when engine load fluctuates close to one threshold.

Smoke may not appear while free-revving

Pressing the accelerator while parked or in neutral does not always create enough engine load. Test while driving in gear, preferably under acceleration or while pulling weight.

07 Configure smoke activation

Edit flx_truck_smoke.ini with Notepad or another plain-text editor. The file must remain beside the DLL.

[smoke]
truck_load_on=6.50
truck_load_off=5.50
combustion_floor_on=0.00200
combustion_floor_off=0.00150
rpm_min=700.0
rpm_enable_max=1850.0
rpm_max=1900.0
SettingDefaultPurpose
truck_load_on6.50Approximate engine-load threshold required to start emission.
truck_load_off5.50Load threshold that stops an active emission. Keep it below or equal to the start value.
combustion_floor_on0.00200Minimum raw fuel-rate safeguard required when smoke starts.
combustion_floor_off0.00150Raw fuel-rate safeguard that can stop an active emission.
rpm_min700.0Minimum RPM at which a new emission can begin.
rpm_enable_max1850.0Maximum RPM below which a new emission can begin.
rpm_max1900.0Upper cutoff that forces an active emission to stop.
  • Use a period as the decimal separator: 6.50, not 6,50.
  • Restart the game after editing the INI.
  • Back up your working INI before experimenting.
  • These load values are plugin units, not percentages from 0 to 100.

Invalid or inverted setting groups are restored to safe defaults, and the plugin records a warning in game.log.txt.

08 Particle customization

The INI controls when smoke is active. The truck mod's particle hookup controls how the smoke looks, including color, density, size, motion, lifetime, and texture.

In FLX-compatible packages, the hookup is normally located at:

/unit/hookup/truck_smoke_flx.sii

The exact filename may vary between truck mods. Inside a packed mod it may be found in a file such as Peterbilt-359-DEF.scs. Make a backup before editing because a mod update can overwrite your changes.

  • particles_max_count controls density.
  • particle_size and scale_acc control size and growth.
  • time_to_live controls particle lifetime.
  • flow_speed and flow_speed_acc control motion.
  • key_color and base_alpha control color and opacity.
Advanced modding documentation

Truck authors who need to add the hookup, particle assets, or exhaust locator should follow the FLX Truck Smoke Mod Integration Tutorial.

09 Compatibility

Plugin version1.1
Validated ATS versions1.60 and 1.61
PlatformWindows x64

Confirmed compatible truck mods

  • Peterbilt 359 — FLX Mods
  • Peterbilt 367 — LMS Mods
  • Jon Ruda truck mods
  • Peterbilt 389 — Pinga Mods

Other trucks can work when their mod includes a compatible truck.smoke.* particle hookup, the required particle assets, and a Model Locator at the exhaust outlet. Installing the plugin alone does not add these model components to an unprepared truck.

10 Update or uninstall

Updating

  1. Close American Truck Simulator.
  2. Back up your customized flx_truck_smoke.ini.
  3. Replace the old DLL with the new release.
  4. Review the new INI for added settings before restoring custom values.
  5. Start the game and verify the plugin load message.

Uninstalling

Close the game and delete:

bin/win_x64/plugins/flx_truck_smoke.dll
bin/win_x64/plugins/flx_truck_smoke.ini

11 Troubleshooting

The plugin load message is missing
  • Confirm both files are directly inside bin/win_x64/plugins.
  • Check that the ZIP did not create an extra nested folder.
  • Confirm that Windows did not block the downloaded DLL.
  • Review game.log.txt for Telemetry SDK or plugin loading errors.
The plugin loads, but there is no smoke
  • Use a truck mod listed as compatible or prepared for the plugin.
  • Test while driving in gear under engine load.
  • Keep RPM below 1850 when starting a new emission.
  • Check the truck mod for missing particle PMD, PMG, materials, TOBJ, or DDS files.
  • Check game.log.txt for hookup or model errors.
Smoke works on one truck but not another

The second truck likely does not contain the required hookup, particle assets, or exhaust Model Locator. Compatibility must be included by the truck or smoke mod.

Smoke stops near 1900 RPM

This is the default intended behavior. Increase rpm_enable_max and rpm_max carefully if a higher cutoff is desired. Keep rpm_enable_max less than or equal to rpm_max.

Changes to the INI are ignored
  • Confirm the filename is exactly flx_truck_smoke.ini.
  • Keep it in the same directory as the DLL.
  • Use periods as decimal separators.
  • Restart the game after saving changes.
  • Review game.log.txt for an invalid-value warning.
The plugin stopped working after a game update

A game update may have changed one of the simulation routines located by the plugin. Check game.log.txt for signature or hook errors and install a newer plugin release when available.

FLX Truck Smoke Plugin is developed by FLX Mods.

FLX Mods Documentation

Adding FLX Truck Smoke to an ATS Mod

A complete integration guide covering plugin installation, particle assets, the vehicle_particle hookup, exhaust Model Locators, configuration, testing, and troubleshooting.

American Truck Simulator Windows x64 Modding tutorial
Required hookup prefix

The plugin recognizes smoke particle units whose names begin with truck.smoke.. The suffix is selected by the mod author, for example truck.smoke.flx, truck.smoke.ksw, or truck.smoke.mytruck.

  1. InstallPlace the DLL and INI in the game plugin directory.
  2. DefineAdd a vehicle-particle hookup and all required assets to the mod.
  3. ConnectAssign the exact hookup name to each exhaust Model Locator.

01 Install the plugin

Copy the following files to the game plugin directory:

American Truck Simulator/bin/win_x64/plugins/

flx_truck_smoke.dll
flx_truck_smoke.ini

Do not place these files inside the truck mod or an .scs archive. The DLL is loaded by the Telemetry SDK directly from the plugins directory.

After starting the game, look for this message in game.log.txt:

[flx_truck_smoke] Smoke plugin by FLX Mods loaded successfully!

02 Prepare the mod structure

Use this directory structure inside the root of your mod:

My Truck Mod/
├── manifest.sii
├── unit/
│   └── hookup/
│       └── truck_smoke_mytruck.sii
├── model/
│   └── particle/
│       └── flx/
│           ├── smoke.pmd
│           ├── smoke.pmg
│           ├── smoke1.dds
│           ├── smoke1.tobj
│           └── remaining textures and TOBJ files
└── automat/
    └── ... materials used by the PMD ...

When using the supplied FLX assets, copy the entire model/particle/flx and automat directories. The PMG, materials, TOBJ files, and textures are required alongside the PMD.

Correct hookup location

Place the SII file in /unit/hookup/, not /def/unit/hookup/. It does not need to be added to addon_hookup_storage.

03 Create or copy the hookup

You can copy the supplied truck_smoke_flx.sii and change the suffix of its main unit name.

Download the sample mod

Use this ready-made package as a starting point for adding the hookup and particle structure to your own truck mod.

Download sample_mod

This single-generator example shows the required structure:

SiiNunit
{
vehicle_particle : truck.smoke.mytruck {
 gen_array: 1
 gen_array[0]: _nameless.mysmoke.trail1
}

particle_gen : _nameless.mysmoke.trail1 {
 list_order_up: false
 blend_alpha: true
 gen_pos: (0, 0, 0)
 scale_acc: 0.025
 rotation_speed: 60
 alpha_blend_coef: 0.30
 base_alpha: 0.30
 alpha_attack_time: 0.05
 flow_speed: (0, 1.08, 0)
 flow_speed_acc: (0.03, 0.02, 0.20)
 particle_size: (0.045, 0.045)
 particle_size_var: (0.95, 0.30)
 particle_displacement: (0.05, 0.05, 0.05)
 color_multiplier: nil
 key_pos: 5
 key_pos[0]: 0
 key_pos[1]: 45
 key_pos[2]: 115
 key_pos[3]: 195
 key_pos[4]: 255
 key_color: 5
 key_color[0]: 4278190080
 key_color[1]: 4278255873
 key_color[2]: 4278255873
 key_color[3]: 4278321666
 key_color[4]: 4278321666
 time_to_live: 0.5
 time_to_live_rand: 0.20
 particles_max_count: 30
 model_path: "/model/particle/flx/smoke.pmd"
 model_look: pipe1
 relative_space: false
 use_sprites: true
}
}

This example contains one generator. To reproduce the complete FLX effect, use the supplied hookup with all seven generators.

Hookup naming rules

  • The vehicle_particle name must begin exactly with truck.smoke..
  • truck.smoke.mytruck is valid; mytruck.truck.smoke is not.
  • The full unit name must match the Hookup field of the Model Locator.
  • Choose a unique suffix to prevent conflicts with other mods.
  • Generator _nameless identifiers should also be unique across the active mod set.
truck.smoke.flx
truck.smoke.ksw
truck.smoke.lms
truck.smoke.modauthor

The suffix does not need to be registered in the DLL.

04 Check the particle model and looks

Each particle_gen block contains a model path and a model look:

model_path: "/model/particle/flx/smoke.pmd"
model_look: pipe1

model_path must point to the PMD location inside the mod. Another directory can be used, but every generator must be updated when the PMD is moved.

model_look must exist in the PMD. The current FLX hookup uses:

pipe1
pipe2
pipe3
pipe4
pipe5

A missing look, PMG, material, TOBJ, or DDS can make the particle invisible even when the plugin and hookup are working correctly.

05 Add the exhaust locator

Using SCS Blender Tools, open the model containing the exhaust pipe used in the game. The locator can be stored in the main truck model or in an exhaust accessory, provided that the corresponding PMD is instantiated by the vehicle.

  1. Create a Model Locator.
  2. Place its origin at the exhaust outlet.
  3. Enter the exact SII unit name in the Hookup field.
  4. Orient the locator toward the intended smoke direction.
  5. Export the truck model or accessory again.
Hookup: truck.smoke.mytruck

For dual exhausts, create one locator for each outlet. Both can use the same hookup. This creates one complete effect instance per exhaust and increases the total particle count.

If smoke is offset or moves in the wrong direction, first check the locator position and rotation. Then refine gen_pos, flow_speed, and particle_displacement.

06 Package and activate the mod

  1. Keep unit, model, and automat at the package root.
  2. Package the contents as .zip or .scs without adding an extra parent directory.
  3. Place the package in Documents/American Truck Simulator/mod.
  4. Enable it in Mod Manager.
  5. Make sure a higher-priority mod does not replace the truck PMD, hookup, or particle assets.
/unit/hookup/truck_smoke_mytruck.sii
/model/particle/flx/smoke.pmd
/model/particle/flx/smoke.pmg
/automat/...

If a separate base mod supplies the hookup and assets, that mod must also be active. Do not define the same truck.smoke.mytruck unit in two packages because Prism3D will report a duplicate unit.

07 Configure plugin behavior

The flx_truck_smoke.ini file beside the DLL controls when emission starts and stops:

[smoke]
truck_load_on=6.50
truck_load_off=5.50
combustion_floor_on=0.00200
combustion_floor_off=0.00150
rpm_min=700.0
rpm_enable_max=1850.0
rpm_max=1900.0
  • Engine load must reach 6.50 to start smoke.
  • Emission remains active until load falls to 5.50.
  • A new emission can start between 700 and 1849 RPM.
  • Once active, it can remain active until 1900 RPM.
  • Between 1850 and 1899 RPM, a new emission cannot start.
  • Throttle position is not a required condition.
  • Cruise control does not prevent emission.

INI changes are loaded when the game starts. Restart ATS after changing these values.

08 Test in the game

  1. Confirm the DLL load message in game.log.txt.
  2. Confirm that the mod and truck loaded without unit errors.
  3. Keep the engine between approximately 700 and 1850 RPM.
  4. Apply engine load, preferably by accelerating while in gear.
  5. Inspect every exhaust outlet.
  6. Exceed 1900 RPM and confirm that emission stops.
Testing note

A stationary, unloaded throttle test might not trigger the effect because the controller uses approximate engine load rather than pedal position alone.

09 Troubleshooting

The plugin load message is missing
  • Check that the DLL is in bin/win_x64/plugins.
  • Confirm that the Windows x64 version of the game is running.
  • Check whether Windows blocked the downloaded DLL.
  • Look for Telemetry SDK warnings or errors in game.log.txt.
The plugin loads, but there is no smoke
  • Confirm that the hookup begins with truck.smoke..
  • Confirm that the locator name exactly matches the vehicle_particle name.
  • Verify that the locator belongs to the PMD actually used by the truck.
  • Check model_path in every generator.
  • Confirm that the PMD, PMG, materials, TOBJ files, and DDS files are present.
  • Confirm that every model_look exists in the PMD.
  • Test under engine load and below 1850 RPM.
Smoke appears at the wrong position or moves in the wrong direction
  • Reposition and rotate the Model Locator.
  • Review gen_pos.
  • Review the axes used by flow_speed and flow_speed_acc.
  • Temporarily reduce the hookup to one generator for easier visual debugging.
Dust or rain is activated with the smoke

The plugin controls only vehicle_particle units whose names begin with truck.smoke.. Do not use this prefix for dust, water, rain, or other effects.

Prism3D reports a duplicate unit

Select a different hookup suffix and unique _nameless identifiers. Then update the locator Hookup field to use the new name.

10 Quick visual adjustments

  • More density: increase particles_max_count.
  • Larger initial particles: increase particle_size.
  • More growth over time: increase scale_acc.
  • Longer particle life: increase time_to_live and adjust particles_max_count proportionally.
  • More spread: increase particle_displacement.
  • Faster initial movement: increase flow_speed.
  • Acceleration or falling motion: adjust flow_speed_acc.
  • More opacity: carefully increase base_alpha.
  • Remove a layer: remove its gen_array entry and corresponding particle_gen block.
World-space smoke

Keep relative_space: false so emitted smoke remains in world space instead of staying attached to the moving truck.

FLX Smoke Plugin

The plugin is completely optional and is not required for the truck mod to work.

By installing or using this plugin, you agree to the FLX Mods Plugins Terms of Use:
https://flxmods.com/terms

Features

This plugin adds exhaust smoke support with a few features:

  • Engine load-based smoke behavior
  • Smoke dynamically reacts to the throttle acceleration.
  • Customizable smoke settings
  • Easy configuration through the plugin settings file

Download the plugin .zip file:
Download Link: Here

Extract the contents into the plugins folder located inside your American Truck Simulator installation directory.

The plugin file must be placed in:

gameroot/bin/win_x64/plugins/

This is the plugins folder located next to amtrucks.exe.

Example:

C:\Program Files (x86)\Steam\steamapps\common\American Truck Simulator\bin\win_x64\plugins\flx_truck_smoke.dll

  1. Launch American Truck Simulator and enjoy the FLX Smoke Plugin!

You can customize the smoke behavior by editing the following configuration file:

flx_truck_smoke.ini

The .ini file is located in the same folder as the plugin.

You can also customize the particle by editing the “vehicle_smoke_flx.sii” file located in Peterbilt-359-DEF.scs within the /unit/hookup directory.

You can open and edit it using Notepad or any other text editor.

After making your changes, save the file and restart the game for the new settings to take effect.

Plugin version 1.1

Game Version: 1.60 e 1.61

Trucks Compatibility:
Peterbilt 359 FLX Mods
Peterbilt 367 LMS Mods
ALL trucks  by JonRuda Mods.
Peterbilt 389 by Pinga Mods

Changelog

Version: 1.7.9.1
Launch date: 08/10/2026
Changes:

Improved smoke/roll coal textures and density!



Version: 1.7.9
Launch date: 08/07/2026
Changes:

Full functional smoke added; see Plugins page here for more details!



Version: 1.7.8
Launch date: 06/24/2026
Changes:

1.60 Compatibility;
Fixed chrome textures;
Fixed headlight flares;
Fixed dashboard lighting.



Version: 1.7
.7
Launch date: 05/19/2026
Changes:

Fixed halogen headlight normal map texture;
Updated mod file to hashfs V2 format for faster texture loading;
Fixed fake shadow glitch on lowered chassis;



Version: 1.7.6
Launch date: 02/16/2026
Changes:

Fixed exhaust shield look aluminum.
Fixed exaust Tech Nine look aluminum.
Fixed CB Radio cables position.



Version: 1.7.5
Launch date: 02/01/2026
Changes:

Fixed pink texture on the hose connectors for the trailer.
Fixed incorrect offset on the grille accessory.
Fixed a bug in the “Classic” steering wheel normals.
Compatibility checked with version 1.58.


Version: 1.7.4
Launch date: 12/16/2025
Changes:

Fixed Sidelights textures issue.


Version: 1.7.3
Launch date: 12/15/2025
Changes:

Fixed an issue with the grill accessory.
Fixed an issue with the texture and variation of the tank accessory.
Fixed bug in the front wheel offset on the extended chassis.



Version: 1.7.2

Launch date: 11/26/2025
Changes:

Fixed a texture issue on some accessories.
Fixed Watermelon lights issue.
Fixed CB Radio cables position.



Version: 1.7

Launch date: 11/24/2025
Changes:

Rain drops fix;
1.57 Compatibility.



Version: 1.6

Launch date: 10/18/2025
Changes:

1.56 compatibility;
Dashboard lights fix.