Thanks guys. I researched all my options and I eventually went with SimShaker for Aviators (free) + Sound Module plugin (paid). It's cheaper than buying FSUIPC license and it's targeted for exactly what I needed without a need for writing any code. FSUIPC is great for the tasks it's meant to do. But this particular niche requirement, while possible, is done easier by a targeted software. For anyone interested in adding vibration to the sim here's what I've done: it's somewhat similar to what Milan suggested, but goes further.
- I routed all MSFS audio to Voicemeeter Banana app as a default audio device.
- Voicemeeter is configured like this: main output goes to Reverb G2 VR audio device, and it's also routed to a built-in motherboard audio that is purely used for vibration and is fed to an amp and my DIY Buttkickers. I used built-in EQ with a low-pass filter to filter out everything above 60Hz so only low frequencies are passed on. This gives me general feedback and feel of an engine rumble, grass roll, rapid control surface movements and other MSFS sounds that have enough low-end to be felt. Touchdown is not one of those, it could not be felt almost entirely, and ground roll was very faint (unless it's grass) - and that's why I asked my question initially. So that's just a first step. Incidentally, I also use Voicemeeter's virtual device to process the sound output from VoiceAttack software with special profile and plugin that let me interact by voice with most MSFS functions, and from ATC software, as both use Windows Text-to-Speech that feels unrealistically clear, so it's passed through a low-cut and high-cut EQ, leaving a narrow mid-band and emulating radio sound of internal comm and ATC radios. It's routed through a bus with EQ into the Voicemeeter virtual input device, which has "listen to this device" checked in the Windows stock mixer to mix it back to main audio, routed to the G2 HMD.
- I then used SimShaker + Sound Module to send event-based vibrations directly via motherboard's built-in audio to ButtKickers. So it's mixed in with the MSFS low-end sounds and adds what I was looking for and much more: I now feel a distinct touchdown "bumps" on all 3 wheels, ground roll "bumps" (asphalt cracks, concrete expansion seams) that get faster or slower depending on the rolling speed, ground roll rumble, flaps extension/retraction vibration, lowering/raising gear vibration, lowered gear drag, turbulence shake, canopy/door thump and engine rumble (which I toned down because there is enough of it from the mixed-in MSFS sound output). I adjusted the mixing of MSFS low-end sound with SimShaker sound boost until it felt right, and all event types are individually adjustable in SimShaker.
All these together gave me amazingly realistic sensations, very seamless and authentic, as much as possible. It greatly adds to VR immersion, much more than I anticipated. It helps to trick your brain that you are really there. And it provides much needed feedback - I can now feel the touchdown moment, and feel the turbulence happening and get positive confirmation on flaps being deployed when I speak to my "copilot" to deploy them (via VoiceAttack), for example, without diverting my attention to check flap indicators. Etc. So it's both enjoyable and practical.