Skip to content

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
  1. Add Vehicle Soccer Template from FAB and create/open the project.
  2. The editor opens Map_MainMenu by default (Content/VehicleSoccerTemplate/Maps/Map_MainMenu).
  3. Press Play (PIE).

Default maps and the game instance are configured in Config/DefaultEngine.ini:

  • Editor startup mapMap_MainMenu
  • Game default mapMap_MainMenu
  • Game instance classBP_VehicleGameInstance

On launch you should see WBP_MainMenu:

UI elementBehaviour
Set Player NameStores the display name used in scoreboards and goal callouts
Play SoloStarts a local match without networking
Host Match / Host GameCreates a listen server other players can join
Find Matches / Refresh ServersBrowses available sessions; results appear in the server list
Join SessionConnects to the selected server entry
LAN checkboxRestricts session discovery to LAN when enabled
Choose VehicleOpens vehicle selection before match travel
Play ModeEVehicleGameModeSolo, 1 x 1, 2 x 2, 3 x 3, 4 x 4, or 5 x 5
Match TimeLength of a regulation match (stored in ST_VehicleGameSettings)
Match Count DownPre-kickoff countdown duration
Ball Reset CountdownDelay before the ball respawns after a goal

After choosing a mode and vehicle, the project travels to Map_Gameplay for the stadium match.

Input is wired on VehiclePlayerController through Enhanced Input mapping contexts under Inputs/:

Input actionDefault role
IA_MoveForward / IA_MoveRightThrottle and steering
IA_JumpJump / dodge off the ground
IA_BoostNitro boost (limited by Max Boost pickups and UI meter)
IA_HandbrakePowerslide / sharp turns
IA_AirRollRoll while airborne
IA_ResetCarFlip the car upright (ResetCar on the controller)
IA_FocusBallLock camera toward the ball
IA_SwitchCameraCycle camera modes on BP_VehicleParent
IA_ScoreboardHold to show WBP_ScoreBoard
IA_LookRightCamera look (mouse / right stick)

Keyboard defaults: Inputs/IMC_KeyboardDefault. Gamepad defaults: Inputs/IMC_GamepadDefault.

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).

Open BP_VehicleGameMode and expand Vehicle Game Mode Settings (or edit the same fields on WBP_MainMenu):

SettingPurpose
Play ModeSolo for offline play, or 1 x 15 x 5 for team sizes when hosting
Match TimeRegulation match length in seconds
Match Count DownCountdown shown before BeginMatch
Ball Reset CountdownPause after a goal before the ball respawns

BP_VehicleGameState owns runtime match state:

Property / functionPurpose
Team One Score / Team Two ScoreLive scoreline replicated to clients
Match TimeRemaining match clock
bIsOvertimeSudden-death overtime flag
bCanScoreGoalGate to ignore goals during countdown or replays
BeginMatch / bEndMatchMatch lifecycle entry points
Goal Details (ST_Goal)Last scorer name and scoring team

All drivable cars inherit from BP_VehicleParent:

Property / behaviourPurpose
bIsBoostActive / boost meter on WBP_VehicleUINitro state and HUD feedback
bLockToBall / bIsCameraLockedToBallBall-tracking camera
BackCameraFollow camera component
Ball Pointer Arrow ComponentOn-screen hint toward the ball

Concrete pawns:

BlueprintNotes
SportsCar_PawnLower, grippy sports car with dedicated wheel Blueprints
OffroadCar_PawnHigher-suspension off-road variant

Register additional cars in DT_Vehicles (ST_VehicleSelectionData rows with Name, Description, and Class → your pawn Blueprint). Default rows: SportsSportsCar_Pawn, OffroadOffroadCar_Pawn.

AssetCustomize
BP_BallPhysics material PM_SoccerBall, trail FX NS_BallTrail, hit radius / replication
BP_GoalPostGoal Post Team (EVehicleTeam: TeamOne / TeamTwo) and Goal Post Extent box size

Pickups derive from BP_BasePickup:

PropertyPurpose
Pickup RadiusOverlap sphere size
Respawn TimeSeconds before the pickup reappears (bIsRespawnable)
bStackableWhether duplicate effects can stack

Spawnable variants in Pickups/Spawnables/:

BlueprintEffect
BP_BoostRefills boost (Boost Intensity, Max Boost)
BP_BallImpulserApplies impulse to the ball
WidgetCustomize
WBP_MainMenuSession buttons, match settings spin boxes, server browser
WBP_VehicleSelectionCar cards fed by DT_Vehicles
WBP_VehicleUIIn-match score, countdown, boost bar, goal splash, overtime text
WBP_ScoreBoard / WBP_ScoreEntryHold-to-view scoreboard rows

BP_VehicleGameInstance wraps Unreal session APIs:

Setting / flowPurpose
bUseLANLAN-only discovery
Max ResultsServer browser result cap
Host Match / Find Matches / Join SessionCalled 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.

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.

  • 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 under Meshes/SportsCar/ or Meshes/OffroadCar/
  • Duplicate Map_Gameplay as a starting point for new stadium layouts