Game logic architecture ? idk what it is i am asking ^^

So i am trying to play dev here and making a 2.5D shmup game (not bullet hell)

and the way i started doing it is : (look below) anyway my question is " is this system valid ?any other direction i can take?"

Blueprint camera and “grid”

Components
1 x Camera
4 x collision box
(I use the collision boxes to stop player from getting outside the camera view and kill bullets and enemies that go outside the screen )

And bunch of scene components to create a “grid” and have a player spawn location.

The grid is made with scene components based on the scene component that i use for player spawn.
The player spawn is just a bit outside the view of the screen placed manually (3d widget - construction script)

On relative location I space the first row on x axis evenly across the screen and then i add or subtract on z axis to create columns then i get the world location of each scene component and create arrays for each column

These columns arrays which are set something like this :

(i have moving arrays of columns between the exit/spawn points and separate arrays on spawns/exits in example all front spawns are one array and all middle points are one array)

top Spawns— or —exits

BackSpawns | 1,2,3,4,5,6,M,1,2,3,4,5,6 | Front Spawns
BackSpawns | 1,2,3,4,5,6,M,1,2,3,4,5,6 | Front Spawns
BackSpawns | 1,2,3,4,5,6,M,1,2,3,4,5,6 | Front Spawns
BackSpawns | 1,2,3,4,5,6,M,1,2,3,4,5,6 | Front Spawns
BackSpawns | 1,2,3,4,5,6,M,1,2,3,4,5,6 | Front Spawns
BackSpawns | 1,2,3,4,5,6,M,1,2,3,4,5,6 | Front Spawns
BackSpawns | 1,2,3,4,5,6,M,1,2,3,4,5,6 | Front Spawns
BackSpawns | 1,2,3,4,5,6,M,1,2,3,4,5,6 | Front Spawns
BackSpawns | 1,2,3,4,5,6,M,1,2,3,4,5,6 | Front Spawns
| |
SeaBackSpawn | 1,2,3,4,5,6,M,1,2,3,4,5,6 | SeaFront Spawn

Bottom Spawns— or —exits

then i pass this arrays to an other blueprint that i have manualy made movement arrays and when i spawn an enemy i pass the movement array that it is suposed to follow

All enemy movement is on timers set location with interpolation and delta time and when “destination” is reached then it changes the “destination” to the next array element if it can fire and the array element is number “x” then it fires before it changed “Destination”

Player movement is on timers set location with interpolation and delta time

Bullets are moved on projectile movement

Anyway idk if this is sufficient explanation i think its not , maybe even more confusing then things are but i would like to continue this project of mine and some *consultation would be lovely.

Thanks for your attention and time :slight_smile:

Consultation ! not consolation !

So through a patient person (@LordNed) chatting with me in unreal slackers group i was to realize that i should not do it this way!
(have lists of moves and pass them to a single blueprint )
Ishould have a main blueprint and create childs out of it that do the specific move i want or anything with out passing a bunch of variables every time something spawns!
Yeah now it seems obvious and what is more obvious is that i should have asked like 4 months ago