Setup & customization
Vehicle Soccer Template is a Blueprint game project built on Chaos Vehicles and Enhanced Input. Add it from FAB, open the project in Unreal Engine 5.8, press Play, and walk through the menu flow before editing the included Blueprints.
flowchart TB
subgraph maps["Maps"]
M1["Map_MainMenu"]
M2["Map_VehicleSelection"]
M3["Map_Gameplay"]
end
subgraph core["Core Blueprints"]
GI["BP_VehicleGameInstance"]
GM["BP_VehicleGameMode"]
GS["BP_VehicleGameState"]
PC["VehiclePlayerController"]
VP["BP_VehicleParent"]
end
M1 --> GI
M2 --> GI
GI --> M3
GM --> GS
PC --> VP
M3 --> GM
Open and run
Section titled “Open and run”- Add Vehicle Soccer Template from FAB and create/open the project.
- The editor opens Map_MainMenu by default (
Content/VehicleSoccerTemplate/Maps/Map_MainMenu). - Press Play (PIE).
Default maps and the game instance are configured in Config/DefaultEngine.ini:
- Editor startup map →
Map_MainMenu - Game default map →
Map_MainMenu - Game instance class →
BP_VehicleGameInstance
First playthrough
Section titled “First playthrough”On launch you should see WBP_MainMenu:
| UI element | Behaviour |
|---|---|
| Set Player Name | Stores the display name used in scoreboards and goal callouts |
| Play Solo | Starts a local match without networking |
| Host Match / Host Game | Creates a listen server other players can join |
| Find Matches / Refresh Servers | Browses available sessions; results appear in the server list |
| Join Session | Connects to the selected server entry |
| LAN checkbox | Restricts session discovery to LAN when enabled |
| Choose Vehicle | Opens vehicle selection before match travel |
| Play Mode | EVehicleGameMode — Solo, 1 x 1, 2 x 2, 3 x 3, 4 x 4, or 5 x 5 |
| Match Time | Length of a regulation match (stored in ST_VehicleGameSettings) |
| Match Count Down | Pre-kickoff countdown duration |
| Ball Reset Countdown | Delay before the ball respawns after a goal |
After choosing a mode and vehicle, the project travels to Map_Gameplay for the stadium match.
In-match controls
Section titled “In-match controls”Input is wired on VehiclePlayerController through Enhanced Input mapping contexts under Inputs/:
| Input action | Default role |
|---|---|
| IA_MoveForward / IA_MoveRight | Throttle and steering |
| IA_Jump | Jump / dodge off the ground |
| IA_Boost | Nitro boost (limited by Max Boost pickups and UI meter) |
| IA_Handbrake | Powerslide / sharp turns |
| IA_AirRoll | Roll while airborne |
| IA_ResetCar | Flip the car upright (ResetCar on the controller) |
| IA_FocusBall | Lock camera toward the ball |
| IA_SwitchCamera | Cycle camera modes on BP_VehicleParent |
| IA_Scoreboard | Hold to show WBP_ScoreBoard |
| IA_LookRight | Camera look (mouse / right stick) |
Keyboard defaults: Inputs/IMC_KeyboardDefault. Gamepad defaults: Inputs/IMC_GamepadDefault.
Content layout
Section titled “Content layout”All template assets sit under one folder:
Content/VehicleSoccerTemplate/├── Blueprints/│ ├── BP_Ball.uasset│ ├── BP_VehicleGameInstance.uasset│ ├── BP_VehicleMacros.uasset│ ├── BP_VehicleStatics.uasset│ ├── EVehicleGameMode.uasset│ ├── EVehicleTeam.uasset│ ├── ST_VehicleGameSettings.uasset│ ├── Game/│ ├── Player/│ ├── Vehicles/│ ├── SportsCar/│ ├── OffroadCar/│ ├── Pickups/│ ├── Stadium/│ ├── VehicleSelection/│ └── Widgets/├── Inputs/├── Maps/├── Meshes/├── Materials/├── Sounds/└── FX/To reuse pieces in another project, migrate the folders you need (at minimum Blueprints/, Inputs/, vehicle meshes, and Maps/ if you want the demo levels).
Quick customization
Section titled “Quick customization”Match rules
Section titled “Match rules”Open BP_VehicleGameMode and expand Vehicle Game Mode Settings (or edit the same fields on WBP_MainMenu):
| Setting | Purpose |
|---|---|
| Play Mode | Solo for offline play, or 1 x 1 … 5 x 5 for team sizes when hosting |
| Match Time | Regulation match length in seconds |
| Match Count Down | Countdown shown before BeginMatch |
| Ball Reset Countdown | Pause after a goal before the ball respawns |
BP_VehicleGameState owns runtime match state:
| Property / function | Purpose |
|---|---|
| Team One Score / Team Two Score | Live scoreline replicated to clients |
| Match Time | Remaining match clock |
| bIsOvertime | Sudden-death overtime flag |
| bCanScoreGoal | Gate to ignore goals during countdown or replays |
| BeginMatch / bEndMatch | Match lifecycle entry points |
Goal Details (ST_Goal) | Last scorer name and scoring team |
Vehicles
Section titled “Vehicles”All drivable cars inherit from BP_VehicleParent:
| Property / behaviour | Purpose |
|---|---|
| bIsBoostActive / boost meter on WBP_VehicleUI | Nitro state and HUD feedback |
| bLockToBall / bIsCameraLockedToBall | Ball-tracking camera |
| BackCamera | Follow camera component |
| Ball Pointer Arrow Component | On-screen hint toward the ball |
Concrete pawns:
| Blueprint | Notes |
|---|---|
| SportsCar_Pawn | Lower, grippy sports car with dedicated wheel Blueprints |
| OffroadCar_Pawn | Higher-suspension off-road variant |
Register additional cars in DT_Vehicles (ST_VehicleSelectionData rows with Name, Description, and Class → your pawn Blueprint). Default rows: Sports → SportsCar_Pawn, Offroad → OffroadCar_Pawn.
Ball and goals
Section titled “Ball and goals”| Asset | Customize |
|---|---|
| BP_Ball | Physics material PM_SoccerBall, trail FX NS_BallTrail, hit radius / replication |
| BP_GoalPost | Goal Post Team (EVehicleTeam: TeamOne / TeamTwo) and Goal Post Extent box size |
Pickups
Section titled “Pickups”Pickups derive from BP_BasePickup:
| Property | Purpose |
|---|---|
| Pickup Radius | Overlap sphere size |
| Respawn Time | Seconds before the pickup reappears (bIsRespawnable) |
| bStackable | Whether duplicate effects can stack |
Spawnable variants in Pickups/Spawnables/:
| Blueprint | Effect |
|---|---|
| BP_Boost | Refills boost (Boost Intensity, Max Boost) |
| BP_BallImpulser | Applies impulse to the ball |
| Widget | Customize |
|---|---|
| WBP_MainMenu | Session buttons, match settings spin boxes, server browser |
| WBP_VehicleSelection | Car cards fed by DT_Vehicles |
| WBP_VehicleUI | In-match score, countdown, boost bar, goal splash, overtime text |
| WBP_ScoreBoard / WBP_ScoreEntry | Hold-to-view scoreboard rows |
Online
Section titled “Online”BP_VehicleGameInstance wraps Unreal session APIs:
| Setting / flow | Purpose |
|---|---|
| bUseLAN | LAN-only discovery |
| Max Results | Server browser result cap |
| Host Match / Find Matches / Join Session | Called from WBP_MainMenu |
The project sets DefaultPlatformService=Null in DefaultEngine.ini for local testing. Swap to your platform OSS plugin before shipping console/Steam builds.
Physics note
Section titled “Physics note”Chaos sub-stepping is enabled in DefaultEngine.ini (bSubstepping=True, MaxSubsteps=6) for stable ball and vehicle interaction. Keep these values if you migrate the template into another project.
Next steps
Section titled “Next steps”- Play through the shipped flow → Getting Started
- Step-by-step guides and example presets → Tutorial overview
- Full actor, component, and event list → Blueprint reference
- Swap materials under
Materials/and vehicle meshes underMeshes/SportsCar/orMeshes/OffroadCar/ - Duplicate Map_Gameplay as a starting point for new stadium layouts