Getting Started
Install ShmupKit and build a playable scrolling stage in Unreal Engine 5.
ShmupKit is a complete vertical shoot-'em-up framework for Unreal Engine 5.6. Everything is written in C++ and exposed to Blueprint, so you can ship a game with the kit without writing a line of code.
Install the plugin
Copy the ShmupKit folder into your project's Plugins/ directory,
creating that folder if it doesn't exist. Open the project and accept the rebuild prompt, then
enable it under Edit → Plugins and restart.
Add the projectile collision channel
This is the one step the kit cannot do for you, and nothing will collide until it's done. Go to Project Settings → Engine → Collision → Object Channels → New Object Channel.
| Field | Value |
|---|---|
| Name | SKProjectile — must match exactly |
| Default Response | Ignore |
The channel is resolved by name at runtime, so it can occupy any free slot in your project.
Point the project at the kit
Under Project Settings → Project → Maps & Modes, set
Default GameMode to BP_GameMode. It brings its own player pawn,
controller and HUD, so this single setting wires up the whole framework. Subclass any of them later.
Configure ShmupKit
All global settings live in one place: Project Settings → Game → ShmupKit.
| Setting | Purpose |
|---|---|
| Stages | Your levels in play order. The game advances through this list as each stage is cleared, and Retry returns to the first entry. |
| Stage Clear Delay | Seconds between clearing a stage and travelling to the next. Any exit animation must fit inside this. |
| Weapon Catalog | The weapons offered by the pre-run select screen. Leave empty if you aren't using it. |
| Max High Scores | How many entries the high-score table keeps. |
| High Score Slot Name | Save-slot name on disk. Change it to namespace the table away from other saves. |
| Cast Mesh Shadows | Off by default. Shmup cameras rarely show shadows to advantage, and turning them off is free performance. |
Build a level
A playable stage needs four actors. Drop them into an empty level:
| Actor | Role |
|---|---|
| BP_ScrollingBackground | The moving world. Parent all scenery meshes under its SceneRoot — one tick moves everything. Place exactly one per level. |
| SKCameraDirector | The camera. Fixed in world X; the terrain scrolls through its view. |
| BP_ScrollSpawner | Enemy placement. Enemies appear as the terrain scrolls to each spawn point. |
| PlayerStart | Where the ship begins. |
Press Play. You have a scrolling stage with a controllable ship.
Add enemies
Select the spawner, press Add Spawn Point in the Details panel, set the point's Enemy Class, and drag it to where that enemy should appear.
Setup checklist
- Plugin enabled and the editor restarted
SKProjectileobject channel added, default response Ignore- Default GameMode set to
BP_GameMode - Stages list populated in Project Settings → Game → ShmupKit
- Scrolling background, camera director, spawner and PlayerStart in the level