Make a gameplay guide/tutorial for player.

Hello
I am currently working on a game that I would like the player to slowly discover all elements of gameplay e.g. use inventory, equip a weapon, craft an item etc.
Example of what I am trying to do: player picks up a weapon, button in UI gets highlighted & instructions widget appears on screen, when the highlighted button is clicked the highlight effect fades and next button gets highlighted etc…
I am already familiar of using datatables, gameplay tags or trigger events with delegates and event dispatchers, so I was wondering what is the best way to approach this? On save, I thought of saving the tutorial gametags so that the tutorial doesn’t accidentally repeat itself on different game sessions, but I am not sure if that’s a convenient method on bigger projects. Note that my project is not entirely made of blueprints so any C++ solutions are more than welcome.

I think your idea of using GameplayTags would work well. They are generally used as bools or flags so this is a perfect use case for them. Your familiarity with datatables and events will let you tie the project you outline together. Tags are pretty fast for comparison and I haven’t run into any issues with using a lot of them. Just keep the tags organized and I think you will be happy with that approach.

Ok thanks, I ll give it a try and update on how it goes.

As the previous poster already said, using GameplayTags is already a solid foundation.

I would also suggest taking a look into the Gameplay Ability System already provided by the engine as well as the new Modular Game Features of UE5.

Both systems work especially well with C++ but are also suitable for Blueprint implementation.

We use both in our own project and once you get the hang of it they are pretty handy and take a lot off your shoulders.

Good luck!

Best regards,
Markus
Bagpack Games

Or, if you’re just making interactive windows, you might consider making a background with a program like Photoshop, importing it into Unreal Engine and using it as a background image for a Widget. With that, you can put in buttons and set each one to do as you desire by selecting each button, scrolling to the bottom on the right side of the Widget’s window and select events like “OnClicked.”

You can also make tutorial windows with Photoshop and import them as Widgets, then add some extra text. You can either put in buttons to click on to go from page to page, or you can make a BP on the player or level’s BP while using multi-branched sets of nodes (so the program knows which page to turn to when you type the left or right arrow keys). Of course, that’s how I did it, so it’s just another option to consider.

Yes, Gameplay Abilities seem pretty powerful, I 've been playing around with them a bit, but decided to set them aside till I come to the point to design the combat system. Do you think they could be of use in player-world-widget interaction scenario as well? I have decided to go with delegates for now and when each step of the tutorial is completed, update/save a tag. I am not sure if it’s the most efficient way to go though if I have many of those tutorials and steps for each system I implement.

1 Like

I think the Ability system can be very useful when structuring your tutorial/widgets as well. In my opinion the ability system can be used for a lot of ways that doesn’t directly involve combat but every interaction/action the player can do in the world as well.

So yeah, I think you could make use of it there as well :+1:

Short example:
You make a tutorial step for jumping. You would create the ability for jumping and make it fire a certain gameplay tag on execution. In your tutorial you could just show the prompt to the player (e,g, “Press A to jump”) then make a timer that checks if the player has the jump gameplay tag. If he does, stop the timer and tutorial step is completed. In that way you could also later on make the prompt appear another time (maybe the player forgot the button etc.) without any additional work.

Hope that helps :grin:

Greetings,
Markus
Bagpack Games

Thanks! I will certainly give it a try and see where I can get with it.

1 Like