Having a LITTLE trouble understanding but let me try to figure this out.
So you want the player to stand on the box then perform the following actions in order:
If the player breaks this sequence, does it simply wait until the correct action is performed or does it make them start over? Also, I don’t think “sequencePlay” is what you’re looking for here.
The way I would set this up is first creating an enum for your action types. A quick overview of enumerators can be seen here: Blueprint Essentials: Enum Variables | 05 | v4.2 Tutorial Series | Unreal Engine - YouTube (although I think the location in the context menu has moved since this video was taken though I’m not 100% sure where it is now without looking myself). I would add options for “Jump” and “Shoot”.
Thinking about this, I personally would not put this in the level blueprint. If this is a puzzle element, I would create an actor to handle it so it is encapsulated from the rest of the level. You could create a new actor with a cube in it and your trigger box.
Then, in your cube blueprint, you can create an array of the type of the enum you created. This will allow you to specify a sequence of events. Adding 4 elements and setting them to Jump Shoot Shoot and Jump should work.
Lastly for the setup, create a integer variable to use as your iterator, defaulting to 0.
For your OnActorBeginOverlap event, simply set the boolean variable to true. Create an OnActorEndOverlap (I think that’s what it’s called) and use it to set the boolean variable to false.
Now you need a way to communicate with the puzzle cube so when the player jumps, tell the cube “I jumped!”. One way to handle this would be to create an event in your Character blueprint, call it something like “Performed Action” and add an input node for the action enumerator. You will need a call to this event after the Space/Jump event node that will already be in this graph as well as the Left Click / Shoot node. Just make sure that you pass Jump in when jumping and Shoot in when shooting.
Now that the events are being tracked in the player, you need to tell the puzzle cube what you did. So you could create an identical new event in the cube blueprint, called “Performed Action” with the action enum as the input. Back in the character blueprint in the “Performed Action” node there, you will need to add a GetOverlappingActors node (filter on the class of your puzzle cube). Assuming the player will never be able to overlap with more than one puzzle cube at a time, there will only ever be one result from this node despite it being an array. First, check the array length. If it’s 0, this means the player performed an action without being in the cube so nothing needs to happen. Otherwise, get the first result from this array which will be a reference to a puzzle cube. Call the “Performed Action” on this result and pass the enum from the event here to the new event.
In the “Performed Action” node on the cube, you will now be able to decide what will happen when the player performs an action within this cube. Grab a reference to your enum array and get the element at the location of your iterator variable (will be 0 the first time through). Then, compare this enum to the one passed into the event. If they are equal, add one to your iterator enumerator variable. This means the player performed the correct action. You should then check if the iterator equals the last index in your sequence array. If it does, the player has completed the sequence and you can decide what happens next. If the enumerators are not equal, you can decide what happens. You could do nothing (so the player can keep trying until they get it right) or you could reset the iterator to 0 (so the player needs to start the sequence over). I would probably accompany these actions with some kind of visual or audio feedback (maybe a “ding” for a correct action and a “buzz” for an incorrect one) otherwise it will just feel like random actions.
I’m sure I made this sound much more complicated than it is. Let me know if you have any questions or if you wanted to focus on a different direction and I can help further. I could also demo a few things if needed later.