Changelog
This document records the notable, user-facing changes to Realistic Helicopter Controller Pro (RHCP). It follows the Keep a Changelog conventions and Semantic Versioning (MAJOR.MINOR.PATCH). Each entry describes what changed from your perspective as a Unity developer using the asset, not the internal development process.
How to read this changelog
Entries are grouped under standard headings — Added (new capabilities), Changed (behavior that differs from a previous release), Removed (things that no longer exist), and Notes (context, compatibility, and migration guidance). The most recent release is listed first. Because version 2.0.0 is a complete ground-up rebuild rather than an update to the 2018 asset, its Notes section is unusually detailed; read it before assuming any familiarity carried over from the original product.
Concrete requirements — Unity version, supported render pipelines, the New Input System dependency — are repeated in each release entry so the changelog is self-contained, but the canonical, always-current statement lives in Installation.
[2.0.0]
The 2.0.0 release is a complete, ground-up rebuild of the original 2018 Realistic Helicopter Controller for Unity 6. Nothing of the old single-script, legacy-input design remains in the shipping code: the flight model, input layer, cameras, HUD, and editor tooling were all written fresh under the BoneCrackerGames.RHCP namespace with the RHCP_ type prefix. Treat this as a new product rather than an upgrade — see the Notes below for the full compatibility picture.
Added
-
Modular helicopter architecture (hub + modules). A central
RHCP_Helicopterhub owns theRigidbody, dispatches the per-physics-step update to its modules, and exposes flight telemetry and events as read-only API. Behavior is split into focused, separately-attachable components —RHCP_Rotor,RHCP_Engine,RHCP_Damage,RHCP_Audio, andRHCP_VFX— instead of one monolithic controller. This makes the asset extensible: you can subclass or replace a single module without touching the rest of the stack. -
Physically-grounded flight model. Lift is produced by an actual tilting rotor thrust vector rather than by faking attitude-proportional forces, so the helicopter responds the way you would expect from real controls. Collective (your vertical-lift control) scales the thrust magnitude; cyclic (your pitch-and-roll control) tilts the rotor disc to move the aircraft; and the anti-torque pedals (your yaw control) counter the rotor's reaction torque. The model also simulates ground effect (extra lift when hovering near the ground), translational lift / ETL (an efficiency gain once you build forward airspeed), engine torque reaction, and aerodynamic drag and damping.
-
Engine state machine.
RHCP_Engineruns a realistic Off → Starting → Running → Shutdown cycle: the rotor spools up over a start curve instead of snapping to full RPM, a governor holds RPM under load with droop, and on shutdown the rotor freewheels down rather than stopping instantly. The engine drives the rotor through a one-way coupling and publishes torque and governor telemetry you can read or display. -
Arcade ↔ realistic tuning axis (
profileBlend). A single slider onRHCP_FlightConfigblends the helicopter from forgiving arcade handling toward unassisted realistic flight. Toward the arcade end you get auto-leveling attitude assistance, automatic torque compensation, and ground-effect forgiveness; toward the realistic end those assists fade out and you fly the raw model. This lets one airframe serve both a casual game and a study-style sim without swapping components. -
Accessible flight tuning (Basic / Expert). The flight-config inspector offers a Basic mode that lets a non-pilot configure a helicopter in outcome terms — climb power, top speed, roll/pitch/yaw rates, bank limit, flight style, and responsiveness — while Expert mode keeps the full unchanged detail view. A Performance Envelope readout shows the estimated (edit-mode) or measured (Play-mode) numbers, and a Calibrate to targets button flies the real airframe and iterates the underlying fields until the measured rates hit your targets. See Flight Tuning.
-
Editor Tooling Suite (the headline feature). A full suite of editor tools, all Undo-correct and multi-edit-safe, so you can configure a helicopter without hand-wiring components:
- Setup Wizard — turns a bare imported model into a validator-clean, flyable helicopter in a few guided steps, generating a rotor-aware collider and assigning the camera rig, with no manual component wiring. See Setup Wizard.
- Validator — a rule engine that scans your helicopter for misconfigurations and offers one-click fixes (or a documented manual fix) for each, available both as a window and as an inline strip in the component inspectors. See Editor Tools.
- Project Doctor — checks your project-level setup (input handler, render pipeline, color space, Unity version, TextMeshPro, and dependencies) and offers dialog-gated fixes.
- Custom inspectors — every runtime component ships a branded, tooltip-rich inspector instead of Unity's default; the hub inspector adds Validate/Wizard buttons and a live telemetry foldout.
- Scene gizmos and handles — visualize and edit center of mass (a draggable handle), rotor axes, ground-sensing rays, the camera rig, and boundary volumes directly in the Scene view, each toggleable.
-
Welcome window and menus — a first-import welcome screen plus a full menu tree under Tools ▸ BoneCracker Games ▸ RHCP and the GameObject menu.
-
New Input System support with a provider interface. All input runs on Unity's New Input System through a ships-with
RHCP_InputActionsasset and theIRHCP_InputProviderinterface, sampled inUpdateand consumed inFixedUpdate. Keyboard & mouse and gamepad bindings are included, with lockable Flight / Camera / Demo action maps and a counted input-lock API so UI or cutscenes can suspend control cleanly. The input layer also manages OS-cursor capture so mouse motion drives the cyclic instead of moving the pointer off-window. See Controls and Input. -
Layered camera system. A satellite camera rig provides Chase, Cockpit, and Orbit modes that you can cycle at runtime, with collision-aware spring-arm behavior (the camera pulls in to avoid clipping terrain and buildings), orbit-and-zoom with recenter-to-tail, procedural and impulse camera shake (rotor breathing, ground wash, crash punch), banking roll / horizon lock, and acceleration sway and FOV kick — all configurable from a
RHCP_CameraConfigasset and tunable so the default reproduces a clean, simple follow camera. See Cameras. -
uGUI + TextMeshPro HUD. A resolution-independent flight HUD built on uGUI and TextMeshPro reads live telemetry from the hub and includes an altimeter, airspeed, vertical-speed, rotor-RPM and torque gauges, an artificial horizon, a compass, an engine-state indicator, and a warning light. Widgets are change-detected and allocation-free, units are switchable (metric/aviation), and a safe-area handler and visibility groups keep the layout correct across aspect ratios. See HUD and Mobile UI.
-
Mobile touch controls. On-screen collective, cyclic, and pedal controls (plus engine and camera buttons) ship as a touch UI that presents itself as a virtual gamepad, so it reuses the same input bindings as physical hardware with no separate code path. The controls support activation/idle-fade and small/medium/large scaling and only appear on touch devices. See HUD and Mobile UI.
-
Dual render-pipeline support (Built-in + URP). The asset is built to run on both the Built-in Render Pipeline and the Universal Render Pipeline (URP), and the Project Doctor detects your active pipeline. HDRP is not supported.
-
Demo scene and settings panel. A ready-to-fly demo scene ships with the hero Maverick airframe, the camera rig, and the HUD wired to live telemetry. An in-scene settings panel lets you change invert/sensitivity, camera mode, quality, control scale, and units at runtime; these write to runtime component state and
PlayerPrefsand never modify your saved ScriptableObject assets. A demo controller handles restart and HUD toggling.
Changed
-
The entire product was rebuilt; nothing is API- or asset-compatible with the 2018 release. Type names, the namespace, the component layout, the input mechanism, and the flight math are all new. There is no in-place migration from the original asset — you set up helicopters fresh using the Setup Wizard. If you previously used the 2018 asset, treat
2.0.0as an unrelated package. -
Flight feel is tuned from scratch. The original asset's handling was not used as a tuning target (its intended feel was ambiguous and bug-affected); the new model is tuned against arcade-to-realistic archetypes via the
profileBlendaxis and the Basic/Expert tuning tools rather than reproducing the old behavior. -
No project-settings dependencies. The asset adds no custom tags, layers, or input axes. Boundary detection that previously relied on tags is now provided by the
RHCP_BoundaryZonecomponent, so importing the asset does not require you to edit your Project Settings.
Removed
-
Legacy Input Manager support. The asset uses the New Input System exclusively; the original legacy-input code paths are gone. Your project's Active Input Handling must include the Input System (see Notes).
-
The 2018 single-script controller, OnGUI dashboard, and legacy demo content. The original
ChopperControllergod-class, its cameras, its health and joystick scripts, the OnGUI dashboard, the old demo scene and hero prefab, and the legacy tags were all removed. The shared art content (the helicopter model, materials, sounds, and particle effects) was retained and reused by the new components.
Notes
-
This is a complete v2.0 rebuild of a deprecated 2018 asset, targeting Unity 6. The original asset was Unity 4.x-era code that could no longer be supported;
2.0.0is a fresh implementation for modern Unity. Expect none of your old code, prefabs, or scenes from the 2018 product to interoperate with it. -
Requirements. Built and tested on Unity 6000.3.6f1 (Unity 6.3), with that as the supported floor. The asset runs on the Built-in Render Pipeline and URP; HDRP is not supported. Active Input Handling must include the New Input System (legacy-only projects are not supported) — the Project Doctor flags this and offers to fix it. If you hit setup problems, start with Troubleshooting and the FAQ.
-
The Input System is a hard dependency.
2.0.0relies on Unity's Input System package being present and active. After importing, run the Project Doctor (or the Welcome window) so it can confirm your input handler setting; changing Active Input Handling requires an editor restart to take effect. -
TextMeshPro is required for the HUD. The HUD renders text via TextMeshPro, so its Essential Resources must be imported into your project. The Project Doctor's TMP check covers this on a fresh import.
-
Versioning going forward. This release establishes the
2.0.xline under Semantic Versioning. Future patch releases (bug fixes) and minor releases (additive, backward-compatible features) will be added above this entry as separate sections.