Changelog
For upgrade notes click here.
13.2
04/10/2024
- Added chassisTorqueCoefficient to the WC3D to replace the previous anti-squat setting.
- Fixed wheel steer angle issues when caster angle is present.
- Fixed NonRotatingVisual rotation when there is camber.
- Made toe and caster angle not apply by default (which overrides any value set in transform inspector).
13.1
14/09/2024
- New ground detection that does not require layer setup.
- Fixed suspension extension speed not being applied.
- Physics CPU usage reduction of ~10% (more for vehicles with many colliders).
- WheelControllers connected by joint to the vehicle now get woken up too when the vehicle wakes up.
- TargetRigidbody is now automatically found on parent, inspector field removed.
- Moved trailer joint to the towing vehicle from the trailer.
13.0
09/09/2024
- New longitudinal friction calculation.
- New squat torque calculation, removed anti-squat.
- Fixed FlipOverModule resetting the angularDrag value to the initial drag value.
- Fixed EV ignition bug.
- Fixed fallback friction preset not being applied.
- Updated VehicleChanger vehicles list outdated tooltip.
- ParentRigidbody was renamed to TargetRigidbody.
- Fixed demo motorcycle fork.
- Added commonly used constants to Vehicle class.
- Improved wheel sleep. All wheels now exit sleep at the same time if one wheel is woken up.
12.2
12/08/2024
- Reduced damage to better match pre-2022 values
- Added an option to flip the impact direction on the DamageHandler
- Made WheelController actions register with Undo
- Re-added changes from 11.25
- Added zero vector check to WC3D to prevent NaN
- Changed `Position To Visual` to position the WheelController to the first child of the Rotating container instead of the Rotating container itself
12.1
11/08/2024
- Fixed wheel not moving when suspension moved at runtime.
- Fixed VehicleSetupWizard configuration error caused by missing VariableCenterOfMass.
12.0
05/08/2024
- Upgraded to Unity 2022.
- WheelController3D transform logic rewrite (check upgrade notes).
- Swapped out separate differential types for a single differential with adjustable settings.
- New slip circle calculation.
- Added differential steer option.
- VCoM is no longer added by default since Rigidbody now has center of mass and inertia settings.
- Added contact modification to WC3D to weaken the longitudinal collider impacts (e.g. curbs at high speed).
- Changed to using manual call to update wheel properties after radius or width change.
- Fixed trailer attach/detach in certain scenarios. Fixed not being able to re-attach after joint breaks.
- Implemented gradual ABS instead of On/Off.
- Added gizmos for trailer and trailer hitch module attachment points.
- Fixed engine running with no sound if the vehicle is exited immediately after startup.
- Replaced engine `Stalling Enabled` with `Stall RPM`. Set to 0 to disable stalling.
- Fixed FlipOverModule and CruiseControl issues.
- Fixed fuel module not working with Electric engine type.
- Renamed FrictionCircleShape to FrictionCirclePower.
- Removed unused skidmark smoothing property.
11.25
14/03/2024
- Fixed starter is being affected by the engine torque modifier.
- Fixed metrics module showing incorrect odometer readings.
- Added optional clutch threshold for shifting gears, as well as a triedToShiftWithoutClutch event to make playing grinding sounds easier.
- Fixed metrics module showing incorrect odometer readings.
- Fixed cruise control not disengaging on brake application. Added throttle override.
11.24f3
22/01/2024
- Renamed floating origin to shifting origin because of copyright claims.
11.24f2
26/06/2023
- Updated tooltips.
11.24f
26/06/2023
- Flattened the demo scene to 50% height.
- Added extrapolation to the SkidmarkGenerator to prevent skidmarks from being generated behind the wheel.
- Fixed variable CoM combined mass affector is never applied.
- Fixed first mass affector is skipped.
- Implemented @Nutter fix for bottoming out.
- Fixed WheelController ? link leads to wrong website.
- Added forced induction to the engine load calculation.
- Changed forced induction range to 1,2 from 0,2.
- Re-introduced friction based on camber (lateral only, simplified).
11.23f
09/06/2023
- Added Lancia Delta demo vehicle which is a replacement for current Lada Niva (which is still included with the asset).
- Fixed errors after removing .asmdefs from the NWH folder. Clean import required!
- Re-added ARB (anti-roll bar).
- Adjusted default clutch slip torque value to be higher when set by the VehicleSetupWizard.
- Fix trailer layer issue.
- Fix SoundManager staying disabled after removing FMOD.
11.22f
29/05/2023
- [SteeringWheelInputProvider] Added device filtering to prevent the LogitechGSDK grabbing the wrong device (gamepad, etc.)
- [ClutchComponent] Slightly changed the way clutch transmits angular velocity to prevent stalling in neutral.
- [EngineComponent] Tweaked the engine idle RPM to be closer to the target.
- [TrailerModule][TrailerHitchModule] Set the trailer attachment layer to 0 by default (Default layer) from the current 25.
- [DamageHandler] Moved the onCollision event from the DamageHandler to VehicleController to be able to subscribe to onCollision even when no DamageHander is present.
- [VariableCenterOfMass] Fixed null issue when the GameObject is disabled.
- [Vehicle] onActiveVehicleChanged now passes previous and current vehicles as params.
11.21f
22/05/2023
- [WC3D] Fixed bounce caused by the native collider getting enabled at or below the ground level, when impacting at high velocity.
- [SteeringWheelInputProvider] Changed the VehicleController get method to use Vehicle.ActiveVehicle.
- [SteeringWheelInputProvider] Fixed DamageHandler null reference bug. DamageHandler is no longer required and all the collision data is retrieved directly from the VehicleController.
- [SteeringWheelInputProvider] Added deadzones for all axes.
- [Vehicle] Added Vehicle.ActiveVehicle which replaces VehicleChanger.ActiveVehicle. This removes the dependency of multiple scripts on VehicleChanger. Also makes the demo scripts work without it.
- [Vehicle] Added 'isPlayerControllable' option. If this is set to false the vehicle will never be set as Vehicle.ActiveVehicle. Useful for trailers and other passive vehicles as the ActiveVehicle is always the last enabled vehicle.
11.20f
17/05/2023
- [WheelGroup] Fixed solid axle camber, bug introduced a few versions ago.
- [MotorcycleModule] Added 'useHitNormalAsUp' option where the motorcycle uses the current wheel hit normal instead of the world up to calculate the lean angle, making it work in loops, etc.
- [TransmissionComponent] Fixed NaN caused by currentGearRatio being ~0, but not == 0.
- [WheelUAPI] Added ForceApplicationPointDistance to the WheelUAPI.
11.19f
07/05/2023
- Added OptionalPackageWizard (Tools > NWH > Optional Package Wizard).
- Added engine braking adjustment.
- Fixed StateSettings not getting remembered after Unity restart, scene reload etc. due to the StateSettings not getting serialized.
- Added NonRotatingVisual rotation offset so that the initial rotation does not get reset on play mode.
- Fixes to the trailer mechanics. Fixed prompt and attach on enable not working.
- Added attachmentTriggerRadius and attachmentLayer fields to TrailerModule and TrailerHitchModule.
- Removed unused registerWithVehicleChanger field from the VehicleSetupWizard.
- Added a preset info box to VehicleSetupWizard to avoid confusion, as this caused multiple support requests.
11.18f
03/05/2023
- Common code update.
- VariableCenterOfMass changes, including the removal of the unused centerOfMassOffset and bug fixes.
11.17f
01/05/2023
- Loosened up the asphalt tire friction presets as testing showed that the current values feel too stiff.
- Renamed automaticTransmissionReverseType to automaticTransmissionDNRShiftType to prevent confusion, since it does not only affect reverse.
- Added automatic transmission D/N/R adjustable automatic shift threshold (i.e. speed at which the transmission shifts from D>N or R>N).
- Changed clutch behavior to not disengage at higher speeds except if at risk of stalling or during gear shifts.
- Fixed PowertrainComponent output dropdown being set to None when vehicle initialized at runtime.
- Fixed some VehicleComponent coroutines not restarting when VehicleComponent is re-enabled.
11.16f
28/04/2023
- Stiffened up the locked differential 100% stiffness value by 100x. The current value was reported as too loose and the value range was too low for the setting to be effective.
- Fix DamageHandler bug on the SteeringWheelInputProvider.
- Fixed failed start attempt leaving the engine sound running.
- Fixed wheel count error when SkidmarkManager enabled on a vehicle that has Powertrain disabled.
- Fixed SteeringWheelInputProvider error introduced in previous update, related to the DamageHandler.
- Fixed TrailerHitchModule AttachOnAwake not working. Introduced in the previous version.
- General bug fixes and tweaks to the powertrain.
11.15f
26/04/2023
- DamageHandler is now a separate component from the VehicleController which allows it to work when the VehicleController is disabled. It is also optional.
- Skidmark code cleanup. Fixed breaks in skidmarks when going over different surfaces or when generating a new segment.
- Updated EngineComponent to only start outputting torque after engine start is finished.
- EngineStartStopComponent pitch now changes with the engine/starter RPM.
- Exhaust smoke no longer sets the lifetime through code. Use the LifetimeOverSpeed on the exhaust particle prefab instead.
11.14f
25/04/2023
- Changes to the state system: Vehicle no longer has Wake/Sleep and instead uses the Unity Behaviour.enabled.
- VehicleComponents no longer have isOn field, using isEnabled instead, drastically simplifying the whole state system.
- LODs are now just that and no longer feature a special “S” (Sleep) LOD. VehicleComponents inside the LOD distance are Enabled, VehicleComponents outside of the LOD are Disabled. LODs can be disabled in which case the Enable button has the same function as the ON/OFF button had previously.
- All VehicleComponents now get disabled when vehicle is disabled and nothing is updated - this brings performance improvements with it. VehicleComponents can no longer be enabled when VehicleController is disabled. Leave the VehicleController enabled instead and set autoSetInput to false instead to leave the vehicle running while not using it.
- TrailerModule now finds trailers based on triggers. Trigger SphereCollider is automatically attached to the AttachmentPoint Transform and no actions are needed to upgrade. To add a custom trigger, add it to the attachment point manually.
- Fixed RPM getting stuck at rev limiter RPM. Introduced in 11.13.
- Fields with “awake” or “asleep” in it have been renamed to “enabled” or “disabled”.
- Demo scene improvements.
- Smaller overall bug fixes and improvements.
11.13f
21/04/2023
- Rev limiter issue (reversing on rev limiter).
- Rev limiter cutoff duration now disables the rev limiter.
- Fixed combined mass on VCoM when using MassAffectors bug.
- 'Use LODs' option was removed as it would disable sleep on VehicleComponents. 'Use Camera.main for LODs' was also removed - just leave the 'Lod Camera' field empty to use Camera.main.
- Fixed delay between spawning the vehicle and LOD assignment.
- Wake() and Sleep() are no longer called on VehicleController when the vehicle MonoBehaviour is enabled/disabled or GameObject activated/deactivated. This means that if the GameObject is deactivated and activated, the VehicleController will act as if nothing happened.
- Cleanup of the Sleep, Wake and LOD code and the reduction of complexity to increase reliability.
11.12f
17/04/2023
- Fixed modules that are added at runtime after the VehicleComponent not getting initialized.
- Fixed MotorcycleModule jitter after running the VehicleSetupWizard by overriding the inertia with manual default values.
- Fixed MotorcycleModule falling over due to a recently introduced bug.
- Fixed Electric engine not calling start event, resulting in sound not working.
- Fixed clutch and transmission validation warnings for Electric engine type.
11.11f
14/04/2023
- Fixed VehicleComponent getting Enabled on initialization if the parent component is Enabled.
- Fixed VehicleSetupWizard null error if Rigidbody is already present on the vehicle.
- Changes to the state-related code.
- Fixed TransmissionComponent causing GC and minimized GC overall. Only Unity internal functions and ToString() on GUI are generating any garbage now.
- Fixed vehicle not properly initializing when Sleep() is called immediately after initialization.
- Fixed surface particles not working (issue from 11.11f).
- Overall optimization with ~10% CPU time reduction compared to 11.11f.
11.10f
13/04/2023
- Added 'inputModifyCallback' to InputHandler for when input modification from external script is needed but autoSetInput is set to true.
- Fixed CruiseControlModule not engaging.
- Fixed NOSModule sound not working.
- Fixed null error in the StateSettings drawer.
- Changes to ArcadeModule artificial steer. Now it acts as a Y-axis torque that gets applied based on steering value.
- Added Arcade and AirSteer buttons to the demo.
- Added “AddAndOnboardAComponent” function to VehicleComponentManager to allow for adding external VehicleComponents (modules, etc.) after the initialization.
11.9f
12/04/2023
- [WC3D] Fixed no-suspension not working properly.
- Fixed electric engine power generation.
- Fixed CheckState() and Initialize() running out of play mode when ON/OFF button is clicked.
- Properties Wheels and WheelGroups were removed, access them directly through powertrain.wheels and powertrain.wheelGroups.
- Made ABS and TCS modules work both in forward and reverse.
- 'reigsterWithVehicleChanger' and 'autoFindVehicles' have been removed as they add unneeded complexity. Use VehicleChanger.Instance.RegisterVehicle() and DeregisterVehicle() after spawning a vehicle instead.
- Vehicles no longer get woken up automatically if VehicleChanger is present and active.
- Disabling the parent VehicleComponent now disables the children, too. E.g. SoundManager disables EngineRunningComponent.
- Many internal bug fixes and improvements.
11.8f
11/04/2023
- Fixed Electric EngineType not working properly with partial throttle.
- Fixed VC_Validate() not running on some VehicleComponents.
- Added a check to prevent calling Play() on disabled AudioSources.
- Many minor bug fixes and improvements.
- Default value tweaks. The vehicle now once-again works after clicking Reset on the component and loading the defaults.
- TransmissionWhineComponent now has a volumeRange field instead of on/off throttle volumes. Tweaks to the transmission whine sound.
11.7f
11/04/2023
- Transmission is now using the vehicle speed (converter to RPM) instead of wheel RPM for gear shifts to prevent shifting on wheel spin, or allow shifting while the wheels are locked. This also eliminates the need for shift checks, which have been removed.
- Fixed MotorcycleModule lean angle issues and jitter on slopes.
- Minor other bug fixes.
11.6f
10/04/2023
- [WC3D] Added a LayerMask to the WheelController > Misc tab.
- Fixed VehicleSetupWizard errors when setting up a vehicle in prefab mode.
11.5f
09/04/2023
- PowertrainComponents and VehicleModules are now both VehicleComponents. This means that the initialization, update, etc. functions are now uniform across the asset.
- Modules now also have the state settings toolbar with LOD settings and Enabled/Disabled On/Off buttons.
- VehicleComponents that are OFF are now completely dead and do not have any functions called on them. Previously VC_Initialize() was called on OFF components.
- VehicleComponents now get the VehicleController reference set before VC_Initialize(), but also in the inspector, out of play mode.
- Fixed transmission doing shifts while another shift is in progress.
- Implemented VehicleComponentManager LOD clamping of the child VehicleComponents. This is to prevent the child components from staying awake when the manager (SoundManager, EffectsManager, ModuleManager, Powertrain) is asleep.
- Fixed skid particle emission that got broken in v11.0. The amount of time needed for smoke to appear ended up being too large.
11.4f
09/04/2023
- Fixed creep torque direction and added 'creepSpeedLimit'.
- Fixed throttle and brake issue when autoSetInput = false introduced in 11.3b.
- Fixed mobile demo scene having wrong vertical and steering input type set in the MobileVehicleInputProvider.
11.3b
07/04/2023
- Added 'throttleEngagementOffsetRPM' to clutch. It varies the clutch engagement point based on throttle input.
- Fixed clutch slip torque.
- Fixed VC_Disable not being called on some PowertrainComponents.
- Fixed VC_Disable not fully stopping the powertrain. With the update everything is set to 0 immediately as to not have the powertrain in a frozen state once the vehicle is awoken.
- Fixed 'targetRigidbody' possible null issue.
11.2b
07/04/2023
- Fixed the motorcycle module (jitter, flying into the air).
- Increased default damper field values to better match those pre v11.
- Fixed skid and surface sounds not stopping when the vehicle stop skidding on a surface that does not have those enabled.
- Minor tweaks to the friction circle.
- Fixed engine not being able to reach peak power, introduced in 11.1b.
- Added sideways friction clamp to prevent possible jitter with overly stiff friction.
11.1b
06/04/2023
- [WC3D] Changed the damper curve to slowBump, fastBump and bumpDivisionVelocity (same for rebound). This makes it easier to adjust and use the real-world data. The old damper values are re-used so only slight tweaks might be necessary.
- Fixed gear shifting from N when shift checks are not valid.
- Fixed engine loss torque being too low when engine not running, resulting in inability to stall.
- Fixed VehicleComponent LOD sometimes not calling VC_Enable().
11.0b
05/04/2023
- (!) 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.
10.19f
20/03/2023
- Overall asset optimization. There should be a noticeable FPS increase.
- [WC3D] Fixed issues with starting on slopes.
- Added 'Force Multicast' option to StandardGroundDetection for vehicles that need higher quality ground detection at all times.
- Fixed power modifier not properly applying to the electric engine.
- Fixed unintentional throttle deadzone on the EngineComponent.
- Fixed engine stop causing the engine RPM to instantly drop to 0.
- Fixed flickering camber bug introduced in 10.17f and incorrect WheelGroup solid camber.
10.18f
17/03/2023
- [WC3D] Fixed RPM spike bug under braking.
- [WC3D] Fixed wheel locking up too easily when both motorTorque and brakeTorque are applied.
- [WC3D] Friction bug fixes and improvements. Improved stability at dt = 0.03 (33Hz physics update).
- [WC3D] Fixed glitching/jumping wheel when the approached obstacle is above the axle height.
- [WC3D] Camber is now just a single value and is not changed by the WheelController automatically. For that the CamberController script was added. Removed CamberAtTop and CamberAtBottom from WheelUAPI.
- [WC3D] Fixed SpringCompression returning inverted value.
- Fixed reverse beep playing, when it already was playing.
- Added per-surface rolling resistance multiplier to emulate wheels rolling through soft terrain (mud, sand, etc.). This is adjusted through the SurfacePresets.
- Added priorities to the vehicle AudioSources.
- Fix gear shift time when using manual transmission.
- Fixed otherBodyForceScale not drawing.
- Fixed clutch not re-engaging when the vehicle is rolling and the engine RPM dips below engagement RPM.
- Fixed some powertrain components reporting wrong angular velocity in the inspector.
- Added ApplyToeAngle and ApplyCasterAngle bools to the WheelGroup to prevent the WheelGroup overriding manually set rotation on motorcycles and other vehicles where this is needed.
10.17f
13/03/2023
- [WC3D] Major longitudinal friction update focusing mainly on creep on slopes and high speed / low update rate stability. No adjustment necessary.
- [WC3D] Native friction is no longer used for creep prevention as this has been implemented inside the WC3D itself and thus no longer needed.
- [WC3D] WheelController no longer uses ContactModifyEvent callback which results in improved performance, esp. in scenes with many colliding objects.
- [WC3D] Added OtherBodyForceScale. A value by which the forces applied to other Rigidbodies are scaled to allow for interaction with lightweight Rigidbodies.
- [WC3D] Fixed no-suspension friction behaviour. The friction is now the same for no-suspension/bottomed out suspension and normal suspension.
- [WC3D] Merged “Actions” and “Advanced” tabs into a single “Misc” tab due to the only few fields remaining under the “Advanced” tab.
- BrakeOnReverse direction is now off by default.
- Fixed Wheel Group > Caster not being drawn and “Apply Geometry” not applying when toe or caster are 0.
- Fixed VehicleSetupWizard throwing an error when there is no mesh on the wheel object.
- Performance optimization.
- Removed vehicle-specific collision callbacks as they are no longer needed due to removal of ContactModifyEvent.
10.16f
07/03/2023
- [WC3D] Fixed suspension getting stuck in native collision mode after landing a jump and bottoming out.
- Fixed DemoVehicleSettings font error in Unity 2022.
10.15b
06/03/2023
- VariableCenterOfMass update. Needs CoM adjustment on existing vehicles.
- [WC3D] Fix rolling resistance torque missing.
- [WC3D] Make native collider only apply when brake torque is present.
- [WC3D] Tweaks to the native friction/collider.
- [WC3D] Fixed trailer wheels not exiting native friction properly.
- [WC3D] Added “Use Native Collider” and “Use Native Collider For Bottoming Out”.
- Added Cinemachine cameras to the vehicles. Added Cinemachine as a package dependency.
- Moved editor-only resources to Editor folder so that they are not included in the build.
- Added Brakes > Brake On Reverse Direction option (on by default).
- Tweakes to the demo vehicle setup.
- Fixed MobileInputButton sometimes not registering.
10.14b
01/03/2023
- [WC3D] Ground detection bug fixes.
- [WC3D] Friction refactoring. Integrated friction back into WheelController.cs.
- Updated SteeringWheelInputProvider to work with 10.13b.
- Updated Mirror to work with 10.13b, reintroduced PUN2 support which was removed earlier in the beta.
- Fixed collisions sometimes getting ignored.
10.13b
25/02/2023
- [WC3D] Fixed major ground detection bug that would cause jitter and incorrect ground detection results.
- [WC3D] Fixed wheels clipping through the ground on side collision.
- [WC3D] Separated the wheel collider into two halves, with the top one always active. This prevents clipping into walls with protruding wheels.
- [WC3D] Fixed the no-suspension / bottom out friction bug introduced in an earlier beta.
- [WC3D] Fixed IsGrounded being true when the vehicle is slightly above ground.
- [WC3D] Fixed wheels not free-spinning while in air. Introduced ~10.10b.
- [WC3D] Removed wheel visual runtime scaling with wheel dimension change, introduced in 10.12b.
- [WC3D] Exposed WheelController spring, damper, wheel, sideFriction and forwardFriction properties as per feedback.
- [WC3D] Other bug fixes, improvements, optimizations.
- Added vehicle collision events.
- Removed Step() call from the WheelUAPI. WheelController is now running on normal FixedUpdate().
- Fixed gizmos not drawing for modules.
- Changed VehicleSetupWizard to use the vehicle rotation for the created WheelControllers, instead of the wheel visual rotation.
10.12b
20/02/2023
- Improvements to the native friction mode and fix for issues with vehicle not exiting native friction and refusing to move.
- Fix trailer having no collision.
- Fixed default tire load rating calculation bug.
- Fixed VehicleSetupWizard center of mass being positioned wrong.
10.11b
16/02/2023
- Fixed digging into the ground issue introduced in 10.10b.
- Fixed null reference error introduced in 10.10b.
- Improvements to the way low speed friction is enabled/disabled.
- Added runtime wheel radius and width adjustment.
- Fixed native collider activating in air.
- Other smaller changes and improvements.
10.10b
16/02/2023
- [WC3D] Optimized the WheelController for ~30% in editor performance gain in comparison to 10.9b.
- Fixes to issues introduced by changes in 10.9b, including friction.
- Fixed inverted toe angle.
- Fixed incorrect camber being applied with solid axle.
- Multiple smaller bug fixes.
10.9b
15/02/2023
- [WC3D] Improvements to the sidewall collisions. Wheels that stick to the side, out of the body collider, no longer jump on sidewall collision.
- [WC3D] Fixed load calculation for low tyre loads.
- [WC3D] Tweaks to the low speed friction and native collider usage.
- Renamed demo scenes across all NWH assets (NVP2 Main Scene, NVP2 Mobile Scene, etc.)
- Re-added demo vehicle settings and telemetry with bug fixes and improvements.
- Removed clutch engagement smoothing to prevent stalling. No longer needed with clutch engagement range implemented.
- VehicleChanger no longer uses tags, making it usable with multi-scene setups. Instead, 'Register With Vehicle Changer' option is added under Settings tab of VehicleController.
- When checking for velocity to enable low speed friction, uses relative surface velocity instead.
- Removed duplicate module warning as multiple TrailerHitch modules might be present.
- Added URP guide to the documentation.
10.8b
10/02/2023
- Fixed powertrain issues introduced in 10.7b.
- Fixed VehicleController FX inspector error in play mode.
10.7b
10/02/2023
- [WC3D] WheelController3D beta now works with no-suspension vehicles.
- [WC3D] Fixed bottoming out friction behavior from excessive friction.
- [WC3D] Tweaked the load/friction function to be less steep which results in more predictable friction behavior.
- [WC3D] Overall friction tweaks and improvements.
- [WC3D] Code cleanup.
- [WC3D] Simplified the Advanced tab and removed the unneeded options.
- Fixed vehicle failing to brake on reverse direction. This also fixes earlier failing to start on incline issue.
- Changes to the inertia of the powertrain to fix the issue of too high total powertrain inertia, which resulted in wheels spinning for too long after throttle is released.
- Fixed skidmarks rendering in front of surface particles.
- Multiple smaller bug fixes and improvements.
10.6b
09/02/2023
- [WC3D] Major changes to the ground detection.
- [WC3D] Ground detection is now done through an interface, allowing for custom solutions.
- Added more and better collision sound samples.
- Fixed suspension bump sound.
- Fixed N>R and N>1 gear shifts not being instant. This caused a delay between input and vehicle starting to move that might appear to player as input lag.
- Re-implemented camber, toe and caster. Camber is now set through the WheelController exclusively (except for in cases of solid axle when it is calculated automatically). Added camber to WheelUAPI.
- Other smaller changes, improvements and bug fixes.
10.5b
07/02/2023
- Added power, torque and RPM readings for each powertrain component inspector.
- Fixed skid sounds not working.
- Further improvements to the clutch. Eliminated stalling issues and added engagement RPM range.
- Removed redundant IWheelUAPI functions and renamed it to WheelUAPI since it was turned into an abstract class instead (to allow for serialization in inspector).
- Updated motorcycle to work with the beta.
- Fix state settings adjusted through the VehicleController inspector not saved on restart.
- [WC3D] Fixed most issues with MeshCollider-based ground detection. Option for SphereCollider was removed.
- Multiple other smaller fixes and improvements.
10.4b
05/02/2023
- Added exhaust pop sound.
- Added brake noise / sound.
- [WC3D] Improvements to the ground detection.
- Added TyreWear script. Works both with WheelController and WheelCollider (or anything that implements IWheelUAPI).
- Fixed wheel clipping into the ground on the first frame.
- Added option to choose between MeshCollider and SphereCollider for ground detection.
- Fixed skidmarks being drawn with an offset.
- The FixedDeltaTime message now only appears once per Editor restart.
- Fix state settings adjusted through the VehicleController inspector not saved on restart.
- Code restructure and cleanup.
- Moved surface type detection to a coroutine.
10.3b
02/02/2023
- Fixed jitter issues when switching to native friction.
- Removed colliderOversizing.
- Fixed skidmarks sometimes not being drawn.
- Parted out VehicleController into a partial class with LOD and Multiplayer code in separate files.
- VehicleComponent state checks are now event-driven.
- Added tooltips for new fields.
10.2b
01/02/2023
- Bug fixes and optimizations on the VariableCenterOfMass script.
- Fixed unstable idle.
- ARB was removed in favor of the force application point distance setting on the WheelController.
- Improvements the clutch. PID controller was replaced with engagement and disengagment speed values.
- Fixed crash audio source being positioned at a wrong location and crash using the wrong container.
- Fixed reverse beep never stopping playing.
- Toe and caster are now only applied only on vehicle initialization or when toe or caster are changed (through scripting).
- Improvements to the interaction between engine and transmission, eliminating the surge when starting from standstill.
- Made NUI header state settings appear only when a single vehicle is selected.
- Removed biasAB from limited slip differential as it makes no sense.
- Fixed missing package dependencies.
10.1b
31/01/2023
- Fixed duplicate asset menu entries.
- Moved VehicleSetupWizard to a separate assembly to be able to dereference WC3D inside VehiclePhysics2 assembly.
- EngineRunningComponent basePitch was removed and the pitch now starts from 0 @ 0 RPM.
- Fixed EV engine not spinning down to 0 RPM.
- [WC3D] Improvements to the low speed behaviour.
- Fixed surface detection when multiple objects hit.
- “Force100HzPhysicsUpdate” has been removed and an info message added instead.
- Improvements to the vehicle behaviour when using 50Hz physics update (dt = 0.02).
- Fixed wheel getting stuck in air in compressed state while using native collider. Not properly tested since I could not repro.
- Added friction coefficients to the IWheelUAPI, added IsVisualOnly instead of SetMultiplayerIsRemote().
- ARB now works only when both wheels are on the ground.
- FlipOverModule rewrite to use coroutines.
10.0b
30/01/2023
- [WC3D] Major rewrite of WheelController. API breaking changes!
- [WC3D] New ground detection method. Raycasting is no longer used and layer setup no longer required.
- [WC3D] Changed the suspension bottoming out mechanism. This solves the issue with vehicles bouncing back after a fall.
- [WC3D] Cleaned up the API and removed redundant properties. Implemented IWheelUAPI to avoid switching between WheelController and WheelCollider seamlessly.
- [WC3D] Solved low speed friction creep.
- [WC3D] Major performance improvements.
- [WC3D] New inspector layout with tabs to reduce inspector height.
- Code restructuring and cleanup.
- Simplified settings tab. Physical properties moved to VariableCenterOfMass script (optional).
- Removed NRigidbody and sub-stepping. It is now recommended to use Time.fixedDeltaTime of 0.01 instead of the sub-stepping that was provided by NRigidbody.
- WheelComponent now accepts IWheelUAPI instead of WheelController, meaning custom wheel implementations are supported, as well as the WheelCollider through the provided WheelColliderUAPI script.
- CharacterVehicleChanger and VehicleChanger have been integrated into a single script.
- CharacterVehicleChanger now has an option to start in vehicle, which is now the default for the demo.
- Modules are now drawn inside their respective wrappers instead of the VehicleController.
- Cleaned up SoundManager and EffectsManager, as well as SoundComponents.
- Removed ShowInTelemetry and ShowInSettings attributes. These used reflection and were never intended for production use.
- Fixed snap oversteer issues under braking.
- Fixed transmission rev matching issues.
- (Re)Added welcome message popup on asset import.
- Minimized property serialization to improve inspector performance and reduce serialization overhead.
- Added scale warnings to VehicleController and WheelController due to large number of related support requests.
- Fixed Blinker and Horn SetDefaults assigning wrong clips.
- VehicleModule and VehicleComponent are now using the same NUI drawer.
- Removed deadzone settings from Input tab. Deadzone should be set through the InputSystem/InputManager/Rewired/etc. Same with input inversion.
- Removed freeze options from the VehicleController since they are no longer needed due to WC3D changes.
- Improvements to the demo scene.
- Multiple other smaller fixes and improvements.
v1.9.4 (9.4f)
23/11/2022
- Added top speed per gear display to transmission inspector.
- Reduced minimum powetrain inertia range.
- Fixed steering not un-freezing the vehicle.
- Fixed emissive mesh lights not working with HDRP.
- Fixed ArcadeModule not checking if vehicle is fully grounded.
- Fixed trailers not unfreezing with the towing vehicles.
- [WheelController] Fixed friction force coefficients being applied before slip circle, resulting in unrealistic behavior on slippery surfaces.
v1.9.3 (9.3f)
22/09/2022
- Fixed powertrain output field not updating when adding new components.
- Inspector performance improvements.
v1.9.2 (9.2f)
20/09/2022
- Fixed sounds not playing in correct order (blinker and other multi-clip sounds). Introduced in v1.9.
- Fixed particle effects spawning at wrong location. Introduced in v1.9.
v1.9.1 (9.1f)
14/09/2022
- Fixed corrupt Niva prefab in the PUN2 demo.
- Fixed multiplayer .unityassets extracting to the wrong folder.
v1.9 (9.0f)
13/09/2022
- Added HDRP guide and particle materials: http://nwhvehiclephysics.com/doku.php/RenderPipelines.
- Folder restructure and asset cleanup. Clean import required (remove NWH folder before re-importing).
- Cleanup of audio code: reduced number of AudioSources, moved some sound components to PlayOneShot, changed the way multiplayer sound is synced, general code cleanup and bug fixes.
- Implemented MultiplayerState - a simplfied approach to multiplayer integration. Rewritten PUN2 and Mirror multiplayer scripts.
- Added “Realistic” and “Arcade” (legacy) options to Clutch component.
- Fixed powertrain values assigned after vehicle initialization not getting applied when referenced outside of the Powertrain.Components list.
- Changed the way “Freeze While Idle” works. Frozen vehicles are no longer simulated which improves performance. Constraints are no longer used - this enables normal use of Rigidbody constraints in combination with “Freeze While Idle” option.
- Vehicles are now easier to damage by default. Increased wheel wobble on wheel damage and range at which the wheel damage happens.
- Improvements to forced induction.
- Fixed issue with VehicleController > PWR tab sometimes causing problems with powertrain.
- Fixed inverted WheelController.springCompression value.
- Fixed issue with damaged wheels rotating around Y axis.
- Overall bug fixes and improvements.
- [WC] Fixed “applyForceToOthers” being ignored by depenetration force.
- [WC] Added “Max Load” field. This is the load rating of the tire and it affects how the friction is calculated, amongst other things.
- [WC] Added camber/friction curve.
- [WC] Re-introduced “Show Advanced Settings” to WheelController to reduce clutter with the increasing number of settings.
v1.8.3
08/06/2022
- Fix ReorderableList being drawn wrong in latest Unity 2021 versions (known Unity bug).
- Fix for lateral friction creep when vehicle is stationary on flat ground, introduced in v1.8.0.
- Clutch variable engagement is now throttle dependent.
- Increased default clutch engagement speed (by 3x) to avoid stalling on hard braking.
v1.8.2
06/06/2022
- [WheelController] Added slip circle strength and shape settings.
- Bug fix related to the clutch engagement curve.
v1.8.1
02/06/2022
- Major friction calculation improvements.
- VehicleSetupWizard not finding VehicleChanger and ignoring the `Register with Vehicle Changer` option.
- Added AntiSquat field to WheelController. Similar to the previous Squat field but adjustable in range of -1 to 1 where -1 is full squat and 1 is full anti-squat.
- Added option to ignore deadzone on steering input.
- Added speed sensitive steering smoothing curve.
v1.8.0
23/05/2022
- Added MotorcycleModule.
- Added ArcadeModule.
- Added AirSteerModule.
- Improvements to powertrain ClutchComponent and DifferentialComponent.
- NRigidbody improvements.
- Overall vehicle handling improvements and tweaks.
- Replaced substep count selector with Physics Update Rate field in [Hz].
- Replaced ClutchLSD and ViscousLSD with single LimitedSlip option. Viscous slip has been replaced with VLSD_Obsolete_Placeholder and will point to the new LimitedSlip.
- [WheelController] Improvements to the WheelController resulting in higher high speed stability and overall improved handling.
- [WheelController] Removed SingleRay option and instead replaced it with possibility to use minimum longitudinal scan resolution of 1 (previously 3).
- [WheelController] ~20% performance improvement.
- Many other small changes, tweaks and improvements.
v1.7.7
29/04/2022
- Overall clutch improvements: added clutch engagement curve, reworked clutch torque flow, fixed engine not stalling when clutch dumped.
- Add automatic transmission creep.
- Improved engine power calculation to allow for holding the engine at steady RPM in neutral.
- Added SteeringWheelInputProvider zeroToOne option (can be use to select 0→1 or 1→0 as axis reading) and option to flip input for handbrake.
- Added clutch engagement RPM warning when clutch RPM < idle RPM.
- Added SteeringWheelInputProvider handbrake axis.
- Fixed low clutch engagement RPM in VehicleSetupWizard.
- Fixed stop lights canceling tail lights in multiplayer.
- Fixed high beam lights do not turn on the tail lights.
- Fixed states not getting serialized after adding a module and refreshing.
- Use power of 2 textures for skidmarks to reduce memory usage.
v1.7.6
24/03/2022
- Added Monza demo to the SteeringWheel package with the FFB fully set up. Also added SteeringWheelInputProvider Logitech G29 prefab for easier setup.
- Removed “Freeze While Asleep”. Use “Freeze While Idle” instead.
- Removed deprecated camera scripts (CameraFollow, CameraOnboard) that were replaced with the universal CameraMouseDrag ~year ago. This means that all the cameras in the demo scene can now be moved/rotated.
- CameraMouseDrag now targets Transform instead of Vehicle making it usable outside of the asset.
- Values given by 'Calculate Inertia' are now ~50% higher which gives a better feel to the vehicles.
- Fixed memory leak caused by skidmark meshes and materials not being disposed of properly.
- Fixed ReorderableList not working properly in the latest versions of Unity 2021 and 2022.
- Fixed TransmissionWhine not working.
- Fixed sound settings not being applied to the wheel sound components.
- Demo scene tweaks (added vehicle info, sound adjustments, semi truck suspended cab, etc.).
- Minor bugs and fixes and changes.
v1.7.5
13/02/2022
- Fixed assembly definitions for optional packages.
v1.7.4
22/01/2022
- Lateral friction changes to improve vehicle stability.
- Cleaned up assembly definitions (one asmdef per project).
- Added PostProcessing by default for demo scenes.
- Anti-roll bar will now not activate while one or two wheels on the axle are in air.
- Removed TireLoadFrictionCurve,. Use force coefficient on WheelController instead.
- Replaced obsolete Tarmac and TarmacWet friction presets that have since been replaced with Asphalt and AsphaltWet friction presets. The AsphaltSurfacePreset now uses AsphaltFrictionPreset instead of TarmacFrictionPreset.
- Removed leftover Debug.Break() from WheelController.
- Fixed TurboWhistleComponent throwing unneccesary warning messages.
- Fixed Wheel sounds not routing through mixer.
- Removed automatic welcome message. It can be found in the About tab of the vehicle controllers instead.
- Fixed WheelController.VisualUpdate() does not calculate rotation offset.
v1.7.3
05/11/2021
- VariableCenterOfMass improvements and bug fixes.
- Fixed left over debug code inside WheelController.
v1.7.2
04/11/2021
- Moved to Unity 2020 LTS.
- Fixed VariableCenterOfMass calculating center of mass incorrectly.
- Fixed issues with assembly definitions and re-enabled assembly definitions by default.
v1.7.1
20/10/2021
- Added Rewired support.
- Disabled assembly definitions by default. All the .asmdef files now have .bak extension attached. Remove the extension to use the assembly definitions.
- Fixed NRigidbody error when a WheelController is destroyed.
- Fixed WheelController enable and disable not working.
- Discrete Rigidbody collision is now default. Thanks to @vincurekf for discovering that Continuous collision was the cause for unrealistic high speed collisions.
- Made all classes partial and more classes virtual for easier extension and modification of the asset.
- Fixed GetInitSpatialBlend() always returns 0.9.
- Clamped shift time to 0.02 to prevent 0 shift time which can cause issues with rev matching.
- Added D/N/R selection through ShiftInto input.
- Fixed error when no LODs are present on the vehicle.
- Fixed TurboFlutter does not play random sound.
- Fixed disabled WheelController continuing to simulate.
- Fixed FuelModule using Update instead of FixedUpdate.
- Removed WheelController Visual requirement.
- Fixed assigning Visual after Initialization makes Visual not move.
- Fixed Mirror RpcThrottleInput and RpcBrakesInput sending wrong values.
- Added “AwakeOnStart” option to Settings > State Settings. This determines the state of the vehicle after Start().
- Increased maximum steer angle value.
- Updated PUN2 documentation.
v1.7
03/05/2021
- WheelController can now be used with 'Max Spring Length' of 0.
- Improved wheel depenetration and added depenetration settings to WheelController.
- Reworked FlipOverModule and added instant flip over.
- Fixed ReorderableList crashing Unity when exiting play mode. Only Unity 2021.1.
- Added support for NetworkRigidbody to MirrorMultiplayerVehicle. Collisions now work in multiplayer too. If NetworkRigidbody is not attached vehicle will be kinematic as before the update.
- Fixed multiple issues with powertrain inertia.
- Fixed WheelController not applying any force to surface when bottoming out and spring strength is 0.
- Fixed WheelController spring gizmos being drawn in wrong place.
- Fixed NaN issue when max spring length is set to 0.
- Fixed VehicleComponent not having Enable() called when entering play mode resulting in some modules not initializing properly.
- Fixed ApplyForceToOthers not applying correct friction force.
- Fixed missing trees in the Racetrack demo scene.
- Fixed transmission going into neutral after car stops moving while 'Require Shift Input' selected.
- Added ''Apply Brakes When Speeding“ option to CruiseControlModule.
- Added ability to apply throttle manually while cruise control is active.
- EngineComponent.RPMPercent now returns RPM percentage in relation to rev limiter instead of the solver maximum RPM allowing it to actually reach 1.
- Modified TransmissionComponent to allow gear skipping at full throttle.
- Other minor bug fixes and improvements.
v1.6.2
19/03/2021
- Moved NVP_NUIEditor and NVP_NUIPropertyDrawer to Editor sub-folder to avoid issues if assembly definition files are removed.
v1.6.1
14/03/2021
- Removed requirement for .NET 4.x.
- Fixed the import issues introduced with the previous version.
v1.6
03/03/2021
- Added .asmdefs to improve compilation times. With the upcoming updates all NWH assets will feature asmdefs.
- Major changes to the skidmark system for increased performance and stability. Skidmark settings are now adjustable at runtime.
- Rework of CVT transmission.
- Added peak power and torque (and respective RPM values) to the EnginePowertrainComponent and added a readout in the editor. Default clutch slip torque is now set in relation to peak engine torque.
- Fixed modules initializing twice.
- Fix brake smoothing not being used.
- Fixed left and right enter-exit points being swapped inside the vehicle setup wizard.
- Fixed steering deadzone when returnToCenter is disabled.
- Fixed wheel damage not working properly.
- Fixed WheelController issue where the longitudinal force coefficient would increase the actual force applied instead of increasing the maximum tractive force, resulting is higher power output than what is generated by the engine when value of >1 was used.
- Fixed WheelController “ApplyForceToOthers” option applying excessive lateral force to the target object.
- Fixed NRigidbody substeps get initialized to 1 in all cases. This affects only standalone WheelController setups since substeps in NVP2 are set through the VehicleController which overwrites the initial value.
- Fixed WheelController Visual transform scale affecting the Rim Collider scale.
- Upshift RPM of the TransmissionComponent is now limited to a value lower than the engine rev limiter RPM. This prevents issues with vehicle not upshifting when target upshift RPM is too high.
- Updated clutch settings on the Semi truck to prevent stalling when going from 1st to reverse and vice versa due to slow clutch release.
- Other minor bug fixes and improvements.
v1.5.3
02/01/2021
- Fixed NRigidbody throwing an error when Rigidbody rotation constraints are used.
- Fixed build failing due to editor code.
v1.5.2
22/12/2020
- Added presets to VehicleSetupWizard. Vehicles are now automatically configured based on the preset settings and vehicle properties. E.g. heavier vehicles will have suspension and friction adjusted to match the weight.
- Added semi truck to the demo scene. Model provided by GR3D.
- Fixed trailers braking on reverse.
- Minor bug fixes and improvements.
v1.5.1
16/12/2020
- Add Rigidbody interpolation by default with an option under Settings tab to choose a different value.
- Fix InputProvider instances list entries duplicating with each scene reload.
- Added InvertClutch, InvertBrakes, InvertThrottle, etc. options to VehicleInputHandler.
- Improved input documentation.
- Improvements and bug fixes related to brakes.
- Fix deadzone.
- Updated Mirror and Photon scripts for compatibility with newest versions of each asset.
- Fix NUIDrawer causing Unity Editor to enter infinite loop due to a bug with UnityEditor.ReorderableList elementHeightCallback when 0 is returned.
- Fixed turning off low beam lights while braking resets brake lights.
- Added “Require Camera Rotation Modifier” and “Require Camera Panning Modifier” options to SceneInputProviders, mainly for use with touch screens where modifiers are not needed. Enabling these options makes cameras able to rotate/pan without pressing additional buttons.
v1.5
14/11/2020
- Restructured the asset to prevent errors when trying to import multiple NWH assets in the same project.
- Fixed terrain texture issue when the vehicle goes over the edge of a terrain.
- Improvements to WheelController's damper. Some re-adjustment will be needed on existing vehicles. Damper now has separate bump and rebound curves.
- Fixed major damper bug that rendered damper ineffective under high spring velocities.
- Added warning for Powertrain > Wheels ordering.
- Transmission now calls ReconstructGearList() automatically after the number of forward or reverse gears has changed or a different gearing profile has been assigned.
- Renamed NWH.VehiclePhysics2.Input.Input to InputHandler to prevent confusion with UnityEngine.Input.
- Added deadzone setting to InputManager and InputSystem VehicleInputProviders.
- Fixed 'Brake On Reverse Direction' not working in some cases.
- Fixed InputHandler.Vertical returning wrong value under braking.
- Fixed GroundDetection querying terrain texture out of bounds.
- TrailerHitchModule now searches for trailers across all loaded scenes.
- Fix input sticking on scene reload when using SteeringWheelInputProvider.
v1.4.1
11/10/2020
- NRigidbody is now added to exisiting vehicles automatically if missing.
- Fixed null event throwing errors in VehicleController.
- Fixed “No Input Provider” warning even when 'Auto Set Input' is false.
- Fixed wheels falling through ground when not added as output to powertrain component and the vehicle state is toggled during playtime.
- Fixed high powered RWD vehicles pulling to one side when going straight.
- Fixed TrailerHitchModule Attach On Play option not attaching the trailer (again).
v1.4.0
07/10/2020
- Implemented physics sub-stepping. Vehicles now run at higher update rate than the rest of physics. Despite this the performance is same to slightly better due to optimizations.
- Revised friction and friction circle calculations. Eliminated excessive understeer.
- Many small improvements and bug fixes to both VehicleController and WheelController.
- Added adaptive smoothing to WheelController visual.
- Added “Show Advanced Settings” option to WheelController. Only basic options are now displayed by default which reduces clutter.
- Improved obstacle force calculation.
- Improvements to WheelController.
- Add latching handbrake option.
- Added option to calculate load coefficient from custom curve or automatically (default).
- Physical properties now can only be changed out of play mode or through scripting before the vehicle is initialized. This is a performance optimization.
- Reworked and fixed air brake hiss sound.
- Fixed TrailerHitchModule Attach On Play option not attaching the trailer.
- Fixed Ackerman steering bug.
- Fixed OnPointerUp not registering when multiple touches are present resulting in stuck inputs on mobile.
v1.3.2
05/09/2020
- Fixed bottoming out force impulse and added damping to prevent vehicles from excessive bouncing after bottoming out hard.
- Added gizmos to display vehicle dimensions.
- Added PUN2 demo scene.
- Added Mirror demo scene.
- Tuned up inertia calculation.
- Updated demo vehicles for better handling.
- Fixed flipped mirror UVs on Lada Niva.
- Fixed issue with skidmarks sometimes using a wrong material.
v1.3.1
24/08/2020
- Implemented proper spring bottom out calculation.
- Stiffer lateral friction.
- Lada Niva model is now commercially licensed and no longer CC-BY (as required by Unity).
- Added mouse input option to both InputSystem and InputManager VehicleInputProviders.
- Fixed some textures having different native resolution and Max Resolution set in inspector.
- Fixed error with manual transmission when trying to shift into non-existing gear. Error introduced with rev-matching in v1.3.
- Fixed error while trying to calculate track of vehicles that have only one wheel per wheel group / axle.
- Fixed VehicleSetupWizard failing when there are no InputProviders in the scene.
- Fixed vehicle input not initializing when there are no InputProviders in the scene.
- Fixed issue with vehicleRigidbody being null during VehicleSetupWizard setup causes errors.
v1.3.0
14/08/2020
- Major improvements to tire friction calculation.
- Improved vehicle inertia tensor calculation, existing results were on the low side.
- Added new Ackerman steering calculation for 4-wheeled cars. Other vehicles still use the old, linear, calculation.
- Eliminated WheelController creep in longitudinal direction.
- Fixed vibration when standing still with vehicles that had large wheel mass.
- Improved Cruise Control by adding “Deactivate On Brake”.'
- Fixed a bug with powertrain that resulted in engine being too hard to stall.
- Fixed FrictionPreset not saving changes once the project is reloaded.
- Fixed 'flipInput' option in SteeringWheelProvider to flip input from [0,1] to [1,0] instead of [0, -1]
- Fixed issue with VehicleSetupError where it would throw a cast error if 'Add Cameras' is enabled.
- Fixed CameraInsideVehicle not registering (bug from 1.2.0).
- Fixed InputSystem input not resetting after scene reload.
v1.2.2
13/07/2020
- Fix input in Monza demo scene.
- Fix VehicleSetupWizard throwing an error due to a null value of VehicleRigidbody.
v1.2.1
11/07/2020
- Added weight sensitive WheelController defaults.
- Made it possible to create a vehicle from a script at runtime using VehicleSetupWizard.RunSetup().
- Fixed trailer drives the towing vehicle into the ground when 'Freeze When Asleep' is enabled.
- Fixed insideVehicle property warning for sound property drawer.
- Moved VehicleModule Awake() call to after the vehicle is fully initialized.
- Fixed issue with VehicleComponent.Enable() getting called before VehicleComponent.Initialize().
- Fixed ShiftInto not getting triggered when using 0-9 keys in the demo.
- Fixed SteeringWheelInput compile error 'VehicleChanger' does not contain a definition for 'ActiveVehicleController'.
- Fixed 'Constrain When Asleep' not working.
v1.2.0
07/07/2020
- InputProviders have been split to SceneInputProvider and VehicleInputProvider where SceneInputProvider handles scene-related input (camera controls, vehicle switching, character movement, etc.) and VehicleInputProvider handles only vehicle-related input (steering, throttle, brakes, etc.).
- Some parts of the asset are now shared between DWP2 and NWP2 making the two assets compatible and reducing the code duplication.
- Fixed issue where blinkers and hazards could be active at the same time.
- Fixed a bug introduced in 1.1.2 where the multiplayer scripts where not changed to reflect the recent input changed.
v1.1.3
24/06/2020
- Input bug fixes related to engineStartStop, boost and light inputs (input not registering or registering multiple times). Introduced in 1.1.2.
- Added options for non-zero-index rglSliders to SteeringWheelInputProvider.
- Fixed issue where blinkers and hazards could be active at the same time.
v1.1.2
23/06/2020
- Fixed 'autoSetInput' automatically being set to true when vehicle wakes.
- Fix lights not turning on properly (bug introduced in 1.1)
- Removed delay between activating a blinker and it turning on.
- Fixed blinkers sometimes not canceling each other.
- Rewritten LightManager logic.
- Minor bug fixes and improvements.
v1.1.1
21/06/2020
- Changed how engine losses are calculated to allow the engine to rev more freely. Vehicles will feel slightly more powerful after the update.
- Fixed unneeded using directives introduced in 1.1 preventing the build from finishing successfully.
- Added “Hold To Keep In Gear” option to the transmission. This makes the transmission H-shifter friendly. When the option is enabled an input has to be held for the transmission to stay in corresponding gear, otherwise it goes to neutral.
- Added all available axis options to SteeringWheelInputProvider.
- Removed shift ban timer (delay between shifts) from manual transmission which would get interpreted as the gearbox not receiving input.
- Fixed errors caused by the SteeringWheelInputProvider not having been updated to the 1.1 InputProvider overrides.
v1.1
- Removed the need for disabling “Queries Hit Triggers” and “Queries Hit Backfaces”.
- Split “Vertical” axis into “Throttle” and “Brakes” to allow for simultaneous application of both.
- Added optional bindings: CameraRotation, CameraPanning, CameraRotationModifier, CameraPanningModifier, CameraZoom, FPSMovement and ToggleGUI. This allowed for removal of all the hard-coded inputs in the asset code and all the input now goes through InputProviders.
- Improved ImputSystem support and made InputSystem default input method.
- Renamed “NewDesktopInputProvider” to “InputSystemProvider” to prevent confusion.
- Improved InputSystem with additional, optional bindings: CameraRotation, CameraPanning, CameraRotationModifier, CameraPanningModifier, CameraZoom, FPSMovement and ToggleGUI. This allowed for removal of all the hard-coded inputs in the asset code and all the input now goes through InputProviders.
- Added gamepad support to the demo scene.
- Removed shift ban timer from manual transmission.
- Implemented 'GearShift' class which contains data about the currently occuring gear shift and is used by 'OnShift', 'OnUpshift' and 'OnDownshift' events.
- Renamed Input.AutoSettable to Input.AutoSetInput since the old name was causing confusion.
v1.0.1
- Improved the way module list is reloaded in editor, removing the delay between clicking on the modules tab and the modules being drawn.
- Fix modules added after vehicle is initialized, either through scripting or inspector, not registering.
- Fixed missing trees in the demo scene.
- Fixed two audio listeners being present in the scene for the first fame when CharacterVehicleChanger is used.
- Renamed “NewDesktopInputProvider” to “InputSystemProvider” to prevent confusion.
- Added ground check to the CameraMouseDrag.
v1.0
- Major demo improvements: two new vehicles (Lada / Rocket Carrier), mirrors and interiors on all the vehicles, camera improvements, etc. Optimized Ferrari and Monster Truck models.
- Rewritten exhaust particle code for better visuals, performance and ease of setup.
- Improved surface particles / dust. Both dust and smoke are now using the same ParticleSystem and particles are emitted on per-wheel basis.
- Added dirt chunk / pebble particles.
- Improvements to SurfacePresets with extended and improved settings.
- Added camera shake on collision.
- Make 'Validate' option validate model scale and SurfaceMap tags.
- Added “IsGrounded()” and “IsFullyGrounded()” functions to the VehicleController.
- Fixed VehicleChanger thowing an error when there are no vehicles present in the scene and 'Character Based' is used.
- Disable CameraMouseDrag movement while mouse is over UI.
- VehicleCameras now auto-find target.
- CameraMouseDrag has been rewritten with a few improvements: smoothing now keeps constant distance from the vehicle, implemented panning, new options to enable/disable dragging/panning, target position offset, initial look angle.
- Rewritten vehicle enter/exit code.
v0.9.0 - v0.9.5
Versions 0.9.0 to 0.9.5 were considered Beta releases.