(!) Removed the TransmissionGearingProfiles and removed them with a simple list. The gearing profile will still stay serialized and will automatically be converted into the list, so the upgrade should not require re-assigning the gears.
(!) PowertrainComponents will need to have the outputs re-set due to the changes to the way outputs are serialized.
(!) Rework of the multiplayer. Vehicles are now simulated both on server and client side, with only the minimal state being transferred over. This adds a lot of flexibility and it is easier to implement authoritative server approach.
Major powertrain cleanup, esp. EngineComponent and TransmissionComponent. Better gear shifting, fixes stalling on braking, overrevving on braking, smoother shifting with gradual clutch engagment/disengagement, shift point is now at the mid of the shift timer instead of the start, and more.
Validate is now run on each variable change in the inspector, immediately throwing a warning if there is an issue. Changed the Validate() function to not be verbose if there are no issues.
Added prefixes of VC_ to VehicleComponent functions to prevent confusion with MonoBehaviour ones (e.g. VC_FixedUpdate, VC_Update, etc.).
Vehicle and VehicleController script cleanup.
[NUI] Contents of VehicleComponents that are OFF are no longer drawn in the inspector.
SoundComponent improvements. Only one AudioSource per SoundComponent is now possible.
Moved wheel sounds (skid, wheel noise) to only have one AudioSource each, instead one per wheel. Dominant surface sounds are played (the surface the most wheels are on). Saves a lot of resources and sounds better.
Moved most of the systems to be event-based instead of update-based.
VehicleComponent VC_Update and VC_FixedUpdate are no longer called on inactive components, and VC_Validate is not called on components that are Off.
Removed Arcade clutch type since it does about the same thing as the Realistic clutch type.
Updated the StateSettings to find the modules outside of the NWH.VehiclePhysics2 assembly, which means modules can now be placed anywhere in the project.
Fixed Engine > Stalling Enabled = false having no effect.
SoundComponents that do not have Clips assigned now get automatically turned OFF.
EngineComponent 'maxLossTorque' was removed in favor of automatic calculation of losses.
Fixed disabled SoundManager or EffectsManager still running some functions on the VehicleComponents that are their children and enabled.
Skidmark bug fixes and optimization.
BrakeOffThrottle option was removed. Set the BrakeOffThrottleInstensity to 0 to disable braking off throttle instead.
ClutchComponent now has three control types: Automatic, User Input and Manual.
EngineStartComponent was renamed EngineStartStopComponent as it supports both start and stop sounds.
Changes to Electric EngineComponent. Generated torque is now constant which is more accurate.
Rewrite and simplification of the ForcedInduction. RPM parameters were removed and only boost is now used.