 This video covers many topics. I added timecodes in the description so it's easier to navigate. And if you're new to Dialogic, this is a good place to start. To install Dialogic, you first need to download it from GitHub, the releases are listed here in the releases page for the GitHub repository, and then you need to extract the zip and from the extracted files, move the folder add-ons to your project, then enable the plugin in the project settings. You can also install Dialogic using the asset library, but the version there is not usually the latest one. If you already have Dialogic installed in your project, you first need to disable the plugin, close the project, remove the existing Dialogic add-on folder, add the new one, open the project again, and enable the plugin from the project settings. You might get some errors updating from version to version, but they usually fix closing and opening the project again. Now that you have the latest version installed, let's go through the basics. To create a character, you can click here on the new character or right click add character, select the name, in this case Shia, select a color, and you can now write the description for yourself or start adding the images. The different display name is probably going to change in Dialogic 1.2, so I won't cover it right now. So the portrait that you choose, the default one is the one that's gonna be loaded always whenever you add the character. In this case I have seven examples, which is the default, let's add a new one, let's add the angry one, and let's add the shock. So these are the three portraits that you have on this character, and if your character is too big or too small, you can change the scale here, which will be represented in-game. You can change the offset x and y, which will change how it will look relative to your dialogue, and you can also mirror the portrait to show it mirrored. That's pretty much it with the characters. Let's go with themes. The themes are really powerful, but they don't have all the options you might want yet. I'm adding options every time I do an update, so stay tuned for more. You have all these different values, which you can customize your dialogue and show it in a different style. The most common mistake is making a very, very tiny pixel art game and forgetting about making the dialogue box smaller. So you can change these values and make it look smaller. You'll also have to change the font if you want to make it look smaller, but I encourage you to experiment with the themes, because there are a lot of options that you might want that make the dialogues look really personal to your story. You can rename by double clicking on them and setting the name you want. And if you have several themes and you don't know which one dialogue it will pick, you should go to settings, and here you have the default theme. In timelines is where you write the story of your game. You have all these events, main events, logic, timeline related, audio, and go out. And those are the big blocks you use to display different options. So in this case, we want to add the most basic event, which is the text event, and say, Hello, YouTube. And we have here a timeline. Let's name it like first. So this will be our first timeline. And let's add it to a game. There are two ways to display the logic in your game. The first one is going to the Add-ons folder, then select dialogic and drop this dialogue to your scene. It doesn't matter where you place it, dialogic will be placed automatically at the bottom of the screen. And here you can select the timeline that you want. In this case, you want to have one which is first. So now if we test this scene, we will see our Hello, YouTube dialog, but we have a character. How can we show that character? You can select here, and then select Shia. And you will see the different options of the states of how you want it to show. And let's select the angry one. And this is not going to be displayed, but I will show you why. If we test it, we see that the name here is properly with the color of our character, but we don't see the portrait. What happened? Well, dialogic is not going to be adding the portrait for you. So you need to choose when you want to show them. You might want to have the character speaking and not being in camera, or you want to add it to your scene. So in this case, let's make it join. You can drag and drop here. And now we need to make it to join and select the position. You can also set an emotion or a portrait. So if you want it to show in an angry way, and you hear it, don't want to change it. This will show up angry already. You don't have to change it in this event. And you can also mirror it just in case you want to show it on the other side, but looking to the left or to the right. So let's see how this looks. Okay, so we see the portrait now. The portrait is super big. So that's not good. Let's go ahead and make it smaller. Let's go to dialogic. And here we have the portrait is a scale 100%. That was way too big. Let's go to 25. Sometimes your artists send you the sprites way too big because they like to work with a lot of resolution. And you might need to do this. Okay, so we have the character now in 25% of its size. Still a bit to the left. So let's add some X offset. Let's add like 70 to the right. And here we have it. We have a portrait and he's saying something. If you want some character to leave the scene, you have the character leave, which you can select one character or all characters. The next thing you will probably want are options. And in this case, we have them here in the logic section, the question event. You can set a question with as many options as you want. In this case, we want no one, which is the narrator, but you can also make it so a character asks the question to say, is Shia okay? And let's say we say yes or no, those are gonna be the options. But if you want to add more, you can always try and drop another choice event and say maybe, okay. So this works like basic indentation, but if you don't know everything that is inside of this will be the conditional and everything that is under one of the nodes is gonna be the text that will show up whenever you select one of the options. So in this case, we select the yes option if you want. And if you don't want to drag and drop all the time, whenever you create new events, it will show up after the selected event. So in this case, yes. So if you say, is she okay? Yes, let's make him say, actually, yes. Now if we want to say no, let's say Shia will say, gonna be angry still and say, I'm not. And if you say maybe, let's add Shia confused or Shia shocked and say, okay. So you have three different portraits. And with the question, depending on which one we pick, one of the other will happen. Try it out. Hello, YouTube. Is she okay? Yes, no, maybe no, I'm not. Okay. And when I press next, everything will fade, but it's super sloppy. Like everything got deleted. So let's add a new event, which is closed dialogue. So after all the options are over, we close the dialogue and how long it will take for the fade out animation one second, since okay, which is the default. So again, we ask, she okay? Yes. Okay, actually, yes. It's now with the default portrait. And after finish, it all fades out. Now let's cover another way in which we can add the dialogue. In this case, we added it just drag and dropping the dialogue node to the scene and selecting it the timeline here. But you might be doing this programmatically. And maybe you have everything in code or you want that the dialogue shows up when you're speaking to a character, something like that. So let's go to the node in this scene and add some code. This code right here will make it so that when it's ready, the new dialogue, which is the instance that we create with dialogic dot start will be this timeline, the first one, if you don't know the name of your timeline, or it's very long, you can right click and copy timeline name. And then you can paste it here. And then we add a child to the node, because if we don't add the child, we will not see the dialogue. The dialogue is a scene like any other Godot scene. So when you create it, you need to add it. And this way, even if we don't have the dialogue here, when we try the game, we see the dialogue. Once we have everything here, we can start connecting signals. Dialogic will emit a signal with every event, one at the beginning of the dialogue and one at the end. Most of you are asking how to connect signal when the dialogue ends. So let's cover that right here. So we selected the dialogue, we connect the timeline and signal of that dialogue to the same script. And this function that you want, this can be anything you want. So in this case is after dialogue, and it will return the timeline name. That way, if you want to do something, if the timeline was one or the other, you can do so. And it will print now you can resume with the game. So let's try it out. Let's see. When we finish the dialogue, now you can resume with the game. Okay, so that means that the signal is properly connected. Make sure that you're connecting the dialogue that you're adding to the game. I've seen many of you connecting signals to nodes that don't exist or stuff like that. So make sure that you're connecting it properly. If you want more flexibility, you don't want to use the inbuilt ones, there's this event, which is called emit signal. What emit signal will do, it will emit the signal, dialogic signal, and it will pass an argument. In this case, is whatever you type here. So let's say that when you set here to know, we can type user clicked no. So in this case, whenever we get to here, dialogic signal, user clicked no to connect that, we create this a dialogic signal with a function that we want. In this case, I'm going to call it the same. And it will take one argument, which will be what you wrote here. So if you want to check, you have to check for the if the argument is equal to whatever you wrote there, let's print nope. Let's try it out. And when we press here on know, it says nope. Okay. So this is working as expected. Remember that this is not the name of the signal you're connecting. This is the argument that you're passing to your signal. The last thing you need to know are definitions which will be probably renamed to values in the next version. But I will cover that in another video. You have some events, you have here conditionals, it can get very complicated. But the best way to learn about dialogic is trying it out. Try to play with what every event does. Let's see how it looks in game. And you can always remove it, try it again, you can make backups or create a test project to do whatever you like. Pretty simple to use. And you can do very powerful stuff. And it will only be getting better. Thanks to many people like you. So if you want to help on GitHub, I'm always happy to see what your ideas are. If you have proposal, you can create an issue. If you are having issues with that, and you need some help, you can also join my discord and ask there that a lot of power users able to help you. And I hope the dialogic can help you build your game. So always thank you very much to my patrons really appreciate you sorry for not uploading that often. But if you really want something I'm always available on discord. So see you