Migrate into your project
Use this when you want arcade-shooter systems inside a project you already have, instead of extending the standalone FAB template.
Migration overview
Section titled “Migration overview”flowchart LR FAB["FAB template project"] --> Migrate["Asset Actions → Migrate"] Migrate --> Target["Your project Content/"] Target --> Collision["Add Asteroid channel"] Collision --> GameMode["Set BP_SpaceRockGameMode"] GameMode --> Play["Play DemoMap copy"]
Example — minimal migrate into MyGame
Section titled “Example — minimal migrate into MyGame”Assume your project lives at C:/Projects/MyGame/.
- Open the Space Rock Shooter Template FAB project.
- In Content Browser, select the folder SpaceShooterTemplate.
- Right-click → Asset Actions → Migrate → choose
C:/Projects/MyGame/Content/. - Confirm dependency list (includes StarterContent/Particles used by Explosion Effects).
Minimum folders:
Content/SpaceShooterTemplate/├── Blueprints/ (all subfolders)├── Meshes/├── Materials/├── Textures/├── Sounds/├── StarterContent/Particles/└── Maps/DemoMap (optional reference map)Example — add the Asteroid collision channel
Section titled “Example — add the Asteroid collision channel”Merge into your project’s Config/DefaultEngine.ini:
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,Name="Asteroid",DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False)Or use Edit → Project Settings → Engine → Collision → Object Channels → New Object Channel… → name it Asteroid.
Without this channel, BP_Projectile hits and ship–rock On Component Hit will not behave as designed.
Example — first playable test map
Section titled “Example — first playable test map”- Migrate content (above).
- Duplicate SpaceShooterTemplate/Maps/DemoMap →
Content/MyGame/Maps/AsteroidTest. - Open AsteroidTest → World Settings:
- Game Mode Override → BP_SpaceRockGameMode
- Open BP_SpaceRockGameMode → confirm Default Pawn Class = BP_Spaceship (shipped default).
- Edit → Project Settings → Maps & Modes → set Game Default Map to AsteroidTest (optional).
- Press Play — you should see WBP_PlayerHUD (spawned by the game mode, not the engine HUD class).
Input mappings
Section titled “Input mappings”BP_Spaceship uses legacy axis/action events:
| Name | Type | Graph event |
|---|---|---|
| MoveForward | Axis | InputAxis MoveForward |
| MoveRight | Axis | InputAxis MoveRight |
| Fire | Action | InputAction Fire |
Copy the same mappings from the template project’s Project Settings → Input, or rebind these events to your Enhanced Input actions.
Save game slot
Section titled “Save game slot”BP_SaveGameManager defaults:
| Property | Value |
|---|---|
| Save Game Slot Name | SpaceShooterSaveGame |
| Save Game User Index | 0 |
Persisted struct ST_SaveGame currently stores High Score only. Rename the slot in BP_SaveGameManager if another game on the same PC already uses SpaceShooterSaveGame.
Verification checklist
Section titled “Verification checklist”- WBP_PlayerHUD start screen appears
- Start Game enables ship + asteroid spawn
- Movement, fire, screen wrap work
- Rocks destroy, award score, show WBP_HitDamage
- Lives decrease on collision; game over + restart work
- High score persists after editor restart
Troubleshooting
Section titled “Troubleshooting”| Issue | Fix |
|---|---|
| Projectiles pass through rocks | Add Asteroid channel; check BP_Projectile collision |
| Blank screen on play | Set Game Mode Override; ensure game mode spawns WBP_PlayerHUD in Event Graph |
| Missing explosion particles | Migrate StarterContent/Particles/ or repoint Explosion Effects on BP_SpaceRock |
| Broken references | Right-click migrated folder → Fix Up Redirectors in Folder |