Patch 1.5.3
- fix
GearChangedevent pins (PreviousGear, CurrentGear) not redirecting to OldGearIndex, NewGearIndex in existing blueprints - fixVehicle not yet initialized when Blueprint BeginPlay runs (
GetInitializationStatereturning false), regression from 1.4 - fix[Wheel Reprojection] Projected wheel meshes colliding with the ground, holding the vehicle up on its wheel meshes instead of its suspension
- fix[Wheel Reprojection] "Connect to Bone" constraining the bone to the hidden wheel mesh instead of the projected mesh
- fix[Wheel Reprojection] Projected wheel mesh left behind after
RemoveWheelorDestroyWheelMesh - fix[Wheel Reprojection] Projected wheel mesh not updating after
ChangeStaticMesh - change[Wheel Reprojection]
CamberCompressed/CamberDecompressed/ReprojectionSmoothAlphadefaults restored to 1.4 values - changeExcess suspension compression force now eases in over half the spring length past full compression instead of switching on instantly (reduces bouncing on fully compressed springs)
- changeMerge
VehicleSetup_HUDchanges from AVS 1.4 branch - fix
BrakeLockSpeedlocking wheels with no brakes, now only locks braking, handbrake, or driving wheels- Info:
BrakeLockSpeedchange in 1.5.2 was incorrect and allowed non-braking wheels to lock.
- fixSuspension pulling the vehicle toward the ground (and reversing tire friction) when rebound damping exceeded the spring force
- fixSuspension had no damping past full compression (regression from 1.5.0)
- INFOOptimization: Hitched trailers no longer send movement network updates that every client discarded
- fixHitched trailers left behind when the towing vehicle teleports (
TeleportVehicle, or a network correction over 30 m) - fix
TeleportVehiclemisplacing physics wheels on scaled vehicles - fixVehicle lights not working, light controller
Relationsfrom 1.4 vehicles loading blank (regressed in 1.5.0)- Info: Vehicles re-saved in 1.5.0 - 1.5.2 already lost their
Relationsvalues and need them re-entered
- fixLight controller
Relationsnot editable in the Details panel (regressed in 1.5.0)
Patch 1.5.2
- fixCenter of mass component not working as expected, "Visualize Center of Mass" also not working
- fixAVS_CoreDefaults missing a hard reference and sometimes fails to be included in packaged builds, causing a crash on vehicle spawn
- fixWheel trace offsets get cached incorrectly in rare cases when BodyInstance is not ready at spawn
- fixAutomatically created wheel shapes not setting up blocking collisions
- fix"Connect to Bone" feature not creating correct bone constraints
- fixDebugHUD not being removed when vehicle possession ends
- fixChanging
DisableSkeletalCollisionshas no effect - fix25 TPS ticking too slowly at certain frame rates (ie: 60 FPS = 20 TPS)
- fix
AddWheelcreates duplicate wheels meshes whenWheelReprojectionis enabled - fixGetGear functions returning incorrectly for invalid indexes
- fix[Physics Wheel Mode] SetSpring functions not updating constraints
- fix
TeleportVehiclefunction not working - fix[Wheel Effects] Global Effects only checking creation requirements once, meaning effects such as skids likely never get created
- fixEngine RPM dropping to the gear's LowRPM when releasing throttle while in gear
- fix
BrakeLockSpeedonly locking driving and handbrake wheels instead of all wheels - fixEngine RPM revving up and down too quickly while in neutral
- fixAutomatic transmission downshifting to 1st gear instead of the next suitable gear
- fix
AddWheelTraceIgnoreActorandTraceIgnoreActorshaving no effect on wheel traces - changeAVS_Vehicle constructor now includes ObjectInitializer (allow override of subobjects)
- changeAdded _API to CommonFunctions (allow references from external modules)
- changeRenamed
GetPluginVersiontoGetAvsPluginVersionto avoid confusion - INFOOptimization: Do not create WheelController until it's needed by physics wheels
- INFOOptimization: Reorder initialization to avoid repeated or unnecessary work
- INFOInfo: Optimization work reduced average AVS vehicle creation overhead by approximately 35%, including a 49% reduction in AVS
BeginPlaycost.
Patch 1.5.1
- fixWheels behaving incorrectly on moving platforms
- fixAdd missing C++ overrides for GearChanged, ShifterChanged, UpdateLightDecorations
- fixBeginPlay error caused by CameraPivot
Release 1.5.0
- newFull C++ conversion. Every line of blueprint code has been ported to C++. This was the bulk of the work and the reason this release took as long as it did.
- newNew AVS_CameraPivot component. Set up complex camera behavior without building it from scratch each time - including how the camera reacts when the vehicle flips, G-force movement, trailing, lag, and so on.
- newNew WheelEffects system. Effects are configured as an array of logic objects that can contain any custom code.
- Old SurfaceEffects system removed, ported over as a new WheelEffect
- BrakeSqueal wheel effect included as an example of custom C++ effect logic
- Custom WheelEffect logic can also be written in Blueprints
- changeDamping reworked. More stable at high speeds, no more instability around 140 MPH from velocity leakage.
- newAdvanced: New override surface for custom drivetrain and physics force overrides. Users can now implement their own drivetrain and physics force logic.
- changeTrailer networking improvements.
- Adaptive send rate: trailers update more when needed, stop updating while resting.
- newStats screen added:
stat AVS - changeComponent base class unification across the entire plugin
- INFOInfo: All 1.4 releases from 1.4.4 onward consisted of changes backported from 1.5 development
Patch 1.4.6
- fixTraceChannel setup incorrectly, making it unusable
- fixMemory leak when not simulating physics
- fixVehicleSetup_HUD fps calculations now use safe divide, avoiding invalid values when delta time is not initialized
- new'BrakeLockSpeed' option, sets the speed at which the wheels will fully lock up to hold the vehicle still when brakes are fully engaged.
- new'DisableSkeletalCollisions' option, allows you to toggle the default behavior of AVS disabling skeletal collisions
- new'AddWheelTraceIgnoreActor' function, convenience function for adding actors to the trace ignore list on the wheel
- newEvent "OnVehicleFlipped" that fires when the vehicle Up angle changes past "UpsideDownAngleThreshold" config
- new'GetIsUpsideDown' function, returns the current upside down state using 'UpsideDownAngleThreshold'
- new'bWheelsPushPhysics' option, allows you to toggle the default behavior of AVS wheels pushing physics actors/components. This fixes the teeter totter issue when using raycast wheels.
- changeImprovements to trailer hitch networking (better support for joining clients, less network usage)
- changeImprovements to wheel slip behavior
- new'bWheelSpinEnabled' option, allows wheelspin visual behavior to be toggled per wheel
- newWheel output now includes 'Slip' and 'Slip2D' values for reading total and directional wheel slip
Patch 1.4.5
- fixVehicles becoming stuck when stopped and in contact with something
- revert"Physics refusing to come out of sleep" fix from 1.4.4
- This fix was misdiagnosed and the fix above was the correct fix
- changeSeparate SimData into it's own widget, so it can be reused inside other widgets
Patch 1.4.4
- newOption to set skid effect speed by surface type
- fixPhysics refusing to come out of sleep causing vehicles to ignore inputs
- fixTrailers not hitching at the correct location when a vehicle is scaled
- fixSuspension aggressively flinging vehicle when it lands at an angle
Patch 1.4.3
- new'SteeringRecenterSpeed' option (The speed at which steering returns to zero)
- Note: This will change steering behavior, unless you are using the default value for SteeringSpeed. Configure it after updating the plugin.
- changeDebug menu now appears on clients as well, when "Display Debug Menu" is toggled
- fixCopy how epic sets up their root components to hopefully avoid future BP corruption bugs
- fixWheelConfig.WheelPrim not having a default value, causing compile issues in some cases
Patch 1.4.2
- INFOUnreal 5.4 Support, this patch is for UE5.4 only.
Patch 1.4.1
- new'GetIsSteerableWheel' for vehicle wheels
- newImplemented passive mode in wheel components
- changeAdd manual control over wheel brake torque amount (deprecated "BrakePressure" in Wheel in favor of this)
- changevehicle movement networking to use Unreal's replicated world time, instead of calculating times locally. This allows the state queue to more accurately drop late rpcs, decreasing jitter.
- changeImproved suspension for physics wheel mode
- Springs now work on wheels with no contact
- Contact trace is now works the same as raycast wheels
- fixWheel spinning in place when a vehicle is at rest
- fixVehicles 'floating' around after going into network rest on clients
- fixPhysics jitter when stationary and pressing an input
- fixNaN error and poor performance when not using a wheel mesh with raycast wheels
- fixCorrected return name on GetWheelRadius
- fixSuspension ignores contact normal, causing vehicle to move incorrectly. Thanks @Elitic
Release 1.4.0
- newRaycast wheel mode, supports runtime wheel mode switching
- newPassive Mode Vehicles now enter a passive mode while idling, which disables ticking
- newSuspension limits preview in VehicleSetupHUD
- changeResting now waits 3 seconds after entering the velocity threshold (to avoid RPC thrashing)
- changeNetwork resting is now decoupled from local resting, but copies it's state
- changeReworked all suspension related code, large performance increase over 1.3
- changePhysics wheels no longer use collision hits to detect contact (instead uses raycast)
- changeTeleportVehicle now includes an option to maintain velocities relative to the vehicle chassis
- fixNetwork relevancy not being updated when not using a custom camera manager
Patch 1.3.3
- INFOFix compiler issue on linux
- INFOSupport for Unreal 5.1
Patch 1.3.2
- fixUpdate suspension to only use chaos transforms in calculations (Fix physics jittering and other weirdness)
- fixChangeStaticMesh on Vehicle_Wheel causing physics errors after toggling physics off/on (Fixed contact modification not updating)
- fixSuspension downforce not working when vehicle is upside down
- changeUpdated VehicleSetupHUD to show Vehicle Mass and Physics tick rate.
- changeUpdated VehicleSetupHUD coloring to help with readability
- changeMoved some wheel specific code out of AVS_Vehicle and into Vehicle_Wheel
Patch 1.3.1
- fixOccasional physics thread error on vehicle initialization (Fixed race condition between vehicle init and physics thread)
- fixWheels go to sleep and don't follow vehicle when in network rest mode
- changeSuspension damper updated to be more realistic
- changeSuspension damper (Shock Absorption) now uses kNs/m (Kilonewton second per meter) as units
Release 1.3.0
- INFOUE5/Chaos Port
Patch 1.2.8
- changeResting now waits 3 seconds after entering the velocity threshold (to avoid RPC thrashing)
- changeNetwork resting is now decoupled from local resting, but copies it's state
- newPassive Mode Vehicles now enter a passive mode while idling, which disables ticking and sets network dormancy
- INFOthe following backported from 1.3.x-
- INFOFix network relevancy not being updated when not using a custom camera manager
- INFOFix gear struct variables not being initialized properly, causing warnings while packaging
- INFOFix linux compiler issue
- INFOUpdate plugin structure to be compliant with BuildSettings.V2
- INFOAdd GetUnrealEngineVersion function
- INFOUpdate VehicleSetup_HUD similar to the UE5 version (Add VehicleMass, PhysicsState, UnrealVersion)
- INFOAdd "PreviewInEditor" setting in wheels, used to preview wheel travel
- INFOAdd "RollingResistance" setting in wheels
Patch 1.2.7
- newExperimental Feature: WheelReprojectionCamber, adds on to the wheel reprojection feature allowing cosmetic wheel camber
- fixRevert change to PostPhysics tick group as default (PostPhysics causes issues with network replication)
- changeVehicleSetupHUD now shows Handbrake input
Patch 1.2.6
- newStability Control System, attempts to keep vehicle aligned with direction of travel (disabled by default)
- newBy request, helper function to destroy components owned by the AVS_Vehicle
- newNetwork options for syncing location/rotation individually, can be changed during runtime
- newSupport for cinematics in Unreal 4.26+ (Requires wheel meshes to be added manually when setting up vehicles)
- changeChangedGear function now receives Previous and Current gear values (useful for checking shift direction)
- changeRemoved "LinearDrag" option, now just uses the Linear Damping from VehicleMesh directly
- fixWheels not working correctly while detached when using the "Prevent Wheel Clipping" setting
- fixErrors on dedicated servers related to wheel controllers
- fixVehicle suspension raising/dropping when pressing the throttle while the "Dynamic Air Drag" setting is enabled
- fixVehicleMesh physics never go to sleep (performance improvements)
- fixHost client sending double inputs (network improvements)
- fixUpdateWheelLocks being called more than necessary (performance improvements)
- fixWheel properties not being properly applied to manually added wheel meshes
Patch 1.2.5
- newVehicle_Wheel can now change location/rotation at runtime easily using the SetWheelPosition function
- newAutomatic Shifter Position, automatically changes PRND based on current vehicle inputs
- newCombined function for Throttle and Brake called SetThrottleAndBrakeInput, Negative throttle used as brake, brake as reverse when Automatic Shifter Position is enabled
- newChangedGear event
- newNew option "Prevent Wheels Clipping" that prevents wheels from getting stuck in the ground or under objects
- fixUpdateLightDecorations function changed from private to protected, as it's intended to be overridden
- fixDedicated server error spam related to wheel particles
- fixVarious improvements to access specifiers
Patch 1.2.4
- fixMP: Client vehicles being flung when physics gets enabled in certain circumstances
- fixVehicle_Wheel ChangeStaticMesh function failing when called after construction but before onBeginPlay (such as in onRep functions)
Patch 1.2.3
- newEXPERIMENTAL FEATURE - Wheel Reprojection, fixes wheels 'tilting' in high friction/weight scenarios
- Note: Does not currently work with Adding/Removing wheels, or wheel detachment. Possibly broken with other features enabled
- newZero throttle while shifting config setting
- changeVehicleSetupHUD now shows the internally used speed unit instead of MPH
- changeAdded acceleration to the VehicleSetupHUD, and made many back end improvements
- changeAdded Vehicle Hitch to the correct category in the component menu
- changeAdded/Updated function descriptions related to the 1.2 update
- fixRemoved "Host Trailer Rotation" from showing in the config
- fixAccess error after killing a trailer that is hitched to a vehicle
- fixError spam for engine and skid sounds on dedicated servers
- fix"No mesh detected!" error showing incorrectly when duplicating wheels in the editor
- INFORemoved various sections of old code
Patch 1.2.2
- fixWheels being in the wrong location on skeletal meshes
Patch 1.2.1
- fixCompile error due to private function in Vehicle_Hitch
Release 1.2.0
- fixGetCurrentSteeringInput's output name being "AirSpeed" instead of "SteeringInput"
- fixAll spotlights connected to vehicle incorrectly getting their visibility set to false during onBeginPlay
- fixSpeedUnit incorrectly showing in config (Is used internally only)
- fixDivide by Zero error on vehicles with no driving wheels (like trailers)
- fixEngine not starting on clients on vehicles with no engine audio
- fixLightControllers not being marked active when used with no light sources
- fixPossible Editor crash when reordering components in a vehicle blueprint
- changeGetPluginVersion now reads directly from the Plugin info
- changeIgnition sound now plays on all clients (EngineRunning is now networked differently)
- changeLights System now supports all light types (as opposed to just spotlights)
- changeNeutral gear now properly calculates independent of wheel speed
- changeEngineRunning now defaults to false
- changeMovement synchronization is now smoothed, new option for smoothing amount
- changeVehicles now limit their max angular velocity, added corresponding setting in "Vehicle - Physics"
- newTrailer Support and Hitching system
- newAdded network rest states for significantly better network performance
- newFunctions for Adding/Removing Wheels at runtime
- newFunction for offsetting custom center of mass
- newOptions to Start with Physics (default true), Start with Engine Running (default false)
Patch 1.1.1
- newWheel effects now support different surfaces
- newConfig for unit of speed used internally
- newGetAcceleration node (returns change of speed per second)
- fixRare full desync on clients caused by the network owner changing
- fixFixed throttle sticking when unpossessing a vehicle (Previous fix only worked in singleplayer)
- changeUpdated vehicle setup HUD with better layout and now shows default values instead of 0
- INFOExperimental: Added experimental option to limit acceleration to (SelectedSpeedUnit per Second)
Release 1.1.0
- newUnreal 4.25 Support
- newWheel Effects! Skid Marks, Smoke, Sound Effects!
- newSupport for overriding/controlling torque and speed on a per wheel basis
- fixVehicleSetup_HUD breaking vehicles onBeginPlay (due to a change in UE4.23)
- fixGetRotationSpeed output name
- fixWheel meshes that had their scale changed would report the wrong radius causing vehicles to be over/underpowered
Patch 1.0.2
- newProper input functions, deprecated input nodes now link to this internally
- newAdded GetPluginVersion function
- newOption for DynamicAirDrag, instead of always being on
- newAdded new component for editing and visualizing center of mass
- changeWheel variables now initialize during construction instead of onBeginPlay
- changeDefault steering curve now has a higher minimum steering percent (0.3 vs 0.1)
- changeNetcode now takes latency into account when syncing physics, making it much smoother
- changeRenamed some wheel detach/attachment nodes to make their use more clear. Old nodes still exist and are marked as deprecated.
- changeDynamicAirDrag now allows editing the default Drag
- changeDynamicAirDrag now aggressively applies drag when not moving to prevent unwanted movements
- fixClamped throttle and brake inputs to prevent controllers doubling inputs
- fixStutter every 5 seconds or so on clients when replicating
- fixSome config variables unable to be changed on UE4.24
- fixEngine Audio component throwing errors on dedicated servers
- fixBrakes/Throttle inputs stuck when unpossessing vehicle
Patch 1.0.1
- INFOInitial marketplace launch
- INFOFixed compile error
Release 1.0.0
- INFO