Making a bullet hell game, wondering if matinee is the best method for handling bullet and enemy movement?

So, as I said I’m making a bullet hell game, and I want to deal with bullet and enemy movement as ‘presets’, and what I mean by that is that I will have a single enemy character, that, on spawn, will be assigned a model, movement pattern, and bullet pattern.

What I was wondering was how to go about making those presets?

Examples of presets I might make for projectiles would be:

Direct Spawning Preset: Spawn a particle in certain directions (decide one main direction and offset from that for continuity, and this direction could be decided by plugging info into the creation of the preset) at certain times in order to make a bullet pattern shaped like a diamond. This would not be a repeating preset in and of itself unless something else activated it multiple times.

Non-Direct Spawning Preset: Activates a different, direct spawning preset (see above) in certain directions at certain times to create an overall effect. Ex: Spawn a direct spawning preset 10 times, each facing 36 degrees different from each other in order to make bullets spawn out in 360 degrees from center. Then some time after that, change the spawn directions by 13 degrees, wait time time, then repeat. This would make an alternating pattern of diamond shaped particle groupings shoot out from the middle.

Examples of Enemy Movement Presets:

Having an enemy spawn out of screen, flying towards the other side of the screen.

Having an enemy spawn and follow a premade spline path until offscreen.

Having an enemy spawn and move towards a point above the player(or directly at the player themselves), and then move offscreen.

My question is, is matinee what I want to be using here? I don’t know all that much about matinee, so I am unsure of what it is capable of. I am fairly certain it is what I want for the enemy movement presets (just gut feeling tho), but am less certain about the bullet patterns. I kinda recall seeing something like a unique blueprint node made of other blueprint nodes and that it might be what I want, but I’d really like some professional, or at least educated, opinions on what my best course of action would be.

I have a forum post detailing the subject more, but people have yet to answer it:

Hello, Knobbynobbes!

Matinee is a slightly old and clunky tool, so I wouldn’t use it here. My recommendation is that you use blueprints to set up movement functions for your enemies. You seem to have a pretty clear idea of the way shot patterns are formed (projectiles fired at certain angles with certain speeds), so I imagine once you get used to using blueprints for enemy paths, you’ll be able to handle their shot patterns too.

If you’re new to blueprints, I’d recommend checking out some blueprints tutorials to get you up to speed. This is the one I got started with:

Good luck,


I am also making a bullet hell kinda game. I am using Curve Editor to define my bullet patterns. I also wrote a system using blueprint classes that will allow me to define a list a patterns (in a custom blueprint class variable) that will be executed in sequence. The same sequence also works if I want to execute a pattern in the background non-stop.

My blueprint class takes the name of the curve among other parameters and determine at runtime which pattern/s to execute and how many times.