Skip to content

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.

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"]

Assume your project lives at C:/Projects/MyGame/.

  1. Open the Space Rock Shooter Template FAB project.
  2. In Content Browser, select the folder SpaceShooterTemplate.
  3. Right-click → Asset Actions → Migrate → choose C:/Projects/MyGame/Content/.
  4. 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.

  1. Migrate content (above).
  2. Duplicate SpaceShooterTemplate/Maps/DemoMapContent/MyGame/Maps/AsteroidTest.
  3. Open AsteroidTestWorld Settings:
    • Game Mode OverrideBP_SpaceRockGameMode
  4. Open BP_SpaceRockGameMode → confirm Default Pawn Class = BP_Spaceship (shipped default).
  5. Edit → Project Settings → Maps & Modes → set Game Default Map to AsteroidTest (optional).
  6. Press Play — you should see WBP_PlayerHUD (spawned by the game mode, not the engine HUD class).

BP_Spaceship uses legacy axis/action events:

NameTypeGraph event
MoveForwardAxisInputAxis MoveForward
MoveRightAxisInputAxis MoveRight
FireActionInputAction Fire

Copy the same mappings from the template project’s Project Settings → Input, or rebind these events to your Enhanced Input actions.

BP_SaveGameManager defaults:

PropertyValue
Save Game Slot NameSpaceShooterSaveGame
Save Game User Index0

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.

  • 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
IssueFix
Projectiles pass through rocksAdd Asteroid channel; check BP_Projectile collision
Blank screen on playSet Game Mode Override; ensure game mode spawns WBP_PlayerHUD in Event Graph
Missing explosion particlesMigrate StarterContent/Particles/ or repoint Explosion Effects on BP_SpaceRock
Broken referencesRight-click migrated folder → Fix Up Redirectors in Folder