AVS 1.4.6 Released

AVS 1.4.6 Released

DevLogAdvanced Vehicle System

New Options And Utility Features

There are a handful of additions in this patch that are just immediately useful if you are building real gameplay systems on top of AVS.

Brake Lock Speed

There is now a BrakeLockSpeed option that defines the speed at which wheels will fully lock when the brakes are fully engaged.

Previously this behavior used a hard-coded value, which caused a few problems. It could change feel depending on the speed unit you were using, and it was not always a good fit for smaller vehicles.

Now you can tune that behavior properly, either per vehicle or in a shared base class.

Disable Skeletal Collisions

By default, AVS has always disabled collisions on skeletal meshes attached to the vehicle. In most projects that made sense, since those meshes are usually just cosmetic.

That said, some users wanted a clean way to opt out entirely instead of marking meshes one by one. There is now a bDisableSkeletalCollisions option for exactly that.

If you turn it off, AVS will stop touching collision settings on your skeletal meshes.

Upside-Down Detection

This patch adds:

  • OnVehicleFlipped
  • GetIsUpsideDown

These use UpsideDownAngleThreshold to determine when a vehicle has crossed into an upside-down state.

That opens up some nice gameplay and recovery hooks without having to reinvent that detection yourself. Whether you want to trigger audio, VFX, a reset prompt, or any other custom logic, the signal is now there.

Wheel And Physics Behavior

Wheels Pushing Physics

There is a new bWheelsPushPhysics option that lets you toggle the new default behavior of AVS wheels pushing physics actors and components.

This specifically addresses the teeter-totter issue with raycast wheels.

Before 1.4, AVS only supported physics wheels, so vehicle weight naturally propagated through the wheels into whatever object the vehicle was driving on. That is not something raycast wheels get for free, so the behavior had to be added manually in a thread-safe way.

That is now properly handled, and vehicles should feel much more natural when driving on or over physics objects.

Wheel Slip Improvements

Wheel slip also got some attention in this update.

There are general improvements to wheel slip behavior, plus two important additions:

  • bWheelSpinEnabled lets visual wheelspin behavior be toggled per wheel
  • Wheel output now includes both Slip and Slip2D
    You now have access to both total and directional slip data, which should give you more useful data to drive custom effects or logic.

This is just the beginning, there should be more wheel slip updates of this nature coming in AVS 1.5, however proper simulation will rely on the engine model being rewritten.

Trailer Hitch Networking

Trailer hitch networking got improvements aimed at better support for joining clients and lower network usage.

One specific issue this should address was a bad join-in-progress case where a hitched trailer could fail to teleport to the correct location on the joining client.

When that happened, the physics constraint would try to yank the trailer and vehicle back together, sometimes across the map, and everything would briefly turn into chaos until velocities settled down and networking managed to pull it back into line.

That behavior should now be a lot more stable.

Patch Notes

Patch 1.4.6


  • fix
    TraceChannel setup incorrectly, making it unusable
  • fix
    Memory leak when not simulating physics
  • fix
    VehicleSetup_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
  • new
    Event "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.
  • change
    Improvements to trailer hitch networking (better support for joining clients, less network usage)
  • change
    Improvements to wheel slip behavior
    • new
      'bWheelSpinEnabled' option, allows wheelspin visual behavior to be toggled per wheel
    • new
      Wheel output now includes 'Slip' and 'Slip2D' values for reading total and directional wheel slip