AirshowAssistant is a toolbar for Microsoft Flight Simulator, which allows virtual pilots to create various smoke effects during flight. But unlike similar solutions, there are no aircraft type or model limitations – smoke can be added to any available aircraft, modern or legacy (FSX/P3D convert). Users have many parameters available to make the effect look like they want to, with intuitive and simple interface – color, size, density and so on.
DISCLAIMER! This tool does not support any kind of multiplayer activities. You will not see smokes and flares, created by other players, same as they will not see yours smokes and flares.
Basics video tutorial
1.1 Tab selector
Program features separated by tabs – each has its own save and load buttons, appearance parameters, control switches. Parameters of each tab do not affect each other in any way.
1.2 Preset SAVE
Send current smoke parameters for the selected aircraft to the server. You will have a dedicated record, which can be loaded anytime later by you or someone else (if the user has no preset saved yet). Copying data from one aircraft model to another is not supported. Once the button is pressed, you will get a message about the result – a new record will be created (if you never saved data for this aircraft before) or an existing update.
1.3 Preset LOAD
Load smokes preset from the server. If you have saved smokes data for current aircraft before, this record will be loaded. Otherwise, parameters made by someone else will be loaded, if such a record exists.
1.4 Preset name
This value is optional and may help to restore your presets in case of MSFS reinstall. This value is private and visible only for tool creators.
1.5 Smoke source parameters copy
You can copy parameters of the selected smoke source (all except positions) to use it for another source.
1.6 Smoke source parameters paste
Button becomes available after you copy parameters of some (or same) smoke source. Once pressed, smoke appearance parameters will be applied to the selected smoke source
1.7 Smoke source parameters reset
Parameters and position of all smoke sources will be reset to default. If a smoke preset for current aircraft is injected into the program code, it will be loaded. Otherwise appearance parameters will be set in a neutral position.
1.8 Smoke valid appearance indicator
By default, it is set to VALID. If you experience any problems of current aircraft compatibility with AirshowAssistant (preset can’t be saved or loaded, source position adjustment does not work properly, wrong smoke appearance) you can toggle it to REPORT and press SAVE (1.2). We will collect such data and investigate possible issues for aircraft with most issues reported.
1.9 Smoke source indicators
Click on the smoke source which you wish to edit. Once selected, the border color will change to the blue. Circle background color is the same as relative smoke. Click on selected source to finish edit – appearance options and position indicator will disappear.
1.10 Smoke source position modifiers
When any smoke source is selected, arrows can be used to adjust longitudinal, lateral and vertical positions, and also pitch and heading angles. During adjustment you will see the smoke source indicator as a grey cylinder in the shape of an arrow, which points to the direction of the smoke trail. You can hold each of the buttons to move the source quickly, or press it once for precise positioning.
1.11 SMOKE ON master switch
Once toggled on, all active sources will start to generate smoke.
1.12 SHORT smoke
This type of smoke has high initial velocity, high density but low lifetime. It’s good for the high velocity aircraft, can be used together with Ribbon smoke effect to cover a bad looking appearance, or as such an effect as engine exhaust. It can’t be used together with TRAIL smoke.
1.13 RIBBON smoke
Most FPS friendly, but the worst looking effect. It appears as a partially transparent ribbon with a smoke texture, which does not look properly from certain angles or low speed maneuvers (like aerobatics).
1.14 TRAIL smoke
Very FPS consuming but good looking smoke effect. Unlike SHORT smoke, particles generated during aircraft movement, not continuously, make it less dense. Maximum lifetime is about 5 minutes, but do not forget about particles limit – 10,000 per effect. If you set maximum lifetime and minimum size at the same time you will exceed the limit and smoke will appear with intervals.
1.15 PYRO sparks generator
Visual effect suitable for night/evening air shows. Sparks do not react on color selector. May be used together with other smoke sources.
Controls the amount of time particles will stay visible. Maximum values for each:
SHORT 9 seconds
TRAIL 300 seconds
RIBBON 60 seconds
PYRO 10 seconds
As smoke trail changes visually during lifetime, this parameter will also affect others – like opacity (sprites will disappear earlier) and smoke spread (trail will become wider earlier).
Controls transparency of the smoke particles. Higher value will make smoke visually more dense.
Change initial velocity of the smoke particles. Ribbon and trail are affected less when aircraft move slowly, while others always have the same initial velocity all the time.
Higher value temporarily makes smoke lifetime less and size larger while aircraft fly with a high angle of attack, to simulate vortices. Does not affect ribbon or pyro effects.
Controls particles size and appearance rate – larger particles appear with less interval. When smoke covers more screen space then more performance drop you will experience.
1.21 SMOKE SPREAD
Makes the smoke tail wider. Same performance drop if smoke covers too much screen area.
Controls particle generation rate. Less value makes smoke less dense and small gaps may appear. With higher values you may reach particle limit so large intervals may appear.
1.23 COLOR PICKER
Choose color for selected smoke source.
1.24 DEVELOPER MODE
Will replace button labels with local var names. If you are an aircraft developer, you can use these L vars to toggle various tool features – like smoke master switch or separate switch for each smoke source. If you wish to have smoke/flare switches working in your favorite aircraft, please provide this information to the developer.
You can attach aircraft events to the smoke buttons. Script will capture event change and toggle related features, when keyboard or joystick button pressed, or when replay tool is used which will toggle these events automatically.
List of available events (check MSFS controls settings to find actual hotkey): Light switches, Parking brake, Ballast valve (for custom ballast dump effect), Water rudder handle, Engine #1 Throttle lever (for engine exhaust effect). ATTENTION! Not every aircraft has all the light available, some light switches may work for one aircraft and do not for another.
Example how to configure Landing light hot key for SMOKE ON button:
- Start the flight
- Open controls settings
- find Landing light hotkey for keyboard, default – Ctrl + L
- Close settings, in AirshowAssistant window click on A icon near to SMOKE ON button, it became orange
- Press Ctrl + L on keyboard, icon became green – event was captured
- During flight press Ctrl + L once, it will toggle the smoke
- To clear hotkey, click on the green A icon near SMOKE ON button
You have several ways to scroll the window when content does not fit into the window:
- Scroll bar drag (known issue – if you use gamepad, sometimes it’s not possible to drag the bar with circle cursor as system trying to resize the window instead)
- Mouse wheel, while cursor inside of the window
- Up and down arrows of the gamepad, while you have focus on the window (press A on any spot of the AirshowAssistant first, then scroll)
2.1 Tab selector
2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.10 Same as smoke, only for flares data
2.9 Flare dispensers
Engaged dispenser squares have backgrounds in the same color as a fare smoke. Each dispenser has 32 “slots” which decreases on each flare launch. When flare burns out and smoke completely disappears, its slot will be restored. How fast flares are restored depends on the LIFETIME value (lower value – faster recovery, higher – longer).
2.11 Flares master button
Toggle to initiate flares launch. After the amount of configured series will launch, the button deactivates automatically.
2.12 Dispenser armed
Toggle to activate or deactivate selected dispenser
2.13 Flares per series
Amount of flares in each series. Delay between launches is about 1/10 of a second.
Amount of series, until flares launch will be cancelled. Delay between series about 1 second.
Initial velocity of the flare, high value will cause faster launch and longer smoke trail (may affect FPS)
Configure launch trajectory deviation, lower value will make flares fly exactly the same path, higher – in opposite directions.
2.17 Air resistance
How fast the flare will decelerate after launch. Lower value will make flares fly longer distances, higher – slow down right after launch.
2.18, 2.20, 2.21, 2.22, 2.25 Same as SMOKE tab
Set flare lifetime, up to 40s. 50% is a flare burn out timer, and 50% is a smoke trail disappearance. Lower value will make smoke trail shorter and dispenser recovery faster, higher – smoke trail longer (FPS impact) and slower dispenser recovery.
Configure how fast the flare will fall down. Lower value will make a flare hover in the air, higher – fall like a rock (longer smoke trail, more FPS drop).
2.24 Color picker
Set smoke color of the flares (same for all dispensers)
XBOX Installation process
When you just install add-on from MSFS marketplace, you need to restart the game, otherwise you will get “WASM script is not running” red screen error. Opening main screen and going back is not enough – it stays in the memory (“Quick resume” mode). You have to quit it once, then launch from scratch and issue will be sorted. It’s not some bug but the way how MSFS works – WASM script should be compiled after installation and loaded into virtual file system during game loading.
To close the game:
- press Xbox button
- Select MSFS from the games list
- Press Start button
- select Quit and press A
- Launch MSFS, you will go through loading screen instead of quick resume
- multiplayer mode is not supported, you are the only one who will see smokes and flares, created by AirshowAssistant
- after add-on installation or update you have ot restart MSFS to make WASM script work; for XBOX – also remove it from Quick resume list. it’s system limitation and unlikely will be ever fixed
- significant FPS drop when TRAIL smoke used or much flares launched
- smoke may visually shake, mostly during low level flight or when flare touch the ground
- pyro sparks partially visible at certain angles of view
- flares does not have smoke trail during replay by Asobo replay tool
- some UI elements not clickable because of too wide resize border (only when cursor controlled by gamepad)
- you may lost access to your presets in case of failed MSFS update (together with accessibility settings); if it happen, type the name you had before in the field near to SAVE button, press SAVE during flight on any aircraft, send a message to us with request to copy your old presets to your new ID
- presets can’t be saved/loaded during flight on specific aircraft, in this case toggle VALID button and press SAVE, then send a message with request to investigate issue (name aircraft and name)
- flares light up the cockpit
For aircraft developers
You may configure your aircraft to interact with tool by changing LVars with custom switches. Most important LVars are L:TC_AIRSHOW_SMOKE_MASTER and L:TC_AIRSHOW_DISPENSER_LAUNCH. Full list of variables you can find by toggling DEVELOPER MODE (1.24) – all the button labels will be changed to variable names, also list of variables will appear during preset save.
Example of the switch XML code, which toggles smoke:
<!-- AIRSHOW SMOKE TOGGLE --> <Component ID="SMOKE_SWITCH" Node="switch_smoke"> <UseTemplate Name="ASOBO_GT_Switch_Code"> <ANIM_NAME>switch_smoke</ANIM_NAME> <ANIM_CODE>(L:TC_AIRSHOW_SMOKE_MASTER, bool) 100 *</ANIM_CODE> <ANIM_LAG>500</ANIM_LAG> <ANIMTIP_0>Enable airshow smoke</ANIMTIP_0> <ANIMTIP_1>Disable airshow smoke</ANIMTIP_1> <LEFT_SINGLE_CODE>(>L:TC_AIRSHOW_SMOKE_MASTER, bool) ! (L:TC_AIRSHOW_SMOKE_MASTER, bool)</LEFT_SINGLE_CODE> </UseTemplate> </Component>
Full list of localvars:
L:TC_AIRSHOW_SMOKE_MASTER L:TC_AIRSHOW_SMOKE_LEFT_SHORT L:TC_AIRSHOW_SMOKE_LEFT_TRAIL L:TC_AIRSHOW_SMOKE_LEFT_RIBBON L:TC_AIRSHOW_SMOKE_LEFT_PYRO L:TC_AIRSHOW_SMOKE_LEFT_T L:TC_AIRSHOW_SMOKE_LEFT_S L:TC_AIRSHOW_SMOKE_LEFT_A L:TC_AIRSHOW_SMOKE_LEFT_W L:TC_AIRSHOW_SMOKE_LEFT_V L:TC_AIRSHOW_SMOKE_LEFT_D L:TC_AIRSHOW_SMOKE_LEFT_X L:TC_AIRSHOW_SMOKE_RIGHT_SHORT L:TC_AIRSHOW_SMOKE_RIGHT_TRAIL L:TC_AIRSHOW_SMOKE_RIGHT_RIBBON L:TC_AIRSHOW_SMOKE_RIGHT_PYRO L:TC_AIRSHOW_SMOKE_RIGHT_T L:TC_AIRSHOW_SMOKE_RIGHT_S L:TC_AIRSHOW_SMOKE_RIGHT_A L:TC_AIRSHOW_SMOKE_RIGHT_W L:TC_AIRSHOW_SMOKE_RIGHT_V L:TC_AIRSHOW_SMOKE_RIGHT_D L:TC_AIRSHOW_SMOKE_RIGHT_X L:TC_AIRSHOW_SMOKE_BOTTOM_SHORT L:TC_AIRSHOW_SMOKE_BOTTOM_TRAIL L:TC_AIRSHOW_SMOKE_BOTTOM_RIBBON L:TC_AIRSHOW_SMOKE_BOTTOM_PYRO L:TC_AIRSHOW_SMOKE_BOTTOM_T L:TC_AIRSHOW_SMOKE_BOTTOM_S L:TC_AIRSHOW_SMOKE_BOTTOM_A L:TC_AIRSHOW_SMOKE_BOTTOM_W L:TC_AIRSHOW_SMOKE_BOTTOM_V L:TC_AIRSHOW_SMOKE_BOTTOM_D L:TC_AIRSHOW_SMOKE_BOTTOM_X L:TC_AIRSHOW_SMOKE_TAIL_SHORT L:TC_AIRSHOW_SMOKE_TAIL_TRAIL L:TC_AIRSHOW_SMOKE_TAIL_RIBBON L:TC_AIRSHOW_SMOKE_TAIL_PYRO L:TC_AIRSHOW_SMOKE_TAIL_T L:TC_AIRSHOW_SMOKE_TAIL_S L:TC_AIRSHOW_SMOKE_TAIL_A L:TC_AIRSHOW_SMOKE_TAIL_W L:TC_AIRSHOW_SMOKE_TAIL_V L:TC_AIRSHOW_SMOKE_TAIL_D L:TC_AIRSHOW_SMOKE_TAIL_X L:TC_AIRSHOW_DISPENSER_LAUNCH L:TC_AIRSHOW_DISPENSER_LEFT_ARMED L:TC_AIRSHOW_DISPENSER_RIGHT_ARMED L:TC_AIRSHOW_DISPENSER_BOTTOML_ARMED L:TC_AIRSHOW_DISPENSER_BOTTOMR_ARMED L:TC_AIRSHOW_DISPENSER_COUNT L:TC_AIRSHOW_DISPENSER_T L:TC_AIRSHOW_DISPENSER_SERIES L:TC_AIRSHOW_DISPENSER_S L:TC_AIRSHOW_DISPENSER_VELOCITY L:TC_AIRSHOW_DISPENSER_A L:TC_AIRSHOW_DISPENSER_ACCURACY L:TC_AIRSHOW_DISPENSER_W L:TC_AIRSHOW_DISPENSER_RESISTANCE L:TC_AIRSHOW_DISPENSER_GRAVITY L:TC_AIRSHOW_DISPENSER_D
Formation flying tab, up to 3 wingmen (same aircraft type/livery as yours).
- radar or collision awareness indication (smokes source invisible object not inserted until smoke is enabled)
- critical performance drop while a lot of flares launched
- red screen WASM error never disappear
- dark flare sphere appear in front of glare texture
- color picker overlaps with resize border of window
- some smokes disappear at short distance
- flares launch interval is too long
- flares false hotkey launch while on ground