Skip to content

Controls, flight assist, SAS and autopilot

Input (category 08)

RFM reads the normal Reforger helicopter actions (collective up and down, cyclic, anti-torque). Analog Input (on by default) treats them as axis positions from a joystick or HOTAS. With it off they act like buttons, and Collective Rate, Control Rate and Control Centring set how fast the controls move and re-centre.

Two things that look like bugs but aren't: Reforger reports an untouched collective as 0.5, and non-centring hardware stays wherever you left it. Both are normal.

AI can't fly RFM aircraft. Vanilla AI can't fly helicopters either.

Flight assist (10D): keyboard, mouse and gamepad

The RFM HUD in flight: stick, collective and pedal positions, disc tilt, and rotor, engine and motion readouts.

The RFM HUD in flight: stick, collective and pedal positions, disc tilt, and rotor, engine and motion readouts.

Players pick their device in the game settings (Settings > RFM > Control device). Keyboard, Keyboard + Mouse and Gamepad fly through the flight assist. Joystick/HOTAS flies the controls directly, unless the player turns the assist on for it. The assist moves the same cyclic, pedals and collective a pilot would, so nothing changes in the physics underneath.

Player input What the assist does
W/A/S/D held Pitches or banks at Assist Max Rate Deg S, no angle limit. Let go and it holds whatever angle it's at. A tap is a small nudge.
Q/E (pedals) Turns the nose at up to the yaw rate. Let go and it holds the heading. On gamepad it also coordinates turns at speed.
Shift/Ctrl (collective) Climbs or descends at up to Assist Max Climb MS / Assist Max Descent MS. Let go and it holds the height.
C (vanilla autohover key) From any speed, brings the aircraft to a hover at the height it was pressed and holds it over that spot. In strong wind it turns the nose into the wind. C again or touching the cyclic cancels it.
On the ground The cyclic finds the hover position by itself, so the aircraft lifts straight up.

It also looks after the rotor. It keeps rotor load above 0.5 g so a teetering rotor doesn't get unloaded, backs off the cyclic near the flap stops, and caps the load at 2 g. A hard pushover with the cyclic can still bump the mast though.

The fields in 10D Flight Assist on the Flight component are per aircraft. The defaults are tuned for the Huey, and every tooltip tells you which way to move it:

Field Default Change it when
Assist Max Pitch Deg, Assist Max Bank Deg 20, 30 You want a different angle at full gamepad stick or mouse
Assist Max Rate Deg S 25 You want held keys to pitch and roll faster or slower
Assist Attitude Seconds 0.6 s Lower is snappier, too low and it overshoots
Assist Pitch Rate Gain, Assist Roll Rate Gain 0.025 Raise it if it feels sluggish, lower it if it wobbles fast. A really responsive aircraft like the AH-6 might want less.
Assist Attitude Integral Gain 0.01 Raise it if it settles slightly off the angle it should be at
Assist Max Yaw Rate Deg S, Assist Yaw Rate Gain, Assist Yaw Integral Gain, Assist Heading Gain 30, 0.03, 0.05, 1.5 Pedal response and heading hold
Assist Max Climb MS, Assist Max Descent MS 6, 5 m/s Collective key climb and descent rates
Assist Collective Gain, Assist Collective Integral Gain, Assist Height Hold Gain 0.1, 1.5, 0.5 How hard it chases the climb rate and holds height
Assist Autohover Deg Per MS 3 Nose-up or bank per m/s of ground speed while stopping. Higher reacts faster.
Assist Hover Drift Deg Per MS 2 Gamepad and HOTAS only, how hard it stops drift with the stick let go
Assist Stick Speed 3 The fastest it moves the stick, so it never slams the controls

Before you release a new aircraft, fly it through a lift-off, a held pitch and bank, a turn, and an autohover from speed. With Debug Log on, [RFM-ASSIST] prints the target against the actual for every axis once a second, which makes tuning way easier.

Force trim (09)

Holding the RFM_ForceTrimRelease action moves the cyclic and pedal "centre" to wherever you're holding them, like a real force trim button. Only turn on Force Trim if your aircraft actually has one.

Mixer and kinematics (10)

An optional physical control travel layer. Its pitch fields are written for a main and tail layout. Most aircraft don't need it, since the rotor pitch ranges and control maps do the same job.

Stability augmentation and autopilot (10B)

This is a limited authority system that nudges the controls to hold attitude, heading, altitude or speed. The Mi-8's AP-34B setup is a full example you can copy from.

What Fields
Master switch Stability Augmentation
Which channels start on SAS Heading / Roll Pitch / Altitude / Speed Requested
How hard each channel works SAS … Angle Gain Per Deg, SAS … Rate Gain Per Deg S, SAS Altitude Gain Per M, SAS Speed Pitch Reference Deg Per Kmh
How much control it's allowed to use SAS … Authority (fraction of full travel, the Mi-8 uses 0.2)
Output direction SAS … Output Sign (flip it if the SAS pushes the wrong way)
Pilot override Moving the pedals or collective pauses heading or altitude hold on its own (SAS Auto Pedal Contact From Pilot, SAS Auto Collective Release From Pilot)
Turning it on with the trim button With SAS Engage On Trim Release, letting go of Force Trim Release turns on roll/pitch and heading hold (altitude too, with Trim Engages Altitude) at whatever attitude, heading and altitude you're at, and trims the controls there. Press it again any time to set a new reference. A quick double press (Trim Double Press Seconds) turns every channel off and puts the force trim back to where it was before. With SAS Cyclic Contact Recapture On Settle off, moving the stick on purpose frees the attitude reference until the next trim press. The control overlay shows AP ATT/HDG/ALT, plus (free) while the attitude reference is released. A TRIM line shows how far the force trim is holding each axis off centre. The trim is separate from the autopilot, so turning the AP off doesn't clear it.
Holds that settle a little off Heading and altitude hold push harder the further off they are, so they settle a bit off target (a couple of degrees, a couple of metres). Heading Trim Follow Seconds and Altitude Trim Follow Seconds let each one slowly add its own correction until it's back on target. The number is roughly how long that takes. Moving the pedals or collective resets it. 0 = off.
Manoeuvring with attitude hold on SAS Auto Cyclic Contact From Pilot stands in for a trimmer button. Move the cyclic off its trimmed spot for Engage Seconds and roll/pitch hold follows you, keeping only Cyclic Contact Rate Damping Fraction of its damping. Hold the stick steady for Release Dwell Seconds and it holds the new attitude, like a steady bank. Heading Sync Bank Deg stops heading hold from fighting you on the pedals in a banked turn, and it holds whatever heading you roll out on.
Tuning flights While any channel is on, a [RFM-AP-CAL] line prints every Telemetry Interval with each channel's error and how much of its authority it's using (1 = maxed out).

Cockpit buttons are just normal user actions (the RFM_AP34B…UserAction classes: heading on/off, roll-pitch on, altitude on/off, trim ±1° and all off). Add them to your aircraft's ActionsManagerComponent with your own contexts, positions and labels. Easiest way is to copy the Mi-8's block and rename the UI text.

Hydraulics, servos and manual reversion (11–12)

Optional servo lag, travel, rate and force limits, plus a boost-off mode. They all default to off or unlimited. Having a value in a field doesn't turn the system on, each one has its own enable switch. Don't make up limits. Zero means unlimited.