Creating game play interactive tutorial

Hi,

I want to create the tutorial for users to begin with the game play and show them the controls. If a widget is displayed for the first time, I need to show the functionality of each button and should force user to click the button. Is there any inbuilt classes to make and save the game state tutorial.I am unable to find any good resources to make this.

Thank you

What I did for my tutorial is made a “tutorial level” that shows the functionality of all the buttons. I use the same HUD they will use during normal gameplay but I have the level BP hide all widgets on the UI then as I explain each ability I reveal the widget button so the player can only click on the button after I have told them about it. For all other levels the player will just start with the buttons visible. This way you really only have to keep track of whether or not they completed the “tutorial” level or not. If you needed to add more buttons later in the game I would just have them default to hidden until they reach the appropriate level or buy the ability etc then reveal it and at that time if you want to “force” them to use the button you could loop through all your other buttons and disable them until after the player presses the new button then enable all buttons again. Then you would need to keep track of a boolean variable that lets you know whether or not they have pressed this new button or not.

You could use the stock save game solution (https://docs.unrealengine.com/en-us/Gameplay/SaveGame/Blueprints) or perhaps JSON. Wraiyth has an article on the latter: http://www.wraiyth.com/?p=198

What needs to be done when there are multiple levels and need to explain the controls?

You mean like the player gets a new ability on level 5 and you want the start of level 5 to show the player how to use this ability and then never show up again?

No, I actually have multiple levels where the widgets are displayed. The first level has buttons to buy and select the characters, second next level has buttons to choose the map and a few other buttons for the player chat and profile view and in this level, the player will click to start the map for the play. In the map, I need to show the gameplay controls and after that in the final level, I have few buttons to show the progress.

So you have like 3 or 4 different UIs that each have different buttons and are displayed on different levels and you want a tutorial that shows the player how to use the buttons on each level and you want this to show up the first time they progress through each level but not a second time (assuming they know how to use the buttons now)? I am kinda confused what you are asking for.

Yes, exactly like you said.

Only way I know how to do that is with a boolean that will be false the first time through the level and true after. You save all these booleans in your save game object. It will keep track of what levels the player has progressed through before and which are new and require a “tutorial”. So using a branch node you script the “tutorial” off the false and basically just start the level off the true. The specifics of how you go about this and what exactly need to be done can’t be answered without knowing what you have done so far and a lot more info about what is and isn’t working.

Thanks a lot for your help so far. I’m building a car game and the first level is the garage. Here the player can purchase cars and I want to teach the user now to use the buttons in the garage. After the garage, the next level is an open world where the user can drive around and again we need to explain the buttons. So, would you recommend creating separate ‘tutorial’ UI widget for each level?