Edy’s Vehicle Physics upgrade notes

Upgrading projects from Unity 4

Unfortunately, the major changes in the physics in Unity 5 makes impossible to directly upgrade a project using Edy’s Vehicle Physics in Unity 4 to work the same in Unity 5.

New projects will be working from the beginning in Unity 5, but projects coming from Unity 4 require an important upgrade process at both scripts and vehicle configuration. Old scripts must be discarded and the vehicles must be re-configured for the new components and settings. The vehicle behavior and gameplay need to be configured and fine-tuned again. However, the new package for Unity 5 has a much better design and vehicles can be composed and configured much faster.

Importing Edy’s Vehicle Physics

  1. Open your project in Unity 5 (make a backup first!). Wait for the upgrade process to be completed.
  2. Open the Asset Store, download and import Edy’s Vehicle Physics. You’ll receive the Unity 5 version.

You can have both versions of Edy’s Vehicle Physics in your project at the same time. There might be some GUID collisions at the Assets, but the scripts use different naming and namespaces.

  • Edy’s Vehicle Physics 4 is located at the folder EdyVehiclePhysics
  • Edy’s Vehicle Physics 5 is imported to the folder EVP5

Upgrading the vehicles

All components of the previous EVP version must be discarded. You may keep them disabled in your vehicles while adding and configuring the new components. Some of the property values of the old components may be reusable in the new components.

Some properties in these components can be used as reference for configuring the new ones:

  • CamMouseOrbit, CamSmoothFollow
  • CarDamage
  • CarSettings
  • CarSound

The parameters of all other scripts have little to no equivalence in the new scripts.

Script correspondence between version 4.x and version 5.x:

EVP 4 EVP 5 Notes
CameraControl
CamMouseOrbit
CamSmoothFollow
Cam*…
VehicleCameraController All camera modes are now implemented in this single script
CarAntiRollBar Use the property Anti Roll in VehicleController
CarCameras VehicleViewConfig
CarControl VehicleController
CarDamage VehicleDamage
CarExternalInput Any custom script can drive a vehicle
CarExternalInputRandom VehicleRandomInput Example of a script that feeds the vehicle with random input data
CarMain VehicleManager
SceneTools
CarSettings VehicleSettingsHelper (under development)
CarSound VehicleAudio
CarTelemetry VehicleTelemetry Can be added to the VehicleManager object for using a common telemetry component for all managed vehicles.
CarVisuals VehicleTireEffects Handles tire marks and particle effects (smoke, dust).
Visual wheels are now handled directly in VehicleController.
CarWheel
CarWheelFriction
WheelCollider settings and tire friction are processed in VehicleController.
Skidmarks, SkidSmoke GroundMaterialManager
TireMarksRenderer
TireParticleEmitter
GroundMaterialManager assigns properties to each PhysicMaterial available at the scene.
Each material can use a TireMarksRenderer and a TireParticleEmitter.
VehicleStandardInput New component for controlling vehicles using the standard Input.
Can be used individually per-vehicle (VehicleController) or together with the VehicleManager component for having the same Input settings in all managed vehicles.

Scripts noted as under development will be added at further package upgrades. Project is being developed right now for bringing all features of the previous version.

Check out the User Guide for learning how to set up the vehicles in the new EVP version.

Useful resources:

  • The scene “The City – Simple Scene” demonstrates the most simple setup with a single vehicle and the camera.
  • The scene “The City – Vehicle Manager” demonstrates how to use a Vehicle Manager object for controlling several vehicles using the same input component.

Configuring the WheelCollider components

You need to re-configure suspension Spring and Damper, as these values have different meaning in Unity 5. A rough rule of thumb for preserving the behavior is:

spring = 4 * unity4spring
damper = 15 * unity4damper

Then fine tune these values until getting a similar behavior as in Unity 4. You can leave all other properties of the WheelCollider untouched.

 

That’s pretty much all I can tell you about upgrading to Unity 5. Feel free to contact me if you need further assistance.


 

Old EVP4 resources

Archived documentation and resources from Edy’s Vehicle Physics for Unity 4: