Migrate into your project
Use this when you want the template’s vehicle soccer systems inside a game you already have, instead of building on the standalone FAB project.
flowchart TD A["Migrate VehicleSoccerTemplate content"] --> B["Enable ChaosVehicles, EnhancedInput, CommonUI"] B --> C["Merge DefaultEngine.ini settings"] C --> D["Set GameInstanceClass"] D --> E["Override arena map Game Mode"] E --> F["Place PlayerStarts and GoalPosts"] F --> G["Copy Inputs folder"] G --> H["PIE smoke test"]
1. Migrate content
Section titled “1. Migrate content”- Open the Vehicle Soccer Template project from FAB.
- In the Content Browser, select
Content/VehicleSoccerTemplate/(or specific subfolders you need). - Right-click → Asset Actions → Migrate.
- Choose the Content folder of your target project and confirm.
Minimum set for full gameplay:
VehicleSoccerTemplate/Blueprints/(all subfolders)VehicleSoccerTemplate/Inputs/VehicleSoccerTemplate/Meshes/,Materials/,Textures/,Sounds/,FX/VehicleSoccerTemplate/PhysicsMaterials/VehicleSoccerTemplate/Maps/Map_MainMenu,Map_VehicleSelection,Map_Gameplay(optional reference levels)
2. Enable required plugins
Section titled “2. Enable required plugins”The template expects these plugins (see VehicleSoccer_v2.uproject):
| Plugin | Purpose |
|---|---|
| ChaosVehiclesPlugin | Car physics pawns |
| EnhancedInput | VehiclePlayerController bindings |
| CommonUI | Menu widget infrastructure |
Enable the same plugins in your target .uproject, then restart the editor.
3. Copy project settings
Section titled “3. Copy project settings”Merge these sections from the template Config/DefaultEngine.ini into your project:
[/Script/EngineSettings.GameMapsSettings]GameInstanceClass=/Game/VehicleSoccerTemplate/Blueprints/BP_VehicleGameInstance.BP_VehicleGameInstance_C
[/Script/Engine.PhysicsSettings]bSubstepping=TrueMaxSubsteps=6Point GameInstanceClass at the migrated BP_VehicleGameInstance path. Keep Chaos sub-stepping for stable ball collisions.
Set your startup map to Map_MainMenu or wire BP_VehicleGameInstance travel from your own front-end.
4. Wire game mode and player classes
Section titled “4. Wire game mode and player classes”BP_VehicleGameMode expects:
- Player controller → VehiclePlayerController
- Game state → BP_VehicleGameState
- Player state → BP_VehiclePlayerState
- Default pawn → a BP_VehicleParent child (from DT_Vehicles)
For a quick test in your project:
- Duplicate Map_Gameplay or open your arena map.
- World Settings → Game Mode Override → BP_VehicleGameMode.
- Place BP_VehiclePlayerStart actors for each spawn slot and two BP_GoalPost actors with opposing Goal Post Team values.
- Place a BP_Ball instance (or let the game mode spawn it at Ball Spawn Transform).
5. Enhanced Input in your project
Section titled “5. Enhanced Input in your project”Copy VehicleSoccerTemplate/Inputs/ and ensure your VehiclePlayerController (or project input settings) registers:
- IMC_KeyboardDefault
- IMC_GamepadDefault
DefaultInput.ini should keep:
DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInputDefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent6. Online subsystem
Section titled “6. Online subsystem”The template uses DefaultPlatformService=Null for offline testing. Replace with your shipping OSS (Steam, EOS, etc.) and retest Host Match, Find Matches, and Join Session on WBP_MainMenu.
Example — minimal migration into MyArenaGame
Section titled “Example — minimal migration into MyArenaGame”Suppose you already have a C++ arena project and only need vehicle soccer gameplay in one map.
What to migrate
Section titled “What to migrate”Content/MyArenaGame/ ← your existing gameContent/VehicleSoccerTemplate/ ← migrated folder (full tree)Minimum migrate selection from the FAB project:
VehicleSoccerTemplate/Blueprints/(entire tree)VehicleSoccerTemplate/Inputs/VehicleSoccerTemplate/PhysicsMaterials/VehicleSoccerTemplate/Meshes/,Materials/,Textures/,Sounds/,FX/VehicleSoccerTemplate/Maps/Map_Gameplay(reference layout)
Config snippet for MyArenaGame/Config/DefaultEngine.ini
Section titled “Config snippet for MyArenaGame/Config/DefaultEngine.ini”[/Script/EngineSettings.GameMapsSettings]GameInstanceClass=/Game/VehicleSoccerTemplate/Blueprints/BP_VehicleGameInstance.BP_VehicleGameInstance_C
[/Script/Engine.PhysicsSettings]bSubstepping=TrueMaxSubsteps=6Keep your existing GameDefaultMap if you only want soccer on one level — do not overwrite it unless you want Map_MainMenu as the project entry point.
Wire one test arena
Section titled “Wire one test arena”- Open your stadium map (or duplicate Map_Gameplay into
Content/MyArenaGame/Maps/). - World Settings → Game Mode Override → BP_VehicleGameMode.
- Place four BP_VehiclePlayerStart actors (two per side).
- Place two BP_GoalPost actors:
- Goal A → Goal Post Team = TeamOne
- Goal B → Goal Post Team = TeamTwo
- Press Play with Number of Players =
1and confirm Sports spawns from DT_Vehicles.
Plugins to enable in MyArenaGame.uproject
Section titled “Plugins to enable in MyArenaGame.uproject”{ "Name": "ChaosVehiclesPlugin", "Enabled": true },{ "Name": "EnhancedInput", "Enabled": true },{ "Name": "CommonUI", "Enabled": true }Restart the editor after editing the .uproject file.
Smoke-test checklist
Section titled “Smoke-test checklist”| Step | Pass criteria |
|---|---|
| PIE on your arena map | VehiclePlayerController possesses SportsCar_Pawn or selected DT_Vehicles class |
| Drive into BP_Ball | Ball moves; NS_BallTrail visible |
| Score on opponent goal | WBP_VehicleUI updates team score; MS_Goal plays |
| Hold Tab | WBP_ScoreBoard appears |
Next steps
Section titled “Next steps”- Getting started — customization overview
- Tutorial overview — match rules, vehicles, and HUD guides