Unreal Engine 4: Create Your Own Third-Person Action Adventure | Tim Lash | Skillshare

Unreal Engine 4: Create Your Own Third-Person Action Adventure

Tim Lash, YouTuber & Video Game Design Instructor

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
15 Lessons (2h 44m)
    • 1. Course Preview

      1:54
    • 2. Download & Install

      2:54
    • 3. Adding Content Packs and Course Files

      6:44
    • 4. Level Creation & Set Up

      11:43
    • 5. Dialogue Creation

      12:35
    • 6. Soundtrack Creation

      7:22
    • 7. Dynamic Jump System

      11:59
    • 8. Disabling Controls & Changing Player Movement

      13:31
    • 9. Weapon Pick Up

      21:28
    • 10. Treasure Pick Up

      14:18
    • 11. Creating Titles Using Widgets

      11:10
    • 12. Adding Movies to the Screen

      9:45
    • 13. Bridge Collapse

      16:05
    • 14. Creating Friendly AI

      11:42
    • 15. Putting It All Together

      10:55
14 students are watching this class

About This Class

In this game design course, I’ll be guiding you through the basics on how to create your own “Uncharted” style game. This course will be using Unreal Engine 4 – the same engine AAA game development studios used to make games such as Fortnite, Batman Arkham Knight, Bioshock, and so many others!

This course contains 15 engaging video lessons that will walk you the following topics step-by-step:

  • How to add music, dynamic sound effects, and dialogue to your game
  • How to create UI text and animated titles
  • How to make your own AI companions
  • How to trigger environmental events and spawn particles systems
  • How to make collectibles and other interactable objects
  • Have to change various player stats and inputs whenever you want
  • And more!

With the knowledge you’ll acquire from these lessons, you’ll understand how these concepts are used in EVERY video game and gain the confidence to combine these elements to create your very own third-person action-adventure game – full of well-paced sounds, realistic physics, slick titles, AI characters, dynamic player movement, and more! And no worries, no prior experience or programming knowledge is needed!

Transcripts

