Excluded vehicles are a special kind of vehicle marked as Don't Instantiate inside the Vehicle Pool. These vehicles will not be instantiated by the system unless the user specifies to be instantiated using this method. Read more about them Add vehicles to the pool

The AddExcludedVehicle method will instantiate an excluded vehicle, the vehicle will work normally, but when it is removed it will not be instantiated again. Call AddExcludedVehicleToSystem to make it behave like a regular traffic vehicle.

If the index sent as a parameter is not an excluded vehicle, it will be ignored.


public static void AddExcludedVehicle(int vehicleIndex, Vector3 position)

public static void AddExcludedVehicle(int vehicleIndex, Vector3 position, UnityAction<VehicleComponent, int> completeMethod)




Index of the excluded vehicle.


The instantiation location. it will be the closest waypoint to this position.


Callback triggered after instantiation. It returns the VehicleComponent and the waypoint index where the vehicle was instantiated.


GameObject instantiateLaterVehicle;

//after the traffic system is initialized
void OnTrafficInitializedCallback()
    //get the complete list of excluded vehicle
    List<VehicleComponent> excludedVehicle = API.GetExcludedVehicleList();

    foreach (VehicleComponent vehicleComponent in excludedVehicle)
        if (vehicleComponent.vehicleType == VehicleTypes.SomeType)
            //do something
            //save the vehicle
            //do whatever you want

            //I will save the GamaObject for later use
            instantiateLaterVehicle = vehicleComponent.gameObject;

//at the right time instantiate the vehicle using one of those 2 options
void InstantiateExcludedVehicle()
    //manually add vehicle to a specified position
    API.AddExcludedVehicle(API.GetExcludedVehicleIndex(instantiateLaterVehicle), position);

    //add the vehicle to the system and it will be automatically instantiated like any other vehicle

Last updated