Extra Elements
Adding an extra element covered by the generic system
Sometimes you might want to add an extra element, such as a 5th door like the trunk. This page will help you go over what you need and how to integrate it using the already available system components.
The system currently supports up to FIVE extra vehicle functions. More can be added by request, or if you're familiar with interfaces - you can add as many as you want.
For this demonstration, I'll be adding a function which turns on a light in the trunk/boot of the hatchback.

First off set up your pieces, the box will be a signify the "button" in this instance.
Once you have your pieces in place, it's time to set up your blueprint interaction.
Drag and drop the BP_VehiclePart into your blueprint and position it where it most makes sense, in this instance, it's covering the entire cube button
BP_VehiclePart can be found in VehicleVarietyAdv -> Blueprints -> Vehicles

BP_VehiclePart overlaid the cube button
Next, select the BP_VehiclePart and change the EVehicle Parts menu under the default area to "ExtraFunction01"

Setting the vehicle part differentiates it from other parts of the vehicle
Next, head on over to the event graph and add custom event "Event Extra Function 01"

From here you can do absolutely anything you would normally do in a blueprint. In this instance, we'll toggle the visibility of the light on and off.

Simple!
If you interact with the cube in editor now, you should be able to turn the light on and off

One and off, exhilarating!
Finally, you'll want to add your UI elements. The reason this is separate from the BP_Interaction component is to add a bit more flexibility in where you place it. Simply drag and drop BP_UI_Overlap into the blueprint editor and set its general position
BP_UI_Overalap can be found under VehicleVarietyAdv -> Blueprints -> FirstPersonCharacter -> Interactibles

Visibility debug enabled, custom text and positioned above the box - the UI is in an acceptable position
Now if you press play, the extra element should behave in exactly the same way as the rest of the interactable elements in the scene!
Last modified 11mo ago