1. Course Preview: These days, video games come in all shapes and sizes. Third person action adventure, first-person RPG. Choose Your Own Adventure, open world, linear, and whatever genre this is. Despite this, all video games share the same principles. Dialogue, music, text entitles, artificial intelligence, interactable objects. The list goes on and what if I told you there was one easy tool that help you do all of that. In more, in just a few hours, you could go from knowing nothing about game design to being equipped with the knowledge to start building your own professional-looking levels. Hi, my name's Tim, or some of you may know me better as Timo for my gaming YouTube channel with over a 100 thousand subscribers. In this course, I'm going to be walking you through step-by-step, how to utilize box collisions, a staple of basic game design we're going to be building in scripting our own Uncharted like collectibles from scratch, adding music and dialogue to our game, getting creative with fun animated titles, creating ourselves of friendly AI Companion to join us on our journey and even adding in a dynamic jumping sound system mimicking Nathan Drake himself. And best of all, all assets used in this course are completely free, as we'll be using Unreal Engine for the same engine AAA game development studios used to make these popular games. So if you've never opened up Unreal Engine four before or you have in the past and struggled a little bit. Follow me and I'll show you how to start creating your own awesome game using Unreal Engine four. 2. Download & Install: Hello everyone and welcome to this course on Unreal Engine four. My name's Tim, and I'm going to be walking you through everything there is to know about box collisions and trigger volumes and things like that. In this series of videos, this course is going to be mostly conceptual, meaning that we're not going to be building anything ridiculously specific. What we are going to be doing instead is showcasing a bunch of ways to use these tools with some specific, I guess, and examples. And with that knowledge, you'll be able to build some pretty impressive things. So first things first, within unreal itself, if you don't have the engine downloaded currently, you can go to unreal engines website here and you can just click download. I already have it. So what you can kind of just going to walk you through some of these very basic steps. You can just pick a Creators license because we're going to be using this for free. If you don't have an Epic Games account, you can log into that right now and then just follow the steps generally to download the engine onto your computer. Another important thing to note is to make sure you have the epic game store also installed. The main reason for doing this, it might download the epic game store by default if you just download the Unreal Engine. But the epic game store is essentially going to be your launcher and your hub for unreal. So you need to make sure you have both of these things installed on your computer before we get started. Ok, once all of that is done and you have epic games downloaded onto your computer, what you can do is there's a nice little tab over here that literally says Unreal Engine. So you're gonna want to click on that. And here you'll be able to see some projects that you have, as well as the engine version that you have installed. Now for this course, we are going to be using engine for 0.25, which is the latest version. You can download different versions, older versions of this engine. And it should work just fine. Also if there are later versions of the engine like 4.25.4 or even I don't even know how far they're going until unrelated and five comes out, but we're not doing anything super crazy in this course. So everything that we're going to be doing should still look the same. But if you want to ensure that literally every tab is where it is in the demonstration I'll be giving, then you can download for 0.25.3, which is what we will be using. So this video is really just to help you get set up with that. If you have any questions, there are ways to contact me, but it should be pretty self-explanatory to just download the engine and the EPA game store onto your computer. So that's going to do it for this video. And I will see you in the next one. 3. Adding Content Packs and Course Files: Hello and welcome back everybody. In the last video, we talked about how to download and install the epic game store as well as the Unreal Engine itself. And in this video is part of the sort of general setup to everything. What we're gonna be doing is we are going to head into the Epic Games and marketplace, which is located right up here. And we're going to be downloading a couple of different content Packs. Now, the Epic Games content store is filled with a ton of stuff that is both free and paid. And we're going to be using things that are completely free. And there are three things specifically that I would like to add to our project. So in order to do that, we can just search up at the top and just put in FPS. If you scroll down to the bottom, you will find the FPS weapon bundle, which is free. And what you can do it, this one is it should just say free or download or something like that. And then you're just going to want to add that. We're not going to add it to any of our projects right now because we haven't created our project just yet. But that is one of the things FPS weapon bundle that I would like you to add. The other two things come from the same pack, which is made by Epic Games, which is the infinity. If I can remember how to spell infinity blade, that's going to be like my biggest struggle here is knowing how to spell things. Infinity blade effects, which is one of these right here. So if you get, add this one and last but not least, it is infinity blade grasslands, which might give me some problems. Apparently. It does exist, I promise you that. Okay. It seems like I might have been having some issues because it didn't put a space between graphs and lands. I feel like this search engine here, you gotta be extremely specific. So if you want to be safe, just type an infinity blade and you should find the effects as well as the grasslands. And so just to make sure it looks like this. And so what you're gonna wanna do, just download those. It might take a second and then when you are done, if you go back over to your library tab, you should see them. I have a lot more in here obviously, but you should see the weapon bundle. Let's see how quickly I can look. The effects and grasslands should be in here, somewhere. There it is. Ok, cool. Now what we're going to do is we're going to actually create our projects. So up in the library tab, if you come down here, you should see your engine version. You probably only have one downloaded, but in case you have more. Like I said, we're using 4.25 and click on Launch. From here is where we're going to create our project. So obviously we are making a game. So let's go game. This game is going to be a third person game. There are some other cool options here. Just to let you know you can add different aspects of these later, you'll notice that some games might have sections that are in third person or sections that are in first-person. So you can kind of combine these like you can add a driving section into your game. We're not gonna be doing any of that. So just click on third-person. We're going to want blueprint, maximum quality. We can disable ray tracing. Yeah, that's all looking good. The only thing is to change the name. You can technically name this whatever you would like. But this course is going to be kind of themed around uncharted, which is my personal favorite game franchise. And if you play those games, after taking this, you will start to see the concepts that we talked about with the different box collisions and everything literally all over the place. So but for the sake of just being boring, I'm going to name this trigger volume demo. You can name it whatever you want, like I said. And then from there the engine should open itself up. Okay, now so from within the engine, if you go and click this little button here, you're going to want to show these sources panels here. And simply now what you wanna do, open back up your Epic Games launcher. And if you scroll down here, since we have these already downloaded, you're going to want to go to the grasslands, the weapon bundle and the effects. And what you're gonna wanna do is add to the project. This is the project we want to add too. So let's click on that and then it is going to start adding that in here. Some of them might be really quickly, you'll just see it boom, just show up right there. Here it is. Others might take a little bit, depending on your internet speed or your how powerful your computer is per se. But yeah, just do that and then I will join you guys back in a second while we're waiting for those to go. One extra thing to add. There are going to be some course files associated with this that have different sound effects in different text icons and little moving effects that I created using Adobe Illustrator and aftereffects for you. So you're gonna wanna make sure that you find those wherever they are, depending on what platform you're watching this on, to find those and download them. This should be y2, y4 class assets is what they should be called. Or you can name them suddenly differently. Maybe they'll be named something else as well. I'll probably keep it the same just to make sure people aren't getting confused BY Yes, they should have these types of folders inside of them. We're not going to actually add them into our content browser just yet. But just make sure that they are on your computer. Okay, the last thing to do for this video, just for the sake of organization, is we are going to label these three just so we know where they are in their content browser. We're gonna do so by right-clicking on them. And we're going to give them a nice fancy color. And it really like super crazy colors. So I might go with and also fun fact colorblind. So I'm really terrible at this. So I'm gonna pick a nice pinkish red. Let's do it. So we'll have that. If you right-click and you hit set color, actually Silver member your color, someone have them all the same just so I know that those were my content packs up, like just a way to identify them. So that is going to do it here for this video. So in the next one we're going to actually start setting up our level. So these first two are pretty, pretty self-explanatory, pretty just setting everything up. Okay. So the cool stuff is coming, rest assured, and I will see you there. 4. Level Creation & Set Up: Hello everyone and welcome back to another Unreal Engine four video. And the last couple of ones, we set up our content browser to make it all nice and fancy. And we also downloaded the necessary content packs from the EPA game store. In order to do that, you can technically do it later. But just for the sake of being nice and organized, it's gonna save you some headaches later. Because we're going to be using assets within these packs. And if you don't have them installed before we start, you might get confused pretty quickly. A couple of things just to make sure before we keep going, there's a lot of this sort of preliminary stuff to set up that you have to make sure just to avoid confusion later on in this viewing options here. You're going to want to make sure that show engine content is checked. If you noticed when I check it in, uncheck it, you'll see all these folders in my continent browser show up and disappear. Just make sure that's checked because we're also going to be using different assets within our engine content. And if you don't have this checked, when we search for them, they will not appear. So that's one thing. Another thing to make note of, if you actually hit Play, you'll notice that I can't move around and it has, you say click for mouse control, then I can move around, hit escape, and get out of there. If you don't want that to happen, if you just want to hit play and be able to move right away. You can easily do that by hitting this down arrow next to play, going down to the advanced settings. And then in this guy that opens up the literal first one, game gets mouse control. Just click that. There's no safe, so you'd exit out. And then when I hit play, I'm moving. Pretty cool. Okay, so finally, we can actually start building some stuff. So what we're going to do is we're going to go here, Add New New Folder. Oh shoot, I did not want to do that there though. Under our content, Add New, New Folder, make sure this content is selected. And we're going to name this uncharted as we gotta beat epic. And there it is showing up right here. Now within here, we're going to add a new folder and name this maps. And then with our maps folder selected, come up here to the top go file. And let is, where is that guy? We are going to want to, oh wow. Literally the first one go to new level. You can pick time of day if you want, or you can pick Default. We're gonna go with default. Then we think with time of day is that it can get a little bit confusing or it can run your computer little bit harder. So we're not doing any fancy effects with the sun or anything. So just pick that. Ok. And immediately where we're gonna wanna do is we're gonna go File, Save Current As. And we're going to want to make sure we're in our maps here. So go to uncharted, go into Maps, open that up. And let's name this TV for trigger volume template. And go ahead and save. So now that is the name of this guy indicated up here. One thing to do right away is we're still kind of setting everything up, okay? If you go into, go into Settings, Project Settings, maps, and modes. Here we have like our default maps right here. And one good thing to know is that whenever you close out of Unreal, whatever map you have selected here is the map that's going to open up the next time you launch the editor by default. So let's go ahead and let's set that to what we just made. Okay, so editor startup map, and you can also just do it for default one as well. So that when the game starts up, it'll start up on this guy, the one that we're actually editing instead of the default one, which I, for whatever reason, instead of this guy. Okay, we want this guy to open. We don't want that other guy open. Ok. So now that's set up like that. Again, no save, just exit out. We're all cool. Now one thing we're gonna wanna do right away, okay? And this is going to be explained later, but we're going to want to create our little level on what's called a landscape. Now there is a course available that is completely on landscapes and it's very advanced. But there's just one teeny-tiny little reason why we're going to use landscapes, which comes much later on in here. But yeah, you're not going to need to know too much about landscapes here. We're just going to need to create our level on landscape instead of this little guy here. Ok, so in order to do that, you have to open up the landscapes tab. So you can go into modes and you can actually select on landscape or you can hit Shift plus two. And now we have this big fancy guy opened it up. And this is absolutely massive. As you can see. That's Now we want, okay, we're gonna try to make this really, really tiny. Okay, so for our specific I'm sizes to our landscape and we're gonna do is it's not going to be absolutely massive. So let's go 31 by 31. And then this should be just 3232993 by 903, it should just default. Do that. And finally far material. If you do have visit where it shows up the show ending engine content, just type in grass and you'll just get a M ground grass, very basic looking grass material just to make it look like there's grass on the ground and then hit Create. And now we have this kind of nice terrain. The reason why this is a landscape, instead of just that flat kind of block that we had before, will be explained much later on. It's it's, it's a very small thing. It's kind of a perfectionist thing honestly with me that you'll see. But that's basically all they need to know. So he went and hit play. You should see our guy on the nice little level that we've made so far. Pretty awesome. I guess I also haven't told you if you don't know how to actually move around in unreal. So in order to do that, it works the same way as if you were playing a game. Like on a computer. So you're gonna be using the WASD keys, but you'll notice if you just hit them by default, they don't move around. So in order to move and look around and unreal, you use your mouse and right-click and hold that down and you can actually begin to look around. And then when you have the right mouse click, hold, held down, that's how English works. You'll be able to use those keys to move around and look around and navigate. A couple of the things if you are confused, this camera speed up here is the speed at which you will move around. Pretty self-explanatory. So if I have it set to one and I'm holding down w, like I'm barely moving at all. But if I go all the way up to eight, I'm going to zoom right through this MAP and about 0.2 seconds. And now I'm way down here. Ok. So typically about 45 is a good place to be at. Pretty safe. And then the other important thing, I don't think we'll be using it too much in here, but it's also your grid sizes. So unreal as kind of like a giant piece of graph paper, 3D graph paper in a way. And it's all on this grid. And essentially how this moves around, this is moving by ten increments. And you can pretty much just change that by setting this to 500 and you see you get much larger, okay? Or perhaps 100. And now I'm moving by a little smaller increments here. Or one. I can move really tiny. So it's not super important for this, but, you know, it is good to know. Nevertheless. Now from there you can go and exit out of the landscape and get put back in this place actors to things that I want us to do, okay? Is if you go over here in our world outliner and click on players start, you should see this is actually the location that our player will spawn into. Okay, this guy, we're zooming out here, what I want to do is just kinda start them on one of these corners here. So you went and dragged him? I'm moving by fifties. I might move from by lego hundreds because this thing is pretty big. And I'm essentially just going to put him actually know what I'm going to put them on this back left kinda corner here. Placing them there, said if I hit play, now he's kind of on the edge just because I want to move forward and move to the right a little bit. This isn't super important. So go ahead and do that. And then finally, you might see there's lighting needs to be rebuilt. One thing that is always essential to do is underneath here, go under volumes, light mass importance volume, and is dragged it into the world. Ok. Well, we're going to want to do is we're gonna make this massive and essentially discover our entire landscape and then do this thing called building the lighting. So if we click on this little button here and zoom on out, we should actually see, I'm just using the scroll wheel. Wheel should actually see where this is located. So in order to do this, you can just take it and move it around so that it looks like it's in the center here. So right now we're in this like move mode. If hit the spacebar that we can then tilt the object, hit the spacebar again. And now we can now increase the size. So what we're going to want to do here is just hold this and drag it out. And it might take a little bit before we actually see it. And you can maybe drag it up as well. And you can kinda see the box forming here. And essentially we're just going to want this guy to cover up our entire landscape. So we're doing some baeg mouse swipes here. There we go. So move around real speedy. And you can see it's now it's indicated right here. But it can't be moved around this whole thing. This is all just little setup stuff. If you don't do this completely correctly, it ain't that big of a deal. And then from there, once you have that set up going or build, hit the little down arrow and select Build lighting only then this message should disappear once that is done. Okay, and once that's done, that is all we have for this video. So three videos in and now everything is perfectly set up. So in the next one we are going to start building some stuff, making some things happen. So I'm excited and I hope you guys are too. I'll see you there. 5. Dialogue Creation: Hello everyone and welcome back. In the last few videos, we went over some very basic stuff in terms of setting up our level. And while they can maybe seem a little bit redundant at times, it is important to do this kind of stuff every single time you open up a new file, just so everything is working properly and you avoid problems later down the road. But now that all that is out of the way, we can focus on building some of this cool stuff. So this first video, we are going to demonstrate how to set up dialogue in games in a very basic way. So you'll probably notice in a lot of games is you'll have the players walking through a type of environment and then characters, once they reach a certain point, will have a sort of short conversation or will make a comment about something and this sort of thing happens all the time. And so in this video, we are going to start to discover how that is done. So in order to do this under our uncharted folder, we're gonna right-click and create a new folder, and let's call this sound. Also in between videos, I made the uncharted folder in nice little kinda yellow guy. And then from within our sound folder, right-click on that and create another new folder. You know, lot of folders in this and call this dialogue. Ok. So one thing I mentioned to do was to make sure you download the course files. And that's important because we're going to start using them here. So within your course, files, folders, you should see something called sound assets and Nathan lines. And here you have some different Nathan Drake lines that I had. I'm kind of configured together for this class. We're not going to use all of them, but we are going to use so some of them. And this one that we want is titled, okay. It really again, it's literally Nathan Drake saying, okay, here we go again. What we're gonna wanna do very simply, unreal likes WAV files. They're all WAV files. It should all be cool, they should all be good. Take them, drag them, and drop them into our dialogue folder. You can actually get rid of this guy for now. If we hit save all, it'll save that. One thing that unreal does differently than other computer programs is once you import something into it, you can actually move that file deleted or whatever because it actually makes a copy of it. So this is clearly save if you want to rename this something else. If you want to change it, if you want to move your course file somewhere else in your like File Explorer, you are free to do that. But if we go and click on here, you'll be able to hear the line and the sound file that we'll be using. Ok. Here we go again. Alright, pretty cool. So there are two ways I'm going to show to set this up. Okay? So without further ado, let me go and let's click on our players start just so we know that is the if the F key, when that selected, it'll show you where it is, just so we can kind of see. Manna still is on eight. That's why I'm moving around so quickly. Oh my I cool. So you can kind of see that guy there. Now what we wanna do is we're going to go underneath basic and box trigger. So take the box trigger and just drag amount right in front of our players start here. And I demonstrated in the last video roughly how to make things bigger and smaller. So hit the spacebar twice and then just drag out this box so that it's rather large so that the player will walk through this. Ok, so you should be able to see it right there. Here's where our player will start. Here is this box. And we'll put it pretty much right in front of them. So it is it is darn unavoidable unless he went all the way around this way. And you can figure if we are making a real game, they'd be walls here, something just this unavoidable kind of spaces, invisible mocks, okay, with me so far. Cool. So what we're gonna do from here is since this is in our level, we're going to click on blueprint and open Level Blueprint. And this should open up in a tab, it opened up a mother screens. I'm gonna put it right here. You can actually get rid of these nodes. We don't need them right now, okay? So it says blank blueprint here. So there are two things that we want to do with this selected. Make sure that it is selected. Right-click. And if you have content, context, sorry, sensitive, checked, it'll actually default, kind of set up this for us, which is really nice. So we're gonna wanna do at events for trigger box one, which is this trigger box one. And you can actually rename this something else if you want. But we're gonna right-click Add event for trigger box one. It's going to be underneath the collision. And then on Actor begin overlap. Okay? And what we're gonna wanna do is drag a wire out from here. And we're going to cast to our third person. Your comes this, the friggin Tim spelling here we are cast the ThirdPersonCharacter. And from our object, we're going to drag this into our other actor. So very simply what's happening right here is we're adding an event to this box. The event that we're adding is an overlap on beginning overlap. And so what unreal does is it asks, okay, well what is overlapping that, and in this case it is our ThirdPersonCharacter. So if you go underneath here and our third person blueprints, that should just be default near we have our ThirdPersonCharacter, and here he is. He's his own little blueprint with his own little script is got his own stuff going on. Okay? We're saying that we want this we want an event to happen. When this guy overlaps this guy and that's indicated right here. The thing that we wanna do is we want to play that sound effect. So let's type in play to D sound and click that in. From here. We have our sound asset. And that sound asset that we have, it's called okay, here we go again. So let's type in. Okay, here we go again and there it is. Alright? And if you click this down arrow, you can do different things with the volume, the pitch of the startTime. This is a 2D sound, meaning that it is going to be played. I'm just like 2D. But you can do things like play sound at location. Like if you had some explosion in the background or you had some character and he's like 30 feet behind you. You could have the sound play at the location that that person is standing at. But for the sake, we're playing as the character. He's always going to be in the center of our screen. So you can just have that be a 2D sound. Okay. So now we're gonna do is we're going to compile and save that. And then from here we hit play. So we have our invisible box, it's right in front of us. And if we walk forward, this will happen. Okay? Here we go again. All right, so it all functions, we overlap that it plays the sound. So you can maybe start to see in games, there's a bunch of these invisible boxes that will trigger different dialog, conversations to happen or different comments to be made about things. Now there is one issue to this that we have right now. So as you notice, we walked through that and the sound effect plays. Okay, here we go again. Well, what if I wanted to turn around and walk through it again? Okay. Here we go again and again. Okay. Here we go again. Okay. Okay. Here we go again. Here we go again. Okay. Yeah. So it doesn't work completely correctly how we want it. There's a super easy way to get around this. So let's drag this 2D sound guy out here. And in between here, there is a node that is called dual ones. So we're essentially saying we only want to do this once. Ok, compile and save that. Now if we go back in here and we hit play, okay, here we go again, says it once. And if I ever, ever, ever, ever, ever overlap that again, it won't play pretty cool. Alright, so conceptually that is how BOX triggers work. You can put them in the world and have them do a wide variety of things. In, in this course we are going to be doing a wide variety of things with them. But very basically that is kind of how you can get dialogued work. Now, better way to do this instead of just default, making sure there's player walks through here. Another way to do it is by adding, let's right-click NGO, event, the game play. C right here. And this is the node that will fire off whenever you hit play. So something will happen whenever you hit play. Okay. Sent it's going to happen whenever we hit play, we don't actually need to cast it to a character. So these two nodes can be exactly the same. So if we control C, control V, copy paste them, you're on a PC in, plug that node in right there. And now you have it set up like this, okay? Just so they don't, they both don't play at the same time. If you hold down Alt and click on this note, it'll actually break it. Compile safe. So now if I hit play, he will say this line the second I hit play. So it's kind of like on the game startup, This will happen. So this is useful. I give you have like background noise, like if there's an ocean, you have an ocean kind of track and going like it just starts right when you start playing a bunch of different things. You know, you can have a bunch of things happened on a bank, begin place cinematics or whatever you want. But conceptually, we're going to have him just say the line. Okay? Here we go again. And since that node has been broken, when he walks through that box, and it couldn't work anymore. Okay. So that's how that's set up. To. Archive this. Let's left-click, drag out and highlight everything. Then hit C on your keyboard. And we're going to type and call this dialogue examples. Number one, box, trigger. Number two, uses and Les. Node. Awesome. Ok. So you have that. He's looking beautiful. Let's give it a nice color and nice bluey purple, whatever color, you know, I'm bad with the colors. I pre-established that. Alright, cool. If this annoys you, if like he says it every single dang time, you just get sick and narrative it just click ALT. Do that. He won't say anything anymore. Or if you want this to be set up, you can set it up like that. Or you can set up like this. Still have it set up as both because then it'll sound very strange guy. But basically, that's how that works. So that's all we have going on for this video. And the next one we're going to just keep building off this concept. Hopefully, you understand how BOX triggers work with the character. You can have different things, overlap them. You don't have to, doesn't have to be the ThirdPersonCharacter. But in this, these videos, it's pretty much always going to be the ThirdPersonCharacter because we don't have any type of projectiles or anything that would anything else really in the world but ourselves. So, yeah, that's gonna do it here. I will see you guys in the next video. 6. Soundtrack Creation: Hello everyone and welcome back to another video. And the last one we showed in demonstrated how you can use BOX triggers to cause different dialogue events. I guess if you want to call them to happen. And in this one we're going to be slightly expanding off of that and have two different sounds playing at the same time. This collision that we're going to be creating is going to be the most advanced one in the entire project. And we're going to continuously build off of it as time goes on. So it's going to start out is pretty basic, but it will become more advanced. So two things that we want to do right away in our content browser here. Let's just go underneath our dialogue and we're going to want to drag in another Nathan Drake line. So under sound assets, if you go to Nathan lines, he's going to say, and I guess you can kind of do anything you want. But for this one, we're going to say, how do I always get myself into this crap, okay, which sounds like this. Totally always get myself into this, correct. Maybe it's mad. In other words, he P. So that's coming in our dialogue folder. Under the sound, again, we're going to create another new folder. And let's call this sound track, ok. And then from within here again, in our sound assets, there's another folder called soundtrack, and you have this track you're called the thieves of liberty Italia. You're gonna drag that in our soundtrack folder. And that should show up like that. Make sure you're saving these guys. And that's basically sounds like this. So very uncharted like sounds. Well, we're going to do is I want this advantage you trigger through a door, which is something that happens pretty often, a door and opening, something like that. So what we're gonna do, make sure your content is selected. What this does is when we filter our searches here. So looking through all of this, so I'm going to search for door. You'll have all these different doors pop up. If I'm searching door under the third-person blueprint, nobody's gonna show up because I'm searching under this folder only five content. I'm involving every single one of these folders looking for all of them doors. Okay. So for the sake of this, I'm just gonna go with this door frame. It looks fantastic. Wooden door frame. And I'm going to rotate it 90 degrees, so it's staring right at me and moved around. This is kind of all placeholder placement and everything. After these videos, I'll probably move some of this stuff around to kind of make it more coherent like a, maybe a pathway. And you can feel free to do the same. Say this door down here. If you don't know if you remember how to highlight or highlight, rotate, hit Spacebar. And essentially just holding and dragging will rotate these in different directions. So I just did it 90. Okay, now we're gonna do drag another with them boxes in here. Okay. And move him right up to that door and make him nice is just as big as the door. If not bigger. Okay. Like that. Okay. So you can imagine some extra walls here. Like if we were to put maybe I can actually search wall or something. Well, there are some nice legal walls here. So if I put like walls, hear something and you were playing a video game and you were forced to kind of walk through the door. You can see how there we go. You can see I'll like There's the trigger, it's through the door. You can only go through the door. But like I said, very basic, very open, very conceptual. We're staying here. Okay? So what we're gonna wanna do, click on this guy and go back into our blueprint, open level blueprint, which is this guy up here. So underneath what we built up here, let's right-click. And now it's going to be nice and ask us to end event for this particular trigger box. So why don't you go ahead and do that. Another collision, another begin overlap bone. Okay. Beautiful. Same thing as before, dragged out of wire, Cast to ThirdPersonCharacter. And our object is the other actor. Okay? Just to those are nice and connected. What we are going to do is a do once node. So we want everything that happens when we overlap this to only happen once, okay? And from here, like I said, more is going to be added to this later. So we're mainly doing this for future reference. We're going to call a sequence node. Save our sequence here. Sequence nodes essentially let you to do multiple things at once at the same time and keep things more organized. So in this video, we're only going to set up one thing to happen. But for added context, there will eventually be three things. You can technically add pins, so there's three of them coming out of here. So we're gonna drag out here, and same thing as before, play a 2D sound, which is going to be in this case the field of libertad. Okay? If you want to adjust the volume or anything, you do that there. Okay. Now what I wanna do is I don't want the soundtrack and the Nathan lined to happen at the same exact time. I want it to be a little bit offset. So I'm gonna drag out here and I'm gonna type in delay. And let's set this delay to about 0.5. so 2.5th. Drag out another one, type and play 2D sounding again. And then I'll type into crap because I know it's hot. I was give myself into this crap bone. Like I said, feel free to mess with the settings of the volume and the pitch and all that stuff. If you wanna compile and save that, I'm gonna right-click here and I'll hit play from here. So now when I walk through here, the melt a small door, but we'll walk through here. The soundtrack is gonna play. N8 is going to stay as line about a 2.5th later. Although I always get myself into this crap. Alright? It's only happened once. And like I said, we're going to add a lot more to this particular box. But for the sake of this video, I mainly just wanted to one thing, set it up correctly, and also just kind of show how you can use delay nodes, multiple sounds kinda going at the same time. You have a soundtrack and as well as the dialog type of thing going. Okay, so that's gonna do it for this video. And I'll see you guys in the next one. 7. Dynamic Jump System: Hello and welcome back everybody. In the last one, we started setting up this second box collision and set it up with some soundtrack music as well as some more dialogue. And this one we're gonna be continuing on with the theme of sound and creating a more dynamic jumping system. So if I happened in play right now, in-between videos, I moved the camera back a little bit. I hit the space bar. My character by default will jump, but there's no noise. Okay? So we are going to change that and make it sound pretty stinkin cool if I do say so myself. Ok. So what we're gonna wanna do is underneath third-person blueprint blueprints. We have our ThirdPersonCharacter and go ahead and open him up. So in the Event Graph, he has kind of a lot of this stuff pre-set up. The only thing that we care about is this section called jumps. So let's take it and just kind of drag it away from everything else just so we can kind of work independently from here. And let's make this bigger because we're gonna be doing some bagels stuff to this. So to demonstrate what we wanna do, There's actually several steps. I'm going to set this up just to kinda try to explain it. Again. In our class files, sound assets. There is this folder called traversal sounds. Ok, so we have climbed, jump in land. We aren't going to be using climb for the sake of this course. However, I do have these files here if you want to use them in your own free time. I'll explain much later on how you can use them. We're going to want jump and we're going to want land. Okay, so let's go back here into our Uncharted are sounds. And let's create actually underneath the dialogue. We're going to create two more folder. So there is a lot of folders in this sound one. So it might be a little confusing, I apologize. So we're gonna call this one cuz all right. And then another one underneath dialogue. And we're going to call this waves. Alright. So in our waves folder is where we're gonna take our jumps and drag all of them in here, as well as our lands. So this should be ten jumps, five lands, and save all those guys. Alright, so if we go and play them, they're all a little bit different. Okay, and then landed that perfect sound effects. But they do get the job done to demonstrate this. What I wanna do is right off of jump. Just pull out a wire and putting played 2D sound. Ok, and then you can slot in any one of your jumps here. Okay? This is going to be step one. So I've jumped one here. So if I go here now and I hit jump, you'll now do this and it's the same one every time. Okay? Pretty cool. One problem that we see with this that needs to be set up before we do anything with randomizing all the different jumping sounds that we have. Is this problem. If I spam space bar, this is what happens. It plays a sound effect that literally every single time. The way to get around this problem is relatively simple. Okay? So what we're going to do is let's take our jump and drag him back out. Just so we have a room for another node in here. So out of the pressed action, you know, pull out a branch node and we'll branch nodes essentially do is they allow you to only trigger certain events based on if certain variables are either true or false. Okay? So we're going to hold down Alt and delete this and drag the jump out of false. Okay? And from our condition, there's one already setup in here. It's called is falling from our Character Movement. So unreal is nice. They already had this setup for us to be able to distinguish if our character is falling. So we're going to be saying, is that if our character is not falling, then we can jump. Okay? Meaning that we can't jump while they are mid air. Okay, that's kinda what it is saying here. What we need to do is we need to create a variable though. So let's go here. At a variable and let's call this can jump. Okay? And I'm going to click on this just so that we can this essentially this allows you to see variables in different blueprints other than this one. So we have our can't jump and we're gonna go up to our functions override. And then override. You should see can jump up here on here. I actually already have it opened up on here, but you should see, can jump in here once you go functions override, select on that and it'll bring you, excuse me. It'll bring you to hear. Now from here, all you have to do is take can jump, click and drag, put them in here, and make sure that his default value is set to true, that this is checked. Ok, so you can compile and save that. Now from here, let's drag this out and just to see that it works. Play 2D sound. And let slot in our jump. Anyone of them again, I'll put a number one compile safe. Then when you play, our jump works. And if I start spamming spacebar, he only jumps when he hits the ground. Okay? Meaning that he is quote unquote, not falling. Okay? So that is fixed. That's all working well in good here. The only other thing to do now is you'll notice that it's everyday NG sound the same time, same time. That's not we want, we want a variety. We got all ten jumping sounds. We want to use all ten jumping sounds. Okay, fair enough. So let's go into under our sound dialogue queues. Right-click, go on and he sounds and create a sound cue. And let's call this S C for sound queue. Nate. Jump it, enter, save it, and open them up. But this is essentially going to be there's a nice little output guy with a wire. Very fancy. From this, drag this out and type in random. It's now we'll get a little randomizer. And what we wanna do is you want to add ten little nodes come out of this guy. So 34567, ocho nueve a days. Okay, wonderful. Now from here, drag out a wire and type in wave and click on wave player. Now the easiest way to do this, it's kinda tedious. Just you copy and paste this all the times so that there's one coming out of each and every single one of these. So I'm going to do that really quickly and then I'll get back to you. Ok, now that we have all of them, we're going to select one and our sound wave. Let's put in jump one. For this one, jump too, and see where we're going here. Jump three. And I will once again, I'll let you fill all this out and get back to you in a second. Okay, now that everything is in place, we have all of our jumps in here. All we have to do is save it and hit play Cue. And you'll see it's selecting all the different random ones, which is pretty cool. Okay, so we're actually done here. And what we need to do is we need to create one more. Okay? No sound que es c for sound queue. Nate, land, 5-7 effects or him landing. And this is going to be set up the same exact way as we just did it. So pull it out and call that spelling. Typing. Sparingly really hard for me to do five right there. And drag out a wave player. Copy, paste, copy paste those two, and then copy-paste one more bone. That's five critical. C. How are we gonna do this the same way as before with the other guy. Only we're going to have our landed sounds come in and they should be called that. One other thing I know, not demonstrating this, but I will have other sound effects. I did record my own and yes, it was harder than it sounds and yes, they do suck. But yes, I if you don't want everything to sound like Nolan North and you don't want everything to sound like Nathan Drake. There are other options for you in those course files, but I only have landed sounds for Nathan Drake. So I wanted it to sound as authentic as possible so that he had a jumping and land sound for you. And that they would sound like they were from the same guy. So we're saving that and here's the land. Pretty cool. So now we have those sounds setup. So back in our ThirdPersonCharacter Blueprint here. Couple of things that we got to do. Okay, so out of our 2D sign instead of jump one, let's search up SC underscore. Nate, jump. So now it's actually going to play the q. And when you play the Q, Yeah, it does that randomizer in it. So it's going to select a random sound every single time. Okay? So that is functioning. And then the last thing we need to do is right-click and there's an event that is called on, event on landed. So unreal is nice to us and knows about that too. And we're going to play another 2D sound from here, fc underscore, Nate land. Okay, so now we have all of this setup we can compile and we can save and we can play in. Now what Nate jumps, he's gonna make a different sound effect when he jumps in a different sound effect when he hits the ground and will demonstrate that right now. Yeah. Yeah. I know he's jumping straight up and down, but you can imagine him jump into a cliff and doing this stuff in a game. There are slightly different ways you can set this up in a real game like you would have different sound effects for how far the jump is or how much effort he's putting into the jump. Because you wouldn't want him to make this really big like noise when he's like jumping 250t. So there are different ways that you can create different events and then those events would have different sound effects associated with them. But how this is set up your unreal just default has a jump in the landed. And that is a OK with me. So that is all we have to do in this video. Moving on, we're going to start to do some things with blueprints in text and item pickups. So that is what you have to look forward to you. So thank you guys for watching this and I will see you in the next video. 8. Disabling Controls & Changing Player Movement: Hello everyone and welcome back to another lesson using Unreal Engine four. In this one, we're going to be adding to our existing door box trigger here and adding another component to it. So a couple of videos ago, phi, if we go into our blueprints, open level blueprint, we can look. And right now we currently have it playing some music as well as a dialogue line. And there are two other nodes coming out of this sequence that we built. So over this was going to see over the course of this course, but I didn't say over the course of this class, we are going to be filling out, obviously these other two In this video, we're going to be filling up this second slot here. So a common thing that you'll see in a lot of games is within the character that you're playing as different attributes will be essentially assigned to that character, or certain inputs will be disabled depending on where you are. This is commonly seen in pretty much every game for a wide variety of sources are wide variety of reasons rather. So what we're going to be doing to illustrate this is when we walk through this trigger, we are going to be changing the movement speed and we're also going to be disabling the jump of our character, meaning that they will be walking at much slower. And they will be also not able to do a specific command. And in this instance, since we already created a variable that decides if we can jump or not, we're going to be using that one, okay? So the two places that you're going to want to go is open up the Level Blueprint and then also under third-person blueprint, blueprints. Open up ThirdPersonCharacter because we're gonna be in here as well as in here. Okay. So a quick overview of our ThirdPersonCharacter. If you go onto his components here and go onto his movement. In the Details panel over here you will see a bunch of different attributes that are default assigned to him. And you can technically go in and tinker with any of these as you see fit. The only one that we are going to be messing with. If I can find it. Is this one, max walk speed, meaning that when you're playing these moving at that speed, if I were to go here and I were to say 200, compile save, play, he's now moving much slower. The animations don't really change for this default Character depending on how fast he's moving. So it does look a little bit goofy if you add in more advanced character, instead of just changing the, the movement number here, you could actually just switch whatever animation they're doing it in those animations might have different speeds associated with them. That will be done much later on in the course. Kinda sorta. But for the sake of this video, to just casually explain how we're going to do this. We're just going to reset the walk speed. Okay, so what we are going to want to start out doing is going into once again, blueprints, open Level Blueprint, and go back to this sequence here that is associated with this particular box trigger coming out of the second slot in our sequence node. What you're going to want to do is type in set walks speed. And it should show biz set max walk speed is what we want. Now you might be typing this in and it doesn't show up. It's probably because you have context sensitive checked. So sometimes this can be your best friend Most of the time you do want this check, but sometimes you don't. And it can kind of screw up, so uncheck that and call that here. Okay? Now what we wanna do is our target won't plug into the ThirdPersonCharacter anything in here. So what we wanna do is right-click n-type and get player character. And you need to make a reference to essentially where all of these functions are this character movement tree. So pull a node out of there and say, yet their movement up somewhere. Or maybe just, yeah, there we go. It showed up for a secondary Get Character Movement. There we go. Okay, plug that into the target. So we have that going on there. For our max walk speed, you can make this anything. I'm gonna make it 200, like we had it before with this compiled and saved. If I go over here, play from here, and see him walking around at this normal speed. And then as I enter through this door, modal like always get myself into this crap, they character moves slowly. Okay? The second thing that we wanna do is off of this. Pull out a node and type in set, can jump. Once again, context-sensitive is not our friend here. So you can pull him out. The target in this case is going to be our third-person character, because that is not, this variable is not in this character movement tree. It's actually just in our normal event graph, okay? The event graph, Arthur Burns character. So that's what we want to put that note, okay? And we don't want this to be checked because we don't want to be able to jump. Okay, so if you compile and save all that, and then you come back and play. And as we walk through here, I'm able to jump. And there might be an actually there will be one issue here as you walk through here. O to like, always get myself into this crap. Now, if I hit Spacebar, you'll notice that I'm not jumping. The sound effects are still going as if I were gay. So that's why we want to have our ThirdPersonCharacter Blueprint opened as well. Because there is one thing that we are going to need to add here. So in between, jump and play a 2D sound, we want to add a second branch node. This branch node is going to decide. Whether or not we are jumping and only if we are jumping or only if we can jump will sound play. So very simple, take R can jump variable, put it into the branch node, and that is literally all you need to do. So essentially how this is working is it's asking you first, if you are not falling, AKA why this is put in the false branch, then you can jump. And then if this can jump, value is true, only if it's true, we'll the sound play. So since we have jump, disabled overhear, meaning you can't jump, this will not play because this is saying if you can't jump, this is setting it to where you can't jump. So if you can't jump in the sink, gonna play. Okay, hopefully, that all makes sense. So now if we go back and play and we've walked through this door, always get hit in the spacebar. He's not jumping. He's walking slower. And no sound effects or plane. Okay? So you can theoretically do this with pretty much any and every. If you just want to create a variable and associated with a given input, you can do that. And so you can disable certain controls. Like if you had some type of combat system like pulling out a gun and aiming, you can disable that in different areas. And you can also, if you wanted to, you could create entire blueprints were the sole purpose of it is to disable certain commands like have this can jump and set the can't jump to nothing and overlap that as the character. You can create those as blueprints and then just drag them in the level wherever you want and kind of set those to certain areas and use them later. So lots of cool things that you can do with this. It doesn't just have to be with the jump. It doesn't just have to be within this one particular spot. You can make them blueprints and make them all the same, drag him everywhere, and you can set them to a variety of different things within your ThirdPersonCharacter that's default set in Unreal here for you, or just generally speaking, whatever character you're using. So one last thing that we do need to do before this video wraps up is you've probably noticed once you walk through here, you can never jump again and you will never move faster again. That's typically not how normal games work. It's only for when you're in a certain building or for a certain period of time, are certain inputs disabled? So we want to do is first and foremost, let's make this a little bit wider so it covers up a greater space. So that looks pretty good in my opinion. So make it a little bit bigger like that. So I'm only going to have this much also gonna make it wider. There we go. So this is only going to be true when we're actually overlap in this. So what we can do is we can add a another event to set the walk speed and the jump back to normal. Once we exit from this box, we don't need it anymore. So the way do this, make sure you have doors kinda block in it. Have that selected down here, right-click. Now we do want our context-sensitive on at an event, a collision event, and instead of begin overlap, we want an end overlap event, okay? And now a lot of these things are going to be the same. So our ThirdPersonCharacter, copy and paste him. Our player character player movement. Copy and paste those as well and put them down here. And then our walk speed and set can jump, copy and paste those guys again. So we should have all of these, plug them in straight to here. But the Character Movement in the walk speed put the can jump in the ThirdPersonCharacter, and then put the other actor in this object here. Okay? So all of that is looking good. I'll write simply all we wanna do. Max walk speed by default is 600, so we're going to put that as 600 and can jump. Yes, you can jump again. And that's all we wanna do. So now when we end, when we're not overlapping this anymore, our control will return. Okay? So for walking, always get myself into this crap. Can't jump all I'm in here, can't move fast while I'm in here. Once I exit, I'm not moving again. Then jump in again and the side effects of plane. Now if I overlap this thing again, what's going to happen is absolutely nothing. Because we do have do once node. When we begin the overlap, we don't want one once we ended. So let's highlight all of this. The CQI, and let's type in change, walk, speed. And then a little dash there. Play sound of new chapter, gay. Eventually this is going to be like a new chapter. We're going to add texts. Spoiler alert. Just told you what the last third notice is, adding some text to the screen. Okay? And let's just make it like a yellow type of color. Beautiful. Okay, so the last thing we're going to add something down here, and then we'll be done. And this is going to be our most complicated box here, this guy. All right, so hopefully this video was helpful. It taught you some new things. And you now have the knowledge with potentially working in the character blueprint and the Level Blueprint to kind of design your level in a way where you can manipulate what the character can and cannot do given where that wherever they are in a level. Ok, so lots of things you can do with this. Hopefully that all helped. And I will see you guys in the next video. 9. Weapon Pick Up: Hello everyone and welcome back to another Unreal Engine four video. In this one, this is going to be the first of a kind of two part of where we're going to be making to items that are extremely similar in concept in, in scripting. And those being a weapon pickup, and the next video being a quote, unquote treasure, pick up. The weapon is going to be really basic. The treasure is going to be pretty basic to pretty simple. But it's going to have a few extra things to it that make it a little bit more unique that I think you guys are going to like. Alright. So pickups are a Another thing that are in pretty much every game that has ever existed ever. Where you're walking up to something close and then a button prompt of some kind pops up. But it only pops up when you are within a certain radius to that object. So that is exactly what we are going to be creating right now in this video. So the first thing we wanna do is in our uncharted folder, right-click on that guy, hit New Folder, we're making another one and we're going to call this blueprints. Wonderful. And within this fancy, fancy blueprints folder, we're gonna right-click again and make a blueprint and class. In this case, we want to make an actor. So let's click on that. And we're going to call this BP for blueprint. Weapon. Underscore. Pickup. Alright. Beautiful. Let's click on that, open it up. And this is just a blank thing we got here. So var, okay. The first thing that we wanna do is we want to actually build the visuals for this, what it is going to look like. So we're going to add a couple of components. The first one being a static mesh. A static mesh is going to, is a thing that's essentially going to become anything you wanted to be. So in this case it's a weapon. So just so we know what it is, we'll rename that weapon mesh. The second thing that we want to do is add another component. So with this guy selected, let's add another component and make a Text Render. We can just keep that the same name. And the last thing, make sure these are selected and you're doing this. Our third component is going to be a box collision. Okay? Instead of just calling this box, let's call it triggered. So we are not incoherent. Okay. Within our trigger volume here with this selected might as well just do a little some that some of them with pretty much all I wanna do is resized this guy. So over here, under transform in our details panel here, we wanna uncheck this lock. If you have this locked, that means everything is gonna move coherently with it. All the values are going to stay the same. Essentially, you have an unchecked, we can make them different. So what we wanna do is let's make our X6 and our y six. And you can change these however you want, and we'll keep our z at just one. Ok. You can see our text right there. Cool. That's literally all we wanna do with that. Okay, moving on to our texts render, which is going to probably be the most important guy. You can see him here if you want. Go ahead and you can raise him up a little bit. If he's moving up too high for your liking, like I said before, you can change how your graph sizes and move it along here a little bit. We just wanted to kinda hover above the ground. Ok? What we want this to say, okay, is let's have it say because this matches up with the mesh that we have that we'll put in later. We'll put AR for which is the type of gun. And we're going to associate with this with the F keys. Let's put an f in parentheses like that. Hit enter, and now that guy is showing up. And to make it look nicer instead of a left alignment, let's make it center so it's going to hover right? Perfectly, beautifully. Above that weapon mesh. You want to change different things. If you want to add a different font, you can do so, but you have to import them. So it's not really worth it unless you want to look absolutely beautiful world sizes, how big you want the text to be. We're gonna keep that at 26 and then the color and things like that. So awesome. The only other thing that we wanna do, so actually wanna make this invisible. Meaning that if we had it right here, as visible all the time, that you'd be able to see it all the time. But we only want to be able to see this text, this prompt when we overlap this box. So by default we're going to set it to in VCB lay gay can't see that guy. And finally, we have our weapon mesh. And the mesh that we want to make sure this is this is where our FPS weapon bundled comes in. Let's type in MSM underscore AR for. And you should see a nice little gun pop-up gay. And it's gonna be standing upright. Sophie hits base bar once. You don't want to take this and let's put it in 90 degrees so it's sitting on its side. Alright? And we can just keep this scale how that is, OK, compile, say. So this is essentially what our thing looks like. And if we want, we can move it over a little bit. If you want to just be very perfect. Sure. That looks fine and good to me. Okay, now it is no right or wrong things here the mesh is the mesh doesn't do anything. It's just something, just the thing that you look at. Most important stuff that we're gonna do here. Now let all of this is built, is in our Event Graph. Yeah. So it's actually going to be quite a bit of scripting here. So why don't we delete all this stuff out? And the first thing that we are going to want to do, guys, is we're going to create two variables. So go ahead and hit plus on the variable. And let's type in. Has a weapon been picked up? Okay, and these are going to be default. O. If we compile it, we can actually see it. Default we wanted as a Boolean, we want this to be by default set to false. And then another variable and we'll name this can pick up weapon. These names are essentially just so that we know what they are doing. This kind of placeholder names made by yours truly. Okay. So the first thing we wanna do, let's select on a o our trigger volume, okay? Right-click and event, add on component, begin overlap, which is the same thing that we've been doing for this guy and that will do for pretty much everyone we create from here on out. The first thing that we wanna do is we want to cast to our ThirdPersonCharacter and put him in the other actor. Meaning that once again, we want our, you can't see this blueprint in the world or whatever, but theoretically, use your imagination. Our third prison caters is going to be once again, the object that is overlapping this volume, in this case it's this guy. Okay? Then we wanna pull out no node and make one of these branch guys are right underneath our condition k. Let's take has our weapon been picked up yet? So that's the first thing it's going to ask, Has it already then picked up? In this case? The answer to that is a big and oh, no, it has not already been picked up. Okay. Meaning that we can only pick it up once. So if it's not picked up, aka false, we're going to set visibility. Okay? And we want to set the visibility and an automatically, because it's so nice. Automatically had the Text Render in there by default. But we can delete that out if you wanted to. And you can just take the Text Render and put it in our target and does the same thing. But since we had context-sensitive, because unreal is just so dang smart, he did that for us. Okay? Then the thing that we wanna do is we want to go set, can pick up a weapon. And we're going to be like, yeah, we can pick up that weapon. Alright, because it has not already been picked up. See how that's happened in there. It if it hasn't been picked up, then we'll set the visibility of the Text Render. Ok, meaning that you know what, it can, it can be picked up. And our new visibility, we want that checked in as well. All right, meaning that it is going to change to what it was, it's default, nothing. And so now it is going to be default or not default to it is going to be visible K, long story short. The next thing that we wanna do is we want to add yet another one. And essentially what we wanna do with this is that if we leave this space, it's going to disappear again. Alright, so within our trigger volume again an event and we're going to add one of those end overlap events. And then some of these are the same as before. So ThirdPersonCharacter, we can copy, paste him, set visibility, copy paste him. Alright, and then set can pick up weapon. We're going to copy and paste that node is well, plug all these guys in here to each other and a nice, fancy, beautiful is the same adjectives everytime. Straight line. And once again, our Text Render is going to be that our target that we want to set the visibility of. And now we don't want to be able to pick it up again because we are out of that range. So we don't want to be able to pick it up if we can't even see the Text Render essentially what this is saying. Alright, so that's all built. That's all well and good. So let's highlight everything. Let's hit c and let's type in show and hide. Pick up. Weapon. Message arrived. Seems pretty simple enough and let's make it sure the first color that I clicked by random. Finally, one thing I forgot to do, make sure that you uncheck new visibility so that it goes back to how it is by default. Okay, that's I get that to work. Alright. So I went ahead and I placed our weapon blueprint, you can just drag as many of these as you want in here. Now, this is kinda what I was saying about like if you add blueprints that were set to have a scripting in them that would disable like your jump. You can just drag him in here and resize them however you would please. But essentially, let's just demonstrate how this works so far play from here. The text is not showing up. We see our weapon. We get closer and there is our weapon. And I leave the box and it goes away. And I come here and see if it is fully functioning. The only thing that's not happening currently, I'm hit enough. Nothing's happening. Ok. So that's our one thing that we still have to do. Actually, there's two things that I want to do. One of them is for functionality and one of them is for fanciness. Also little tip. If you want to change like the size of this box, you can't do it in here in the viewport, or you can do it individually by whichever, like if you drag intend to these, you can change the parameters of these individually by going over here with its selected and select on whatever aspect of it that you want. So you can change the mesh individually. You can change the trigger volume so you can make it larger or V1. Okay. So these blueprints are like how it will be set by default, but you can always tinker with them individually on your own as you create them. Ok. So with all this made, let's scroll on down heel. And let's just type in F. And this might be kind of hard to find. Maybe if I typed in key a whole, and maybe it'll show it for me. Here's all the Keys, keyboard events. F, okay? First things first, let's drag out a wire and make another branch. Okay? So the first thing once again it's going to be doing it's going to be asked him, can you pick up his weapon? If the answer is no or if the answer is yes in this case, my bad. If we can pick up the weapon, then we will want this button in this case f, to be able to function. Okay, so we're going to set the visibility again, set it up the Text Render. Like so. Set has weapon then picked up. You can do it this way or you can also drag them out in HD set and does the same thing that might actually be easier or you can actually believe it's all has been picked up and hold and drag with all selected and automatically set for you. And then control will get it. Okay. Little hotkey tips or you can always just search it up. So if it has been picked up, play 2D sound. Alright, so we have our 2D sound and essentially hasn't been picked up. Yes, it has now been picked up because we hit this key. So now that it has been picked up, we want a couple things happen. We want to play a sound and we also want to destroy actor, meaning that we want, the blueprint did disappear once you hit the key and you interact with it, We want to disappear. Now there is no like real inventory system going on here. There is no like ammo system where like you're AMA would get added to some counter or anything like that with this gun. But just for the sake of making it seem authentic, It's gonna disappear when you, when you hit F, when you pick it up. Going back into our content browser here really quickly underneath our sound, we have dialogue soundtrack, and now we want to add another folder because we're going to put in another 2D son and we're gonna type in FX, okay, within this effects folder, we open up our class assets in the sound and we go to sound effects. There is one called weapon pickup. And while you're at it might as well, to save some time, put the found treasure sound effect in there as well. Drag those into our sound effects folder that we just created. So the weapon pickup is going to sound like this. And those of you who are fans of Uncharted are gonna like this when we pick up the treasure that we make in the next video, this sacrifice gonna play. It's all about authenticity here. Okay? So with those added here, the weapon pickup, the play 2D sound, what we wanna do is let's type in weapon, big, boom. Okay, so now we hit F. It's going to disappear. And that sound is going to play. Alright. So let's drag this out yet again, hit c and type in progress to interact. Right? So we are looking good so far. And you know me, I like my colors even though I can't see him. Alright, so might be kind of zoomed, interesting colors there, but we're doing it anyway. Okay. So admittedly, for the past 30 minutes, I had been like so confused because my weapon was working. I was like why, you know, I was like copy-pasting over my old code and everything. And it was exactly the same was working in that file, not working this file. Big thing that I missed. Okay. Super-easy, fixed. Go into your Make sure you, before you try to interact with any of this stuff, go into your class defaults. I cannot believe I miss this. Scroll down here into input, auto receive input instead of disabled, put player 0, okay? Since we're only one player in this game being just put player 0. Then if you compile and save it how we had it before, everything is exactly the same thing I changes, I added I multiply the volume by three to make it a little bit louder. But now if we press Play and we walk up to our weapon and we hit F, it functions as intended. Thank the Lord. Okay. There is one final thing that I do want to do here and that's to make so if you notice right now when the text appears, it can kind of it doesn't actually follow us around. And it's kind of just very statically in the world. I'm going to make it so that the text itself follows that camera wherever we are. So in order to do this, let's right-click and go event. Tick is the event that we want. And then out from here let's go set world rotation. The world rotation that target that we want is specifically our Text Render. That's the thing that we want to rotate out from here. Let's go add Local rotation there is. And then once again, our target is going to be this text render. Now if you're someone like me and you don't like lines going through other nodes that you can simply double-click at some point and it will break the node off. Actually don't really like where I put them. So I might put it somewhere. Like, you know, it doesn't look that great, but, you know, we will take a week or so out of our new rotation. Let's actually, let's right-click and go get layer controller first, let's work left to right out of our return value. Get actor, trance form. Ok. And then our return value, we're going to break transform. And then this rotation is going to go into our new rotation. Okay? Just like that. So it's essentially taking the Text Render and checking where our player controller, the camera is rotating, setting that as the new rotation for our text. Okay, so let's go over here. It C, go to rotation, and let's go green. Greenish. Why not? Okay, cool. Move it into place so it's all nice and good looking. So that is everything for our weapon pickup. So fingers crossed last but not least, let's go ahead and play. We walk up to this thing is here and it's backwards. Interesting. Actually not interesting. Okay. So one thing that I didn't mention that we have to do, just to show you, is it will default, set everything kind of backwards. So the way to get around this is just go to 180 on your z component. And that will fix that problem for you. So now it will show up the correct way and it's twisting with the camera here. Pretty cool. And if I'm moving, its move in with me. And then if we walk out a year, it's gone, walk back in here. There it is hit after it disappears and a sound effect plays. Okay, so that's going to wrap up this video in the next one we're gonna do essentially the same exact thing. Pretty much copy pasting most of this script here. In order to make a treasure pickup. It's going to be pretty much the same, just with a few added things that I think you guys are going to think will be pretty cool. Alright, I will see you in that video. 10. Treasure Pick Up: Hello and welcome everybody back to another video. As I said in the last one, where we created this fancy pansy weapon blueprint, we are now going to do a classic uncharted ask treasure pickup. Okay. So to get started here, we're just going to get right into it. We're in our uncharted blueprints folder, creating another Blueprint Class and other actor. And let's name this BP underscore treasure, right? Save him and open that up. So same as before. We are going to build the look of this first, and then we will add some things later as far as the scripting goes. So with this selected, we're going to add a couple of components. The first one being a static mesh. If it shows up, see the Dang spacebar will call this. All right. The next one we're going to add is a billboard. Okay, so a little bit different from, and we'll name this icon. Okay. Next, I'm like looking at my notes at the same time, we are going to add a particle system, not a fancy panty Niagara one, just a normal one. And we'll call this light flicker. All right? And finally, you knew it was coming. We're going to create a Box Collision and we'll name it sugar volume. Once again. Alright, so for some of these things, first and foremost, we're gonna make this one the same size as the last one. So with our trigger volumes selected over in the transform panel underneath scale, let's undo the lock and make the x and y components six all the way across and you can keep that height at one. Alright. Next, we'll just go bottom to top. Here is our light flicker. Might be wondering what will, what is this light flicker of which you speak? Well in uncharted specifically, and with a lot of collectibles, there will typically be some type of effect, some blinking light. So we added this blade affects guy in here. And within here are just tons and tons and tons of different particle effects that you can just count a dragon and do with whatever you please. So you can technically put whatever thing you want in here if you wanted to. Okay. Even some crazy funky stuff like this. But for the sake of this video, there's even actually one called if you do like this one instead of the one that I'm going to pick. One called loot. And there's a loop, looping loot. And it kind of just sparkles like that. Beautiful. That one's cool, but we're not going to actually use it and we're going to use something else within that same pack. So if you, if you have that downloaded and it's in your content browser, this should be no issue here. So in our templates, let's type in blinking light, blinking light O1. All right, so it's just, it's not like really fading, fading in and out like it does in uncharted, but it's the closest thing to it. We're going to lock this one and we're going to make it 0.3 all the way around of its size. So just see this little blinking light because I like icon itself, our mesh is not going to be quite so large. Next is our icon. So one thing that we want to do That's differently than last time, is instead of text, we're going to have an icon. Well lucky for you guys actually built one Obama self. Again. So in Uncharted in our blueprints, if you want to just keep it like this, you can just put in your blueprints folder. You don't need a million other folders because this is going to be the only one that we're using. You can go into widget assets and you should find one that is called PS4 treasure prompt. Take that and drag it in there and give them a nice safe because you're like, Now for our sprite with our billboard icon selected, let's call that here PS4 treasure prompt and its massive gay, we don't want that big. I made this an illustrator, tried to make it as authentic as possible. We're literally going to make this really tiny, make it 0.1, all the way across. And now you can do this on your own. I apologize. I didn't actually, when I put this in Illustrator, I didn't actually Center perfectly. So it might not be perfectly centered. Here. You might have to tinker with it if you want to be a perfectionist of having it perfectly above this thing at all angles. Kind of thing that's going on. You can see our little light effect there. Alright, that's all we have to do other than once again, this is invisible. Alright? We do not want to see him. Alright? And we're also going to uncheck hidden in game because we don't want it to be hidden in game. We wanted to be visible in game. But only when we add the script to it when we're in this box, okay? The last thing that we need to do is for our mesh, in our mesh this time, it's going to be very, very simple. We are going to literally just type in cylinder. He might not even be able to see it. It's gotta get in like real, real close to him. You know what, that might be the wrong cylinder. Think there's different. This is the one we want cylinder, Static Mesh. Oh wow, that's a big guy. You gotta find the right cylinder for whatever reason. The one that I have is actually called cylinder. So there's like three or four different ones called cylinder. That's the one we want. So hit Spacebar, put it on its side. And we are going to make this with it locked in 0.01. five, the size, so real tiny. And then its default material, we're going to type in metal, gold. So now it's like a shiny gold little. I'll make this so don't fly right? Pass it. Now it's like a shiny gold blinking thing. Alright, and then when we get close to it, what will script to this is we will have this pop-up. So that's what it looks like. All right. I think it's pretty cool if I do say so myself. Now a lot of this stuff in the event graph is going to be, it's actually all going to be exactly the same. I don't know why it's not. Let me delete these nodes out here. No matter. Okay. That's so strange. Why thought let me delete. I'll say OK. I don't understand it, but it happened. So if we have our weapon pick up thing here, if you want to just open it back up in case she closed it out in the metagraph. I want you to take everything in control. See, go over here to our treasure, clicking here and Control V. Now if you try to compile it, it's going to give you some errors because we don't actually have these variables. So few things we wanna do. Every time you see a variable, either a set or a get, that's a get this as a set. Delete those out. And also every time you see Text Render, go ahead and delete that as well. Because we're not going to be setting the visibility of the Text Render. We're going to be setting the visibility of our billboard icon. Another thing to change just for the sake of it, instead of showing I'd pick up a weapon. You want to have it do that for the treasure. Instead of the F key. We're going to change this to the t d omega and hopefully that shows up. Should be in here somewhere. If not, we can just, you know, let's just delete that out as well. I press T to interact, so we're just kinda changing some of those up. And attacks rotation can leave that all the same. All right, so we're just gonna kinda be putting these pieces back together. So now we're going to add our two variables. And in this case, our variables are can, pick up treasure and we want them to still be the Boolean type. Add a second one called has treasure. Ben, picked up, pushed. Oh shoot, I hit enter. I want a question mark there, just to be coherent. Now what we're gonna do, we're gonna drag this into our condition just like we did before with the weapon. It's all going to be exactly the same. And then our target is going to be our, our icon, our billboard. And then we're going to get, can pick up treasure, drag this in here in a hole and you can click and releasing do set, or you could hold down Alt, do that, and go ahead and click right in there. So it should look like this. And then we're going to take our icon, put it in the target here as well. And then click and hold the ALT key and it'll automatically set that for you and set it up. Like so. I'll save. And I was stupid to do that because this is an event setup correctly. Alright, now coming out of here, we're going to have R T, T, T for treasure because T doesn't really do anything. And then to be extra fun. So this actually has little triangle prompt on here, said we fund and also to express how to do this, we're going to add a second input. Okay, so type in gamepad, Face, Button top. So this would be the equivalent of like your either triangle on PlayStation or y on Xbox. So if you have a controller and want to plug that into your computer to see if this works. It should now work with both inputs, right? Seeing that in their class defaults, you have that set two player 0, okay? I'll never forget that again. For the longer they live, man, you guys wouldn't have seen it, but I was so stressed out. I was like, why is this not working? Anyway? We're going to set has treasured been picked up, put it in here. We're going to say, yes, it's been picked up, put that in here. And then instead of our weapon pick-up sound. Let's go with, we added that sound found treasure sound effect. And this one's allowed someone to set this actually back to default at one. If you don't have this sound effect, you can't find it. We added it back in the last video under sound effects. Found treasure sound effect. It's right here in our sound assets. Sound effects. It's this ocean backer noises and something that we're going to use, but I am leaving it available. Actually, you know, we can, we can put in there later if we want for fun. Doesn't really do anything. Bf found treasure web and Pig up. There they are. If they are in your content browser somewhere, when you search it up, yes, should go ahead and find that. Alright, the final thing, drag the icon, put it into set visibility. And that should be all that we need to do for this. And then finally, our target. We want our icon here, we can get it. And the reason I'm doing that is because I wanted to plug into here as well as into here. But we can plug it into the middle because we made that little node branch thing. So Compile and save that. And this should knock on wood, be all good. Copy pasting that. Well, I do need to actually drag it out into the level. Don't die. So we'll put it next to our weapon here. Blueprint treasure. So let's go ahead and play. And there's our treasure. Lincoln, live in. There's our weapon. That's how that works. And then over here our treasure. And now see, I told you it's not gonna be perfectly centered depending on which way you're looking at it. But there's our treasure. And if we hit t, it disappears and makes that cool sound that we all know and love. Alright, so that is it for this video. So just kind of two ways to do the same thing. You can't apply this logic of the boxes if you wanted to say like have a door opener, have some type of pickup or anything. It doesn't have to be a weapon or a mesh. It's really anytime you walk up to some type of structure or thing in the world that has a button prompt. That's how this works. So yeah, you know how to do that now in a variety of ways. Have icons, have text, set the world rotation, do a few different things with it. Yeah, make it look kinda cool, kind of fancy. So hope you guys enjoyed this video and I will see you in the next one. 11. Creating Titles Using Widgets: Hello everyone and welcome back to another Unreal Engine four video. One of the most common things used in every single video game is text, whether it's indicating a new chapter in a game like Uncharted, or it's being used in an open world game to indicate you've entered a brand new area. It can be used as tutorial text to tell you what to do, where to go. It can be shown in menus to give lore on different characters. Text is used in such a huge variety of ways. It's put on your screen and can be used as a great way to give information to the player. And we're going to go over all of that and how to do all of this type of stuff in this video. Today, we're going to start by looking at what are called widgets in Unreal Engine four. And so in order to do that and to set up UI and different things like that, we're going to make a new folder under our uncharted one New Folder. And we're going to literally call this UI or user interface. Okay? And within there, we're going to create another new folder and call it widgets. Alright, so step one, before we do anything else, is we want to open up our class files. In our class files, we're gonna go to you widget assets. And what we're going to add is a new chapter title. So let's put that in here. If you have this asset opened up, you'll realize that it just says, the really big tree. You're probably wondering what the heck is a really big tree? Well, I will tell you, that's the really big tree. Okay. This is my level of creativity here. What I did to put treat air completely optional when under content and I literally just search tree. Is this small cherry tree which can be found in our infinity blade grasslands. And I did that and made it 20 times its original size and put it in front of the store. What we're going to do is we're going to add this text to the screen while we walk through our quote, unquote complicated box trigger. Alright, so there are a couple of things that we need to do. So let's go under our widgets folder. Right-click under user interface. Let's open up and create a new Widget, Blueprint. And this Widget Blueprint will be called the W BP for Widget Blueprint. Really big tree. All right, and let's open it up. Let's dock at across the top. Within our widget blueprints. If you hit this button, it will make it nice and fancy in the Center for you, which is something I highly recommend you do. Alright? The first approach, only thing that we want to add to the screen is our really big tree text. So these assets were made in Adobe Illustrator by myself before this class began. If you wanted to add your own text, you can drive it in here and type out your own things. But I thought I'd be nice and save us the trouble. So we're actually going to take an image and drop it onto our canvas panel. Let's hit F2 to rename this. And let's call this really big tree, right? Anchor it across the top center. Alright? And the size that we want for this, okay, is going to be 645 by 400, alright? And the position we want is negative 325. These are very random numbers and the position is negative four. This is pretty completely random. You can resize this however, which way you please and change those numbers. But this is going to make it look not awful, right? On our widget here. Alright, what we wanna do is underneath this appearance tab, let's go and click down on this brush here. And an image, the image we want is called, we added It is. What did I name it? I got to actually look what I made my own my own image. New chapter title. I was like, why isn't not showing up? And my gosh, I was think I'm doing something wrong. Now one way we can do this is searched for it here in our image right here. But another way we can do it that might honestly be easier for some people just to show different ways of doing things. She can actually grab onto our image here and drag it right on top and then boom, it's all set up perfectly for us right then and there. Alright. So how we have this set up right now is just this text will appear on the screen in this widget. And we haven't added at anything, it doesn't actually function or do anything. But before we get to all of that, what I wanna do is I want to show how we can do a little bit of animating. As I said, that we're animating animating. I don't even know what I'm doing anymore. Well, what we're gonna do is with really big tree selected, we're just gonna add a simple fade in, fade out animation. So let's hit new animation and we'll call it fade in. Right now from here, you'll notice that now we have some life in our little animation panel here. So what we're gonna do is we really only want to worry about color and opacity. So if you guys have used anything similar to anything Adobe related like premiere after effects or anything, you would know about keyframes. Unreal engine works exactly this, exactly the same. We're all functions I keyframes. Keyframes in Unreal are a little bit more fidgety than they are in Adobe. Meaning that if I set a keyframe, it'll like set it for that value. And you can't actually like change the value of the key frame as you go. You have to like hard set it in. So in order to do this, we're going to click on Color and opacity. It'll open up this little menu here, and let's slide this all the way down to 0, so you'll see it disappear. Hit OK, and then we want to add a keyframe. Okay, so maybe that makes sense. If you know Adobe stuff, you have to set the value before you add the key frameworks. And Adobe, you can do it whichever way you want. Then 0.75 seconds in. Let's click on this again. Take our alpha value and slide it all the way back up to a 100 and hit OK. Then let's add another key frame. All right, and let's say we want this to be on the screen for about three seconds. So let's slide on over it here. Hit another key frame just to lock in that opacity and then read before three 75, opened it up one last time. Slide it back on down, hit OK, and then add a final keyframe. Now if we play this, it'll fade in and then fade back out. That's very simple way to do some Keyframing animations that you can also do things like add keyframes, but the size, the position, if you wanted to zoom in from, zoom in from the center, or come in from the side or do anything like that. You can do that very simply with these little keyframe icons here. But for the sake of this example, we just have a little fading. Okay, two more things before we can get this working. So now at all this is designed. We want to go into our graph, okay? And we can get rid of these two, but we can keep Event Construct. And what we wanna do, drag out a wire in, let's call Play Animation. Alright? So we actually need to script to have the animation play. The animation that we want to play is called fade in. So let's put that into our animation slot. Just like that. We want to play forward. We don't want it to loop. We don't want it to delay a start. We don't want, we can tinker with all these settings if you want to. But we could do that right now because it is, it is beautiful the way it is. Ok. We're not going to touch. So compile, compile and safe. And that's all we got to do with that. Widget is now created. The only thing left to do is added to a trigger volume are added to some type of event. So let's go to our blueprints. Open up our level blueprint. And you guessed, guys, the third node in our ThingImage is now going to be created. So let's drag a wire out and let's type in crete ATE widget. You'll notice that this construct, none. That's because we haven't decided which widget we want. The widget that we want is really big tree. We want this widget, this file to be the thing that is quote unquote created, right? All we have to do from this point forward, drag a wire, add to viewport. Do that, meaning that we want to add this to the screen and move this down a little bit. And our target is going to be under our return value here. Compile, save. Its glorious. Let's hit Play. And now when we walk through this door, all this is going to happen. Soundtracks gonna play. Nathan Drake Smith, say align is going to stop. It's going to walk slower. He's not gonna be able to jump. And now some text is going to be animated to our screen. Modal like always get myself into this crap. Alright, pretty cool in its fully functioning. And if we go over here, it doesn't happen again. All because once again, the dew wants as before the sequence. So all this stuff in the sequence, silicon happy ones, including the viewport. So now this is completely created and it is wonderful. Alright, so all we're gonna do for this video in the next one, we're gonna do relatively the same thing, but we're going to do it with movies. And movies that we have is we're going to add an aftereffects file that I created. And you'll get a sneak peek of it right here. And we're going to add something like this to the screen that is like more officially animated, looks a little bit cooler perhaps. And we're gonna show how you can do that. It's a little bit different than just creating an image, throwing it on a widget, but it will be cool and pretty easy nevertheless. So I will see you guys there. 12. Adding Movies to the Screen: Hello everyone and welcome back to another video on Unreal Engine four. In the last one, we utilized this box trigger a little bit more and added some text to the screen, which I'll demonstrate here again in case you have forgotten photo, I always get myself into this crap. Just talking about how to use widgets, how to add different things of text to the screen and also animate them. In this video, we're gonna take that a little bit farther and do something a little bit cooler. In between videos, I simply copy pasted this door frame here and then added it other box trigger into our level because we're gonna be using a different one this time to illustrate a very similar but different way of doing this. Meaning that instead of animating, doing some very simple animation like fading in and fading out, we are going to utilize an asset that has a little bit more stylish of animation. I showed it in the last one in case you forgot it looks like this. This is a file that I made in aftereffects and it will be found in your course files as well. And we're essentially just going to animate that to the screen. Doing that as a little bit different because it's a video instead of just an image that we're putting on a widget. So first things first, and we want to do is we want to be under our uncharted UI folder in our content browser. And all we wanna do is right-click in here and go New Folder. And let's call this movies. In this movie's folder. We can open up our class assets here, go under widget assets, and you should see that file, The Forsaken tower, AEI for aftereffects. And we're just going to straight drag that into our content browser. Okay? What we're gonna do next is right-click into some open space and go under media and media player. Now, this little menu here should pop up and we want to check this box for video output media texture asset. Since we're gonna be adding this video to the screen, we want to have immediate texture asset added. So you'll notice here as I hit OK to different little assets, I guess you can call them are going to be added instead of just one. So there's the media player and then once I name this, so let's call this the Forsaken sour media player. Hit Enter and then this media texture you can see in parentheses also popped up. So let's go ahead and save all this stuff. And double-click on our media player. So in here, when we open it up, you should see all the different file media sources that we have. In this case, we only have one. And it's this thing that we just put in here and double-click. And it will add it up here to the file media source. And it will play all the way through. And you can just kind of watch it there, okay. From there, just save and exit. So now that, that is slotted in here for this media player. Okay, so pretty self-explanatory so far. What we want to do next is go into our widgets folder, which is also under UI, and we're going to create a new widgets. So right-click user interface, widget blueprint. And let's call this WPP for Widget Blueprint. Forsaken tower. And open that up is we'll click on this zoom to fit to make it look all nice and fancy. And the simplest way of doing this is actually by straight dragging and dropping this into here. So you can pull down this tab into some open space here. And literally what we wanna do is you go into movies and then take this media texture, click and drag in the district, drop it right in there. Alright, and that's all I gotta do. Now it's in there. It should show up as a kind of blank box or black box. And we can rename this as the forsake gate tower. Just so you know, we're working with here. Right? What we're gonna do with this, anchor it across the top center. And like I said, these are some pretty random numbers that I tinkered with. Negative 420 for the position selected. Negative 40, negative 36. Okay? And then the size that we want is 845. And then the size for the Y is 537. So it's going to look pretty weird, potentially a little bit random here. This was something actually just got to put on the screen and said, you know what, that doesn't look terrible there. So some weird numbers you can align and do different things with them as you please. But that is essentially what we want to do with that. Alright, moving on is we want to go into our graph here and we'll delete this top and bottom nodes. And what we want to do is out of Event Construct, let's type in open source. You might have to uncheck context-sensitive for that to get open source. And then what we wanna do underneath variables, let's add a new variable, and let's call this media player. Okay? And for the type of variable we want, let's click on this little boolean type. And it's not going to show up is one of these main ones here, but we're literally going to type in. Media player should see the little icon there. And now it's immediate polar asset that drag that and put that into our target. In, underneath in the Details panel of this media player. We have to compile first to get this to show up. Down here. You should see when you hit this drop down menu, the only media player that we have created. So let's select on that. And that is this guy that we had made before. If you in case you're trying to connect the dots of wireless stuff is showing up. And finally, under media source, we should also only have one media source. And we'll click on that. And that media source is the first file that we originally drag and dropped in like the actual video file. So then compile save. And that should be that in terms of the widget. Now back in our Fuego, blueprints, open Level Blueprint, this should show up and we have all the things that we have created so far in here, we're going to scroll down to some empty space. And a select on our particular trigger that we want to add this event to be right-click and have context sensitive. It will ask us, would you like to add an event for this trigger box and we say yes, collision on Actor begin overlap, civil select on that. And then all we wanna do from there is the same as before. So Cast to ThirdPersonCharacter. From there, Create Widget. And then it's gonna say what widget would you like to create? In this case, we want to make the Forsaken tower, the widget that we're creating, this one. And then finally, all we wanna do is add two. Viewport. Do that, plug the target in there, and that's all we need. So we can highlight everything. It's C and unselected on it for a second. And let's just put in the four say again, tower, pole tower, and it will make sense later. New chapter text. And why not have a color like that kind of everything in a filling everything I do just mix it kinda like pink, but yeah, that works. Okay. So now we have that they're pretty cool. Compile save. Oh, we have an air. How sullivan Me. But make sure to put your object into your other actor compiles they've now it will properly function. And then if we go here and we walk, here's the moment of truth. When we walk through here. And there is our video playing on the screen. Okay, so it's a little bit different than simply just putting a widget. And in order to make video so you can make, you can't add an animate a wide variety of things in unreal in terms of just classic, like wiping things onto the screen, fading and fading out. But obviously programs like Adobe After Effects are going to allow you to do a lot cooler things. And you can't add those assets to your screen in your games. You just have to do it through the media player and the video. But yeah, once you do that, you get some pretty stylish, cool looking stuff to show up on your screen. It looks pretty dang professional if you're asking me. Alright, so hope you guys enjoyed this video and found it helpful. And I will see you guys in the next one. 13. Bridge Collapse: Everyone and welcome back to another Unreal Engine four video. In the last couple of videos, we talked about widgets in how to add different UI elements and videos and different things to your screen. There's one thing though, that happens in uncharted and in a lot of games is that things get destroyed and they fall over a lot. So in this video, we are going to talk about how to set some physics and simulate those types of things on some very basic objects. Okay? And we're gonna do that with a quote unquote bridge collapse. The first thing that we want to do is go back into our class assets. Once again, click on sound assets, Nathan lines. And let's just go with, I don't think we actually have this one in here. Let's just go with the one that's called crap. Okay? Alright, so he's mad. That's, that's basically all we want. Because we want to make this kind of authentic and is going to be upset that the bridge has collapsed. Alright? So we'll go into some open space over here, into our level. And under basic, let's just drag out a forward this cube. What we want is let walk this and let's set our X value 2.5, our y-value, 0.25. and our Z to 0.25. Yeah. So you kind of have this I'm sorry, I'm not going correctly. That's what it should look like. So since we're facing this way, we can hit spacebar and said that 90 degrees and let's elevate it up above the ground. All right, seems simple enough. And then under our basic sheet material, p-type and what you should see, some different types of wood. I'll just pick a nice pine nice pine bridge looking thing. And this is going to make our Burbridge J. I'm going to set my increments of the grid of 50 so I can just click and hold. If you hold them all keel copy, paste, whatever you are making. There we go. And you will drag out let's drag out five of these things. No, am I okay? Okay. You have to hold on all before you actually start doing this. It's like, I've never screwed that up before, but like explaining how to do it and then actually doing it are two different things. So what we have if we right-click play from here as we have this essentially bridge. Alright? If you remember at the very beginning of the course, I made it a point to make this a landscape and not just some basic Flatland. Well, that comes in now because when these collapse or fall, what's going to happen is that there are basically just going to fall perfectly straight down to the ground. And we don't want that to happen. Now to make this bridge collapse with the air quotes I'm using there look as authentic as possible. There's a few different ways we can make it. He's not perfectly fall straight and 90 degrees vertically to the grandmom. One way to do that if we go into our content and actually click on filters and select on Static Mesh, type in like rock or something and find some, maybe some rocks, these might be absolutely massive. Now they're actually not. So you can find some like little like rocks or different things to place in the way essentially that they kid like hit. This might be that's a little too big that guy. But these are going to make our bridge hit and collapse these things. These look, we're gonna get rid of that actually. So within a different content backs, you should have some different rocks and whatever to kind of make them collide with that the other way. And the reason we made this a landscape, if you hit Shift Enter to, at the same time, you'll actually go into landscape mode. Or you can just select on boats and peatlands. And very basically, if you go in and sculpt and let's just go with the Sculpt Tool will make strength real low, brush size, real low. To click and hold the can actually raise the terrain a little bit. It might look goofy at first. But so now we have, you see what I mean. Here we have like, you know, just some added stuff to this drain and I'm not going to do too much with it. That's honestly fine with me and I will move this rocket little bit. So basically what I'm saying is we have a little bit uneven ground now and rock for these things. That's literally the only reason I wanted to make this landscape at the beginning of the class, it doesn't really matter, they will fall either way. This just makes it look a little bit more realistic because the ground is perfectly flat. They will fall perfectly straight on the ground. That little perfectionism of myself out of the way. What we wanna do it these, this bridge here is go ahead and select one of them. And then once again, we're gonna a blueprint, open Level Blueprint. And what we want to do. Our blueprint level blueprint is we're going to make Credo Reference tube to make this easier. Instead of naming this cube and cube1 and keep one, we can hit F2 and call this bridge one. And let's just keep doing that. We'll call them bridge, just so we know what they're called. So I'm hitting F2. To rename these. Trying to remember how to spell bridge five times in a row or five, bam. All right, now we've got our bridges. And with that selected, now I'll say greater officer bridge one. And we're just gonna do this with all of our bridge pieces and that's how we will start out. So go ahead and make references to all your bridge pieces. Remember, habit selected right-click should automatically show up if you have context-sensitive and you're new. So let's just drag all these lookin real mass. Alright, we're missing some open space underneath. The rest of this stuff that we've already built. One thing that we definitely want to do is we want to create a box trigger that will trigger this event, aka these things to fall. So under basic, grab a box trigger and let's hit spacebar to times and make it kind of wide, kind of tall, kind of hard to avoid. So pretty big. This one will be, so we walked through here and this is going to collapse and fall. Alright? So now with that selected, let's go back into our level will grant. You know what's coming out event to box trigger for. And you can add your own names to any of these things if you want to reference them like that. But with the box triggers, you know, I'll just gallium, you know which one it is. So we'll do that ThirdPersonCharacter because once again, we want our ThirdPersonCharacter to be the one. But that in there want be ThirdPersonCharacter whose overlapping this. Then there's two things that's gonna happen from your out of this will pull up a sequence node to essentially one is going to set the physics and the other one is going to play our sound effects. So let's set the physics. So out of the first node, we're going to say for each loop, pull that out. Then out of the loop body. We're going to set simulate, set, simulate physics. So edit takes contexts off again to do that. And then the target is going to be this array element, which is right here in our array hasn't been created yet, but that's where these guys come in. So out of the way, we want this to be checked. We do want that simulate indivi checked out of our array. We're going to literally type out array. So now we have this array and we want these to plug into this, these pins. So let's go ahead and add five of them. So now there's five total because it's kind of weird accounts as well. And this part's a little strange. So out of here, if you drag a wire, just type in static mesh. So it got, get Static Mesh components. So we essentially want to take our bridge and it has a target and then a Static Mesh Component cuz that's what these are, the static meshes. But that in there. So we can copy and paste this few other times and just drag all of them like this. Now we've got two more doing that, doing that, doing that, and then one less. And now we'll make it look beautiful. Big fan of straight lines. Whew, man at a satisfying to look at the beautiful, marvelous, I'm sorry, got, that. Will stop looking at that out of the other sequence node. We want to do once. What we wanna do here is let's lay sound. Okay? And we're going to set all this up again. So out of this one, we're going to put a delay just to delay node out of this and we're going to play another. Alright. So that's, that's all of our Scripting there. So I'll well and done. Now we've seen a plug-in our sound. So the first time that we want, this should be if you have few options and you have a show engine content check that should show up this sound and just type in collapse. It doesn't quite fit. You'll hear it here. So I kind of feel like it sounds like a dresser hit in the ground, but that's just me. So it doesn't really fit the whole bridge sound, but it works. So then when we want, we want the crap line. So all of this should work. Say that should highlight everything. And let's type bridge collapse and let's make it like, I don't even know that Brown. Sure. I mean it OK. Wow, not even accurate frequency of the Achmat compile, save that. So what should happen here once we overlap? This sequence is going to play. And we're gonna set physics, simulate physics on these bridge components here. And then while that is happening, side-effects gonna play the attitudes. You wanna get really fancy with this. You could add another sequence note and you can go back into our effects. And you can make like maybe there's like a smoke or like some different type of effect that you can play on the ground. When they hit the ground. That can be kind of cool to make it look like. There's even like I know there's like would you like would breaking that could be kind of dope. You put that there. So there are some different things like wood shattering, breaking, obviously like the those things would still be there. Wood pieces would disappear. You'd have like Destroy Actor when they hit the ground or whatever. But yeah, you could prefer some effects in there as well. So yeah, let's go ahead and let's play from here. So there's our bridge. And you'll notice that nothing happens. Wow, how fortunate? Because we forgot to do one thing with all of our different objects here. And this is the same. If you want to do anything, move anything, instead of the Ming static, you want to set them to move. Sometimes I draw you off course on purpose just to make sure that you understand these concepts. So now if we go and we play from here, they're movable objects. And now they fall and see how it kind of hit the Brock can even at a different rock or whatever. For a second one there would in there. Just so they kind of like boom collapse hit that day rock. And you notice that the sound effect played. And Nate said alignment second after. Actually, I didn't say anything. I was damned delay. Well, she omega two seconds or whatever. How many seconds you want. Also think this is a little close. I'm gonna move it further away. There's a lot of it's just kind of tinkering with it, but that's how it works. So there's a wide variety of things you can do this as well. Got our bridge has fallen. So sad. So you can use this in different areas of level design to make the player think they're going one way, but then they gotta go another way. This is a thing that happens a lot, especially in Uncharted. Give you that different ways of going about traversed in the level based on different events like that happening, different things collapsing, you're falling, and also, you know, you use that to also be like the catalyst to some big action scenes like the bridges falling and different things like that. So yeah, there are some different things you can do with objects, static meshes within the environment. It'll obviously reset every single time, make sure you sound movable, and then just simulate physics on them. And there's a whole bunch of, you can make this more advanced and tinker with a bunch of different settings. There's also, there's also different stuff that you can create like explosion effects like instead of them just falling, you can get them to blow up in the air. In add different kind of forget what they're called. They're in here somewhere. I think. Edc, pretty crazy things, physics, five grams, maybe a random screen, what it's called. You can play around with it, but yeah, different things you could do with physics. That's it. That's the video up injured that once again, we only got like one more left. So I will see you guys in that video. 14. Creating Friendly AI: Hello everyone and welcome back to another Unreal Engine four video. This is actually going to be the last video, I believe, before we get into these sort of application and wrapup section. And in this one, we're going to mess with some artificial intelligence, which should be pretty cool. Keeping along with the uncharted theme of the class, Nathan Drake is typically followed and by some companions like sully or Lenaro or somebody. So what we're gonna do in this video is just very basically show how to make a little secondary character follow you around whatever level you're building. And with that, you can do some pretty cool stuff. You know, applying some of the dialogue, make it seem like two characters are talking to each other and different things like that. So let's get started. Instead of messing around in the Uncharted folder this time we're gonna go into third-person blueprint blueprints. And we're going to right-click and make a new folder. And let's call this partner Ai. And then I move my chord here inside of this, or actually back here in the blueprint. Let's take this ThirdPersonCharacter Control C, then go in this folder and Control V. So we're going to copy and paste our ThirdPersonCharacter Blueprint. Then here there's a couple of things we wanna do, all pretty much the same. We want to highlight all of the inputs and we can actually delete them out. And in the viewport, we don't want this camera boom line and the camera itself. So we can actually take that out. So it's just going to be a base character. So here's our players start might as well, we can drag him right in there. He's looking great. And what we want to make sure that is here by default, the Animation class is third person Animation Blueprint, which is the one that is default put in here. So if I were to play and look, you can see that he's just standing here, kinda do in that default idle animation, right? They're like my guys doing when I don't hit anything in the keys. All right. Now what we need to do is we need to give him some commands. So unreal works. If we right-click and go to artificial intelligence by what's called blackboards. So we're gonna go BB For Blackboard, and we'll name this partner. And while we're at it, Let's go ahead and rename him partner a. I remember meeting F2 or you can right click and there should be a rename. And there's the hockey. Alright? So blackboards are kind of like you can kind of think of almost like as like a dictionary where you have certain terms you create that are associated with different things out in your world. And essentially, they work with these behavior trees, which we'll get into in about 30 seconds to tell different blueprints to do stuff. So we're going to add a new key and we want to have an object, okay? And we're gonna call this player object. And if we go over here underneath Blackboard details are key type that we want. Our base class underneath object is we want to have our third person character be the object that we're referring to in this blackboard. So go ahead, hit save and that's all you gotta do for there. Back here in our folder, we're going to right-click again, go to artificial intelligence and open up that behavior tree. So now we're gonna go b t underscore partner AI does to keep everything nice and the same. Okay, so let's open that up. And in here is just some scripting, so it works with our blackboard. You can switch between them now to run some very simple commands. So we're going to drag out of this weird looking gay and add a selector. And then from here, we're just going to have a simple command that's called If I could spill their move to, alright, and its default saying we want to move to our player object, which is this key that we made in here. And remember that key is associated to our ThirdPersonCharacter. So in our behavior tree here, we're just saying we want this partner Ai to follow or move to the player object, which in this case we put in is our third person character. There is simple enough, pretty, pretty cool. A couple other things you wanted a before this actually functions. Right-click again. And we're gonna create a blueprint. And this blueprint isn't actually one of these main ones here. So you can go and click on this all classes here. And if you type in AI controller, you should see this. It looks like it kind of is a cone with us, a sphere over it. Kinda like a chess pawn or like a weird looking upside-down ice cream cone, where the ice creams at the bottom of the cone instead of the top. And we're going to call as bp Blueprint partner Ai. Alright, go and save, open that up. And then in our Event Graph, we just have some pretty simple scripting. I was when I call Coding scripting that we got new here. So what we want to do basically is just say We made this blueprint or this blackboard, sorry, and this behavior tree. So let's go ahead and run it. So let's literally drag a wire and you use Blackboard. Alright, the blackboard we want to use, we've only created one, so it's only one's gonna show up. Pretty easy for us. Select that. Then out of here, set value as object because that's what we created. We created an object in our blackboard. The target is gonna go into this blackboard component. So that object we created. That was associated with our guy here, not this guy, but the equivalent him. That's the object we're referring to here. The out object value. Just go get layered controller. Okay? And then the last thing we need to do is only the variables creates a new variable. And we want this angle up here. We want this to be a name type of variable, okay? And we will name this layer. And in order to get this default value, you can compile. And then the player key that we are talking about here, it's going to give you an error because we haven't plugged it in yet. Don't worry about that is once again, Player objects. So type in that player object that we created word for word, and then you can slide that into the key name. So now if you compile, we have no ears. The final thing was needed to run the behavior tree. So you can type that in R1 behavior tree. And the behavior tree we wanna run is the one and only one that we've created, which is that. All right, two more things we gotta do before this works. If you hit play, you notice he still doesn't do anything. Two things in this section with him selected and keep in mind, once you make this, you can drag like seven of these guys. And if you wanted to, just be ridiculous, you wanna go here, scroll all the way down. You can actually search this up because there's just so much stuff here. But underneath pawn, What do you want here is the AI controller class. And from there we don't want this one. We want the one we created, which is BP partner Ai. So now we have the scripting associated to this specific asset that we dragged in here. Alright, go ahead and save that. And the final thing is you notice that it still doesn't work, okay? So there is one final step that we need to do. So if you go over to place actors typing nav mesh bounds, this is a type of volume that essentially will say where this player can go. So drag it in and hit p and you should get like this, highlight around the bottom. And what we wanna do from there is let's go ahead and drag this out. And this is essentially just saying this is where the player or this AI character can walk too. So we can make it pretty big. Or we could even make it as big as the whole level if we wanted to. This in kind of prevent you from creating some Deng stupid guy. Let's run it through all the walls and doing the AI and going where he's supposed to So, well, let's just have that space. We shouldn't really go outside of there. And then you can select off. And now what we do when we hit play, there he is. And he's following us around. Real nice. It's a little too close though, a little bit up my business I will say if you want to change that, all you have to do is go into the not the Blackboard, into the behavior tree. And what you wanna do with this, the move to selected, there's an acceptable radius. So if he said this like 300, it's default set to five. So set it to 300 and, and then he will keep a little bit of distance. You won't like back away from you if you come up towards him, but he will not follow. And also keep in mind what you can do is you can always go inside of here in his cared movement and you can make different adjustments, adjustments to this like his walk speed if you want them to go slower than you, all those kinds of things are still associated with him. And you can drag in like six of them. And keep in mind, you need to always go down to the pawn section and set that a partner Ai for him. So that actually serve pawn. And make sure that, that's associated with that. So now if I hit play, now I have a whole army of him, little default guys chasing me around. Alright? So just some symbol ai, some little buddies so that you can make, thank the smartest, but they will know how to fall euro. So hopefully you guys find that pretty cool. Can think of some creative ways that you can use this in scripts. May I look like I'm freakin like Forrest Gump run a marathon right now. And all these people are following me or something. And even though anymore having too much fun with them. Okay, so that's gonna do it for this video. That's gonna do it for pretty much all the scripting, all the different things that I'm going to be teaching in the next video. In the last video we're going to be wrapping everything up. And I am going to show you a level that I have spent some time creating, basically utilizing most to all of the different things we talked about in this class and showing how they can be used to make a quote unquote professional looking project. So I'm excited to show you guys that and I will see you there. 15. Putting It All Together: Hello and welcome back everybody to this Unreal Engine four video. This video is going to wrap us up here. It is the last video in this course. And I know I am more upset than you are. Okay? I do not have tissues, unfortunately, my notes. So throughout this entire class, what we have done so far is we've just created a bunch of sort of conceptual things, right? We've talked about how to add widgets to the screen. We talked about how to initiate music. And they have different environmental effects go on in and all those types of things. But what you might come to find is make it hard to understand how these actually function in a real game. So what I did and what we're doing for this final video, I is, I went ahead and I took the liberty of creating my own Uncharted level and it's not completed. Here's a very definite endpoint right there where you just go out into the water. So it's not completed, but it does it it gets the job done to get the point across. So within this level, what you're going to see is every single thing that we talked about. So there's going to be lots of widgets. There's going to be sounds, there's going to be dialogue. All of our jumping sound effects are in there. What else you're going to see? Environmental stuff. You're going to see, oh man, what else we talk about interactable objects. All those types of things are going to be within here. Also changing the different movement speeds and things like that, controlling that is going to be in here as well. So the point of creating this was mainly just to help to do two things. The point of this was to help you guys get, give you some inspiration to create something on your own. Or just give you a nice framework of how the concepts covered in this course can be used in also are used in real games. So hopefully after taking this class and after seeing some of the things that happen in this level, that it was pretty much designed to showcase that things that we talked about. When you go out and you play different video games, you'll be able to notice how different events or different things happened and how it all functions and the thought process that goes behind that. So I'm probably going to talk through most of this, not all of it. If you're wondering what some of these different invisible boxes are, these are just different blocking volumes so my character doesn't fall off the map or these rocks aren't really the most elegantly. They don't have very good collision in them, so I just kind of put different things there. But yeah. So I think that's all I really have to say. And let's get started. Okay, here we go again. I never know how that thing can fall. Happens differently every single town, I guess. That's I was kinda weird, felt really hard. So you can see using widgets for tutorials, different things like that. Adding fricking kitten me, had particle system. Show over. There. Should be getting close by now. They sell, they were on the trail, but the treasures closer to the cathedral than we originally thought. We'll just keep those engines more. Will be back before too long. Will do. Well. Now, that looks familiar. This character I'll explain in a bit, is a little bit different from the default one, that He has different animations that have different speeds associated with them. So it is the same thing in concept. Just looked, oh my gosh, I felt through borehole all mug gosh. While Morse. One thing to add is that there is an additional treasure down there. But you can't really see when you're up there. Fun fact happened really matters, but that I would bring that to your attention. And that is the end of what we got going on here so far. Okay. So let me just go back and explain a couple of these things. So it all makes sense. Here. We have different boss collisions that cause these things to fall. This one as well causes this to fall. This big box around here is what is determining our different movement speeds. So one thing that is different is you'll probably notice the character. This character is part of a content pack called advanced locomotion for, and this is completely free to download and add to any of your packs or any of your projects rather. And you've gotta see he's got some pretty cool animations in there that look a lot more realistic. So instead of just changing the love, like the movement speed. Now there's different variables in there to like set his gait to running, walking or sprinting and different things. So, and those animations have different speeds associated with them. So it creates a more fluid movement. You see him kinda jogging around to walking. So that's what I meant when we talked about different movements, speeds, and animations. You definitely can't use him if you want. But it is going to be a little bit more complicated with his, his script setup, all those animations, all those different variables. You have to look in the variables and all those things that were created by somebody else in order to get those things to like the different gate. And also within here, he has a lot of different poses as well, like one of those being the injured one when he hits this space here. Yeah, you can see most of the things that we worked on in this project. And if they are not, you place awesome different widgets and different things within our UI. Well, my folder, so they suck. Your price has some different ones in there. And the good thing for you is that you can use them if you would like. So interclass assets underneath widgets, you should see all the different ones that I use. So found a treasure, that treasure info that pops up at the, at the beginning of the level, those kinds of things. Most of them have a simple fade animation. Where's the found a treasure has a sort of slide in thing, but it works the same way with keyframes. You're just messing with the location instead of the opacity. So shouldn't be too hard to figure out if you wanted to do that. With those also different sounds than traversal sounds. And other one was climb that we did not use. But you'll see him since this character can actually grab on and climb different objects, you probably, you might have heard them around here if you didn't, you go back in the video and he makes different sort of grunting noises when he's grabbing and pulling himself onto something that is something that was added. But all of these assets, all of the widgets, all of the sounds and everything. They are available within your class assets and they have been from the beginning as well as let me open this back up as law, as well as more additional lines. So we only use a handful of these in our, our project. But now I have access to all of these and I can use with use them however you would like. So all of those things are provided for you. This was all of the rocks and the bridges and different things. If you want to learn about different landscapes and more general design, you can check out one of the other classes that cover that very extensively, which I would recommend you do before you just kinda try to randomly throw all this stuff together. But just in case it's in the infinity blade grasslands pack that we downloaded at the beginning of the class. So all of those static meshes, they are, they be, and all of this was created or used to create this stuff. So it's pretty much just dragging static meshes in, doing different things with some foliage and then landscapes and spines and different things. So very simple. Like I said, you take those other classes shouldn't be too hard to figure out at all. So hopefully this helps. Hopefully you have a better understanding of how video games very conceptually are made and just how often you encounter box collisions and trigger volumes in different things and the multitude of things that they can do. So hopefully you understand that better. Notice them more when you're playing video games, as well as knowing how to make them and knowing how to make different events. So I hope you guys enjoyed this course, found it helpful, learned a lot. If you guys could leave me, a review would be greatly appreciated. I'll be sure to hopefully makes him different stuff, maybe a little bit more complicated who knows in the future. But for now, that's all I have. So thank you guys so much for watching and make it all the way to the end. I really appreciate it. And I will see you guys later.