Third year uni project... stuck on scripting in game hud

Im making a user interface for a dance game, replicating the UI of dance dance revolution.
I’m stuck on figuring out how to get the blueprints to make the arrows come down on the screen in game and as the player touches the keys have a pop up of the feedback there are four different stages of this “bad” “poor” “great” “awesome”

I’ve been unable to find anything to help me figure this out, does anyone know of anything that can point me on the right direction?

Do you want them to be 2D assets on the HUD, or ingame assets that move in front of the camera.

For the HUD, you need to put your arrow assets in a canvas, you can then pan the y position of the image through the canvas. You will want to use an Interp node to make the scrolling down smooth.

In game is easier. YOu could let gravity do the work and just spawn them above the camera position and let them fall, or if no physics, update their height position.

It’s probably easiest to make a blueprint actor that you place in the level that manages the arrows.

Without programming it for you I can tell you a few things you will need to do without going into too much detail.

For each song (Implying you will have more than one), you will need to pre-define the arrows coming down.
You could have a system where the arrows are changing their translation on their Y-axis at predefined times. I’d suggest branching off of the delta seconds node in your event being play and creating (assumably) many variables for exact times. This would take some serious testing to ensure the times are accurate and should be pulled off in the UMG design tab of your HUD.

  1. Using this system, you should have 4 layers on the X-Axis, each for left, up, right and down in a horizontal box with appropriate padding. This will give a place for the arrows to move vertically. This will be housed inside of a canvas panel and placed neatly where you want it (top left of screen if I remember correctly?).

  2. Then of course in each slot on the horizontal box you should have vertical boxes for each of the 4 to provide the area for the arrows to move downward as explained in step 1.

  3. You need to set up additional layers to depict when the user should enter keys e.g in the center area of your vertical boxes.

  4. Set up translations at certain times. So set up a variable labeled 10 seconds. This variable for arguments sake should have an equal node to the time into the run-time you want a specific arrow to move downward. That equal node should plug into a branch condition, and when that is true you could play an animation of the arrow image. Or even smoothly adjust the Y-Axis of an arrow using interp BP codes.

There’s my spin on it anyway, but I think it would be best for you to decide on the finer details :slight_smile:

Duh, that makes sense.

Destroy the actors once they have passed the camera view as well.

It’s 2D assets I’m using, Thankyou for your help!