00:00Hi there, and welcome to this beginner's tutorial for Unreal Engine
00:03In this tutorial, I'm going to teach the basics of Unreal Engine so that you can handle your first interaction with the engine itself
00:14I'll be covering the fundamentals of Blueprints, as well as how to get started from the beginning—how to download the engine, create your first project, and explore many awesome tools in Unreal Engine, such as Landscape Auto Material, modeling tools, Foliage, and ways to get assets from the Marketplace and Quixel
00:41I'll also introduce a little bit about Animation Blueprints, so you can set up your own animations and create great inputs for your characters
00:56How to create them with the new input actions for a real-time project, and of course, everything is going to be made using the newer version of Unreal Engine, which is Unreal Engine 5.3
01:10So I hope, with this, you can have a better grasp and know a bit more about how you can add your own content to the design
01:18And of course, leave us your feedback about creating your own first game
01:24 The first thing that you need to do is to get the animation
01:26For that, you're going to go into the Empty Game Sites website, and for those who don't know, it was created by APK Games, a product of Epic Games
01:40To get Terra Ninja inside your computer, you first need to install the Epic Games Launcher
01:46So just go to their website and then download the Epic Games Launcher
01:50Once you have all of that set up, you can proceed with your project
01:53You should be looking at something like this
01:55This is their platform
01:57Actually, I think it should be integrated into the story, so it should be like this for you
01:58Here on the left, just select on a Range Line, and this is the main platform of Unreal Engine in Unreal Engine 5.3
02:06Here, the first thing that we're going to see is some news
02:12Then, you also get to see a few simple projects that you can learn how to create using their assets to learn materials
02:21And here we have the Marketplace
02:24I'm going to be explaining this Marketplace further in the video, but this is basically where you can either download or share your assets
02:33They also have a library, and you're going to be using it to get the latest version of Unreal Engine
02:40To use, so for today's video, I'm going to be using Unreal Engine 5.3 to get a new version
02:46If you have just downloaded Unreal Engine, just go over here, click this button, and then it's going to start the process
02:50Just select the version we're going to be using for this tutorial; at least go above version 5.0, that is the very minimum
03:00Once you have selected the version you want to install, just click Install, and that should be it
03:05It's going to take a little bit of time depending on your internet connection and your computer as well
03:10It's going to ask for a few permissions as well, but just accept everything
03:16Once I have downloaded it, you will see something like this
03:20You can either launch it directly from here or from over here as well
03:24You can select events if we have good provisions, just like that
03:28According to the date, the newer version is 5.3, so this is the one I'm going to be using
03:35I'm going to be launching it; the first time it may take a little more time than usual, so just wait a bit
03:42This is the standard Unreal Engine project browser
03:46Over here, you can see if you are already using a region
03:48We will be seeing a few projects; you can either select one of them if you want to use it for this tutorial, but I am going to be creating one from scratch
04:01For that, I am going to Games, and as you can see, there are other options as well
04:05In this tutorial, I am going to be teaching you the basics, the beginner's guide for Unreal Engine 5.3
04:10Decoration of games, but Unreal Engine is used through other fields as well, such as architecture, automotive, and simulation
04:19For our kids, you're going to be selecting games, and over here, there are a few template projects
04:27There are some projects that have been created from the start; the first one is going to be for first-person, then third-person, top-down, vehicle, virtual reality, and handheld art
04:40This is for augmented reality, and they are pretty good, especially if you don't want to start from zero
04:47But for this tutorial, I'm going to be creating a blank project
04:54This is a project without any logic because even though blueprints can accelerate the process of creation, your..
05:01The first game at the same time, if you're a beginner, you first need to understand how these things work
05:06So, I'm going to be teaching how to create a first character, how movements work, and how inputs work, so that if you want to expand or change something, you're not necessarily breaking everything just to make a small change
05:19For that reason, I'm going with a blank project
05:24Over here, I have our project name; I think for this, let's just name it "Our First Project," like that
05:32And over here, you have a few options as well
05:40There's an option for Blueprint and C++, and if you're using Blueprint, you can still use C++ afterwards
05:44There's not a lot more to do with that
05:49I'm going to be focusing on..
05:51Blur prints, uh, and then I also have the target platform
05:56In our case, it is going to be desktop
05:58The quality presets, in my case, I’m going to leave at the maximum
06:00If you want to start your content, that is optional as well
06:04I think I’m going to be selecting this option because there are a few assets that I may use or may not; I’m not sure yet
06:13Then we also have heat racing, and these options should be selected if you want to start straight racing
06:18Just a mouth tip: if you are serious about using Grand Race in your project, you might consider, instead of using this template from FTX Games, going to Edit Shields AI, so their use—I get the hook to get the new version of—yeah, seconds
06:34Should be second, should be this
06:39Good to go
06:45Here, so now this is, of course, if you want to get serious about using our assets in your game
06:50This is a project with a range of information that has a few modifications to do, a little bit better—exactly, not a lot, but it was a lot better with heat racing
07:04If you have watched Sabir Punk's video on modifications that were done with that, I think the main modification was that it is using heat racing, the AI that is from this range
07:18So, if you are serious about using heat racing, I highly recommend, instead of getting this option, actually getting this option, but instead downloading this range from Nvidia and going through this branch to download this physics engine
07:33Using it, I think right now it has support for 5.2 and doesn't yet have support for 5.3
07:39It is always going to be a little bit behind the newer versions of Epic Games because, uh, this is not the latest version; it's basically the missing version that will be made by Mammoth Interactive, but with modifications
07:54So they have to create the build a bit and see if there are not any issues that could break your game
08:03For that reason, if Epic Games releases a newer version like 5.3 or 5.4, they will be a little bit behind by a few weeks
08:09It's normal, just how it is
08:15If you want to use that, then I will have the same options as you can see over here
08:21Then we can also select Ray Tracing
08:23Of course, if you don't want that, you can select Bit Tracing
08:25Right here, I'm just saying that if you go this route, even if it’s a little bit more complicated, you're going to get much better results than just using normal ray tracing
08:35Like, you're going to go over here, but for this project, I'm not focusing too much on ray tracing, so I'm going to leave this blank and hit create
08:47Let's wait a bit, but it shouldn't take too long
08:48Of course, if it's your first time, it may take a little longer, and the time will depend on your machine
09:00So, let's wait a bit
09:02Now, this is our first project
09:06If you are creating this from a blank project, you should see something like this
09:11I want to create it completely from scratch, so I'm not even going to use this
09:18I'll show you a few things as well, so I think for you, you should not see the full screen like this, it should be like that or something like that
09:28If you're not seeing the Actors panel, like it is right here, you should be able to see these options: replace actors panel, and it should appear like that
09:37I prefer to leave this over here because it's a little bit easier, and you can also just push the side if you want to get the full view
09:44That is optional as well
09:51 So, the first thing that I want to do is to go to full screen, and I'm going to make this my modification, but you don't need to do that
09:58I'm going to be doing that on Unreal Engine to increase the widget size itself to make it a little bit easier for you guys to see what I'm doing
10:04Doing over here, and the first thing that I'm going to do is, you're going to click File, and I'm going to go into New Level
10:10One second, oh, New Level over here, and then I'm going to recreate a base level
10:17So, this is the level that we're going to be using in our game
10:23Uh, so I'm also going to be saving this, saving it, going to Level S, and then here I'll start the content
10:29This is going to be our main world
10:31Of course, you can give it any name you want; it's up to you
10:36So, just to start, this is the, uh, starting level
10:39If you close this project and open it again, you're going to see the same level as before
10:44 The first thing that I'm going to teach you is how to change the simulator of your game
10:48So, for that, let's go into Project Settings over here
10:52I'm going to wait for a map
10:55And they're going to see it to start a map and the game default map
10:59I'm going to be changing both because I'm not going to be creating an email right now, so let's just create new words and then main work like that
11:09Now, let's save this
11:12Just one thing to consider: I have said before that if you are using, or planning on using, racing, you should get that project
11:22But if you're a complete beginner, I recommend not using it from the start
11:29At least in your first project, try to learn a bit more about how Unreal Engine works before jumping into something that could be much more complicated and harder to understand and to make work together
11:39So now, as you can see over here, we don't have anything
11:42Anything at all
11:45That's how the first thing..
11:49What we're going to do next is actually learn how to create your own landscape
11:53We have many great tools in Unreal Engine 5.3 to modify your landscape and create your map
12:03You can think of this as if you are the god of your own world
12:08This is the process of creation
12:10Let's start by defining our landscape a little bit
12:14Over here on the right, you'll see that we have a few options
12:20By default, we're going to set this option to move
12:25As you can see, this is a 3D space, which means you can move it in three dimensions, just like that
12:31If you make a modification that you don't want, you can also use Ctrl+Z to undo
12:40Remove that notification just like you do in docs, per point or things like that
12:48And the next one is to select an object, so this is for option selection, and the next option is to rotate
12:54Again, in three dimensions, you can rotate it like that, like this, and like this
12:59The next thing is actually to increase, so this is activity scale
13:05I can either select everything and increase it as a whole, so this is going to be increasing into the dimensions, as you can see like that, into the dimensions
13:17And if I go back, that would look like what it will look like
13:23I can also increase this scale in only one dimension, which is done by just selecting it like this or like this
13:31As you can see, I may not be able to see it, but in table one, as you guess, it is increasing over time
13:36There and on the red one as you can see as well
13:39The next thing is that here you can also change these values by going into these options over here
13:46So, let's say you have this option selected, I can go into here and multiply this skill
13:51Right now, it is at 10, so let's make it 20, and as you can see, it's going to double
13:59Let's do the same thing for the green one; let's make it 20
14:05Yeah, as you can see, it is the same size
14:08So, this is a little bit better if you want to get precision, but you can also modify it within the game
14:13It should be the same thing on that
14:16Here, you can get better precision, and the same goes for the location in the 3D space and the rotation as well
14:22I have a few more options over here for this object, like the material, the stats
14:28Mesh and things like that, and I'm not going to be explaining that right now because this is more about generation, and I'm going to be showing this later
14:39But I have a few more options
14:41By default, since I created this scene, it went to a red with our directional light
14:47It's personal hate fog, this atmospheric sky, sky sphere, and volumetric cloud
14:53I also placed the Player Start
14:57 Let's start—let's activate our scene
14:59Actually, let's go to the Play menu first
15:02Now, basically, this Player Start determines where you want your character to start in the game
15:09So, let's say I start to play this right now—right-click, click here to start the simulation—I would start where I place the Player Start
15:17That's basically it
15:19Debugging something, and we have a specific location where we want our player to start
15:28You can also modify where we're going to start by just selecting over here into the spawn points and then going into the current camera location, just like that
15:36Then, hit play, and as you can see, I have started on my current camera location
15:41The next thing is that there are quite a few options—I am not going to go into further details because then I will lose time that I could spend elsewhere
15:51But one thing you should know about the directional light is that you can change the rotation of the directional light
15:58So, let's say, as you can see, this is approaching the middle of the day
16:02I think let's just change that
16:05As you can see, I can change the position, so as you can..
16:10With the reduction in lighting, you can change quite a lot of how you want to appear and differ using rate, you would know that these changes make a lot of difference
16:19Even here, without rate enabled, it's still a lot different, and again, you can go to the three dimensions just like before, and that would change your scene a lot
16:30I'm going back to default, that should be it
16:35You can also create your own base; I think there is already a video on this channel teaching how you can create your own days in your game, so that this would be changing while your player is playing the game, and it will also be able to count when a day is over and starts again
16:54But the first thing, the next thing that I'm going to be… Doing is to the farm deals landscape
17:01For that, let's increase the scale a bit more; let's just increase it to 25 and 25
17:06Yeah, that should be it
17:10I'm going back over here, and let's just select this a little bit down here
17:16In our selection mode, I'm going to change to Landscape
17:21So now I have a few options; let's go to this Landscape
17:26Um, so yeah, this can get quite a bit crazy when you are leaning and trying to sculpt the landscape, but basically, what you should do at the start is that you first actually had a flower there
17:44I was not using Landscape, so yeah, just make my modifications first
17:47I think I'm going to be just selecting the floor and I'm going to be removing it
17:54Yeah, then let's just leave the file later
17:57On which we're moving that, but over here I can select the scale of my landscape
18:04I think I'm not going to make it that big; something like this should be enough for me, and then I'm going to hit 'Create.' Let's just say, wait a bit
18:13I am not using a default material, so this is going to be a default material of 'Remain Shine.' Yeah, so this is our landscape, and things can get a lot better here because now I can sculpt terrain and change it
18:30So, first though, I have the Sculpt Tool
18:32I can't increase this brush size; I can increase the brush size by default and take a light or heavy brush
18:41So basically, what this does is that I can sculpt the terrain as I would do in a sculpting program or something like that
18:46So I can scoop out terrain and just remember that
18:53This is the land that your player is walking through
18:55So, let's say you want to make quite a bit of use for where your player starts
19:03Let's say, launch replace start here, and there should be a few mountings around here and a few entry points where he could go through
19:10So, let's create these mountains
19:13Let's just wait for it to load, and you can increase the strength of the mountain effect
19:18That's basically this string of the effect itself, but just select over here and increase it to a higher number
19:24Right now, it is 0.3; let's make it 0.5 and see what changes
19:28As you can see, it goes faster
19:32You can also increase or decrease the size over here, just like that
19:38Move down, let's go out a little bit more
19:42Another useful thing to know is that if you think your camera speed..
19:47And you just choose low; it can also increase the camera speeds, but you select over here and increase the skill
19:53The same thing goes if you think your camera speed is just too fast, so in that case, when I am creating an active picture of our game, a higher speed would fit a lot better
20:09But let's see, if I was making something like Magnitude on the lender, things like that
20:14As Mouse as fit would be better like that, but right now let's leave it at eight
20:21Let's go up over here and get back to what we're doing
20:24Just like that, I have created the mountains for our game
20:31Let's just go a little bit more crazy; we don't need more things
20:38One thing that you need to keep in mind is that when you're creating your landscape
20:44You want to avoid these plane structures or things like that, even cities
20:49That's not something written normally, so avoid it
20:52You can deform it; it doesn't really form much
20:58In this case, I'm going to introduce some modifications and then go back and fix it, something like that
21:04Yeah, that should be good
21:06Now I'm going to select another one
21:12The next one is going to be—let me just teach you how to use the rays
21:18So today is just like before, I was going to raise these structures that I've created
21:22I'm going back because I wanted that, and the next big one is "Scale Move 2." This is quite straightforward because, as you can see right now, this is not looking like a normal mountain would look like, at least
21:35Not usually, I think this will take quite a lot of erosion
21:39It should be something like this, so let's just use these two to make it a little bit smoother
21:46As you can see, I think this strength was quite more than I wanted, so let me just go back a bit like that
21:54Let's decrease the strength by quite a bit and go back here
21:56Yeah, that's more like I wanted
22:00Now, let's do the same thing to our entire world, like that
22:07And of course, you can go as great as you want over here, like this
22:16Yeah, I think that should be good
22:20There are a few more tools you can use to filter and plane your terrain, to create small passages and things like that
22:26Actually, there are quite a lot of tools in the Landscape system, since this is a beginner tutorial
22:34I'm not going to read about how to use every tool, since that way I can cover maybe new other errors as well
22:41So, with this knowledge, you are able to create your first landscape
22:47Now, let's just go over here, and I think the player start..
22:52yeah, just go back into selection
22:57Then, I'm going to first think about this floor over here
23:02I was not able to select it before because I was not in selection mode; I was in landscape mode
23:06I'm going to delete it because I have to create a new landscape, so just delete it like that
23:12Now, I'm going to select our Player Start, and I will place it over there—that's where I was planning to start our game
23:21Another thing, you can also select the white arrow to move it into three dimensions
23:30Dimensions at the same time, if this is possible as well
23:34I should be completely honest; I don't use this function
23:36I never actually use this function because I think it still gets a lot more precision if I select a few dimensions, but for a single time, I think right now it should start with Cynthia's marketing
23:54So, let's say if you're going to order the founder, please start, and I start the game
23:59I start seeing this
24:00I think, uh, YouTube would be better if I start looking at the horizon, something like this
24:05So, I am going to be selecting this, our Player Start, and I'm going to select the rotation
24:13As you can see right now, since I'm dealing with these model details in our game, using this higher camera speed, it's quite, quite messy
24:22It's quite harder to control, so I'm going back a bit to maybe three, yeah, and then I'm going to change the rotation by quite a bit, something like that
24:33Yeah, let's test this out
24:35Axle is just a bit to our left
24:41Let's see
24:42Yeah, that's basically what I wanted
24:44To start with this scene over here, but there's quite a bit more detail
24:51But right now, as you can see, we're able to create our own landscape, and you are able to create your first map, but you need to add a few things
25:01Uh, we don't have anything yet, so let's start by creating our game mode
25:07For that, I'm going to right-click, and of course, if you don't know how to access your Content Drawer, just select it over here
25:14As you can see, there are quite a few options here as well
25:20Uh, Unreal Engine is just to see
25:22For beginners, this is not something you would be looking at, but this is something that we are going to focus on daily for optimization and debugging
25:33That's something you might be concerned about, and errors are going to be popping up over here as well
25:38I also have the pump-up comments, and these are commands that you are not able to access by default in the engine
25:48Maybe if you are using a specific plugin, let's say the GitHub project for real-time ray tracing, then quite a lot of commands need to be entered using the console command
26:00There are quite a few more, but again, I don't have time to explain everything, so let's go into the Content Browser
26:07Over here, let's just right-click, and I will be selecting..
26:09Blueprint class, and the first thing that we need to create is the game board base, which is basically the game mode of your game
26:18So, let's just create this
26:20This is going to be our GM_Base
26:23Now, first thing before I forget, let's go into our project settings
26:30Let's just search for the game modes
26:32As you can see, you have GameModeBase
26:35I'm going to be selecting the new one that I've just created
26:39By default, even if you create a blank project, you're still going to have a GameModeBase created by default because, if you don't have it, you won't be able to play that small game over there
26:51So, if I save this right now and try to play, as you can see, yeah, it's going to be—actually, I think it's going to
27:00I'm cropping the same thing from before, but by default, yeah, so information like this and I get something really blank
27:09I will not enable anybody to move around
27:12So, the first thing, the next thing you need to do is create our player controller, so let's do that now
27:18First, this is the blueprint version, base I think I'm going to be
27:23Yeah, I think I'm going to create a folder for our player, and I'm going to be inside this folder of our player
27:31I'm actually going to create another folder inside for our blueprints
27:38Then, going back into Content, as you can see over here, you are able to see the entire directory of folders
27:45I'm going to just select the Players folder, this arrow over here, and I can see our
27:50Folders for Blueprints, then I'm going to be selecting just "Driving Around" and placing it inside this folder of Blueprints, and selecting and moving it here
27:59Yeah, just like that
28:01Now, over here, I am going to be right-clicking it and going to "Blueprint Class," and I'm going to be selecting "Player Controller." So, this is, uh, let's say, "Controller_Player," like that
28:17Now, in our GameMode Base, I'm going to be selecting the Player Controller that I have just created, so that should be it
28:26Now, we need to create our character
28:35For that, uh, we actually don't have anything to create our character besides the default from the Running UI, and I don't actually want to use that because, yeah, you don't have this
28:45You can use it if you want; you're going to set this into..
28:47Let's try to make something different for your first project, so I can teach you a little bit more about Onion Giant
28:56Before creating our character, let's actually go to Epic Games
29:01If you haven't made any modifications, we only have the default setup for how Unreal Engine works on your computer
29:08The first time you open Unreal Engine, it will close Epic Games Launcher by default; just search for Epic Games in the search bar and open it again
29:16Then, let's go into the Marketplace
29:25Now, what is the Marketplace of Onion Giant? This is, at the same time, a great gem from Epic Games, where you can make a lot of work very quickly by just getting a variety of assets
29:33It's also where many people end up..
29:36Losing track of their own project, so uh yeah, basically, what you use is the Marketplace
29:48Marketplace is the place where you can either download or share assets
29:51So, let's say you have created a specific asset for an inventory system or something similar, and you think it could be useful for other people creating their own projects
30:03You can go into Unreal Engine's Marketplace and list it for sale
30:07Just like you would sell a product, you can sell assets as well
30:13As you can see over here, I have quite a few assets just available for me, and let's say I like this robot here that was created by another person or other people
30:23I can just buy this and use it in my project
30:26That would be completely..
30:29Useful for commercial projects and so on
30:32One thing to keep in mind is that every month, Epic Games releases five great assets for free
30:41So, let's say this month, these are the assets, and you have the entire month to get these assets
30:51Please don't forget to check every month to see what's available, and just add these assets because they are completely free
31:01In addition to these five free assets, there are also many other free assets
31:05Here, in two steps, I can search for what I want
31:09I think I'll just go into the free content and then add game content
31:12Just shove it in
31:15As you can see, there are quite a lot of free assets
31:18These are not just assets to learn how to use—some are for learning, but there are also assets that you can..
31:23Integrate this into your game and make better games, basically
31:26So, let's say this layer started on start your game, if the template, uh, framework to make games, uh, shooter games, or other steps of the game as well
31:37But let's say things like that—not only to learn how to create things, but also things that you can integrate into your game to make it not only quicker but better
31:45At the same time, uh, don't just keep grabbing a lot of assets that don't have anything to do with your game just because you think they are cool, because if you don't follow a strict line, in the end, you're going to have a lot of assets that don't work quite well together
32:03And please remember, even with their great assets, I think there are not
32:07Really, that many parameters? You see who has created this asset, and it doesn't have any books or anything like that, but uh basically that's pretty much it
32:19Please come here, see what free assets or content are available
32:25There are not only Epic Games assets here; you can also go into, let's say, this experimentally free collection
32:31They are not from other sources, but you can see great assets that are made free forever, and some of these can be quite useful
32:42For the last MegaJam, I had to use it until one; it was quite great
32:48I liked it a lot and found it very useful because we didn't have much time—only one week—to make a third game
32:55So, this helped me a lot to create our character
32:59I searched for it
33:03A bit, and I think the best for us is to actually go into Paragon
33:06Let's just search for Paragon
33:09There are quite a few, quite great characters here in Paragon
33:13I think the one that I'm going to be selecting is, yeah, I think it is this Paragon color, because I looked ahead of time, and I think this one is quite good
33:23And yeah, I just think this looks good
33:26I have not used this in any project, so I don't know how it looks
33:31So now, you're going to have the experience of discovering how it would look as you add this during your own game and things like that
33:39I have this added to my library
33:40For you, if you don't have it, it should be looking something like this
33:44Just get this option to add it for free, and then go back into here
33:49Let's go back, and then I'm..
33:52I'm going to check this option to add it to our project, so let’s just do that—add to project
33:58Here, you can select the product that you want to add
34:05I am going to be selecting our starter, actually
34:12What was the name of it? Yeah, first project
34:18As you can see, it still has this
34:25I think it was not made for Unreal Engine 5.3, but yeah, actually, it's just not showing any image at the start, but yes, just make it
34:32As I said, I have not used this before, so it’s going to download and add it to our product
34:39I’m going to make a small cut because there’s no reason for it to create a new hero with me, so let’s just make it as market, and I’ll come back once this has finished downloading
34:42I’m back, and here in Tangina
34:46Now, as I said before, I have not checked this content before
34:50Because I want to look at it with you so that you can see how I'll do that
34:57First, I'm going to our Maps because I think there is going to be more than one option, and I want to see what would be the best
35:06How much you're just saving it, and let's see
35:11Wait a bit
35:17So, the first thing, the first time that we're going to open this map, should take a little bit more time because you're going to be compiling these shaders, the new shaders
35:22As you can see, there's a bit of lag, but that's completely normal
35:25It should take a bit of time
35:28I'm just going to wait a bit
35:30I think, yeah, I think we should use the black one
35:36There is the red one as well
35:39Basically, they have the same skeleton
35:42I only think that what might be changing is… The appearance, uh, I think they have it
35:45I think it is, so it should be this one
35:48Looks good as well
35:54This one has the cape, but I'm not sure about that one
36:00I don't know if this cape is reacting to Physics
36:03Uh, yeah, I think I'm going to be using this one because I like the cape, and if it's not reacting to physics, then I might change it to another
36:14Uh, yeah, but I think since I'm going to use this one, I'm going to right-click it and choose 'Save to Asset'
36:18So, this is the one I'm going to be using for that
36:23Actually, first, let's go into our Content folder and then to Player and Blueprints
36:27Over here, I'm going to right-click, then go to Blueprint Class, and then select a Character
36:33This one is going to be our BP_Character
36:37Let's say for now, open this up and over
36:42Here, I am going to add that mesh, so let's go back into our Gallery, browse to Assets, and then I'm going to see this
36:51Let's go back into our Player
36:55You can't either, so here is a blueprint for the Player character, which is going to be here — your Player, basically the character your Player will be using
37:05I have a few things over here; the first thing is the Components, which are part of the technical setup
37:08You can also add Collision to the mesh; it's up to you what you're going to be using and what you want to include
37:15You can also add more components over here if you want
37:22If you want to detect specific interactions, it's very useful to add those components as well
37:25But for now, I'm going to be..
37:27Changing the mesh, so here in our components, selecting the mesh, I'm going to be able to see the details of our mesh
37:34Then I have the Skeletal Mesh Asset, so I'm going to select that one
37:40There are two ways to do that: the first one is to search for the asset directly here, but there's a shortcut for that
37:47That's basically going to the Content Browser, and then I'm going to just select it like that
37:54Then, going back here, I'm going to select the arrow to place our selected asset, like that
38:01Now I can see the asset that I just created, which we got from that package
38:09I'll then move it a little bit down to fit with our Capsule Component, and as you can see, there's an error
38:16It is not matching our mesh's rotation, so I'm going to select the rotation here, just like I did in our Word
38:24I am able to change the rotation and position here as well
38:28So, here I'm going to change the position; the rotation should match the error, yeah, just like that
38:34I think I'm going to increase and adjust the capsule components
38:39I actually know, I think that should be—yeah, I think that should be good right now
38:44What it is, let's compile it and save it
38:50Now, here I have the Event Graph, but first, let's go into Class Defaults
38:52Then, I'm going to be selecting the controller
38:55Now, it is the Eye Controller
38:59I'm going to change it to our Controller_Underscore_It Player, this one over here
39:04Now, just save
39:05Let's go back into our Game Mode
39:09I'm going to be changing our, uh, our default pen class to our BP underscore player, and yeah, that should be it
39:18Player controller class, I'm going to be changing, we're going to the other player, and let's see
39:23Yeah, that should be it
39:28I think I have already changed it in our project settings
39:30Let me see
39:32Yeah, I have their Superior controller here
39:34Yeah, there are the same definitions as before
39:38So now I can close our project settings and let's actually go back to our main map
39:46So, over here, Content > Main, save selected
39:50So, over here, if I start the game, I should see the character, but I don't have a camera, so I'm not able to see it
40:00For that, and if you start this, you can also notice that now you are not able to move as well
40:05That's completely normal
40:09That's only because we have created the Controller Player, the new Controller for the new game mode, but we have not added anything yet
40:14So now, what I'm going to do is teach you how this works
40:18Basically, we have our Game Mode here, along with the area and placement definitions for the Game Mode itself
40:25Usually, we're not going to be making that many modifications here, but then you can also add the Player Controller and the Player State
40:31These three Blueprints are going to work together
40:38The modification I am going to do now is to our Player Character so that I can see the character itself
40:45For that, here in our Components panel, I am going to add a new component, which will be a Spring Arm, and then I will add a new component that will be..
40:55Be a camera, and I'm going to be adding it to our Spring Arm, which by default should be like that
41:03If it is not, let's say if it's something like this, just drag the camera into our Spring Arm, then back into your pawn
41:09I want this to match our player, so the first thing is to change the rotations
41:13Actually, let's do that
41:16The Spring Arm here, uh, yeah, it is right
41:20This program is right; it's on the camera
41:22That's not—let's just change the rotation
41:25Now it should be good
41:26I'm not sure how—let's see how this looks in the game
41:30It's not what I want, but just to show you how this would look
41:33So now you can see the character
41:36You are still not able to move around in the tank, but you can see the character
41:39Usually, I think I'm going to be using this as a third-person game
41:43I want to see the player a little bit, with the camera a little bit inclined from up there, so that I can get a better view
41:53For that, I'm going to select our Spring Arm, and I'm going to just change the rotation to, let's say, 30 degrees, and let's see how this looks
42:02Let's go back, and now this is what I see
42:08I think I’m going to move our camera back just a bit, so just moving it a bit further there
42:14Of course, you cannot use this as much as you want to make it perfect the way you want this to be in your game
42:25I am not going to spend too much time on this because, yeah, it's not the main reason why I’m doing this
42:32So, I have the view of a third person now
42:35I need to be able to move our character and give comments to our captain, so they..
42:41There are multiple ways to do that
42:45There are a few modifications to Unreal Engine 5.3, I think, from version 5.1 onwards
42:49That includes the new push actions, and that's what I'm going to be using here
42:56Let me see, so yeah, I think that should be it
43:00There is one more thing I need to show you
43:03Let's go into our mesh
43:05There's one more important thing you need to know
43:11Besides the mesh itself, there is the skeleton
43:13This is the scale without the bones, which will be reduced
43:18As I mentioned before, I think they have the same outer meshes that are in this Paragon asset, which has the same skeleton
43:25That's basically how everything is instructed to move, and there are also components
43:31Here as well, I'm not sure if I'm going to be adding a weapon in this tutorial, but let's see if there is still time
43:42I may be adding a weapon or something like that, but now I want to deal with movement
43:44If we have started with the starter content of Unreal Engine, we're going to have that by default, but I think it's better for you to create it first so that you know how this works
43:56So, let's go into our Content folder, and here, I'm going to right-click
43:59That's going to be 'Site Player,' and I'm going to create a new folder for photos
44:05Let's name it something
44:07I think we should be using something a little bit more specific
44:10Yeah, I'm going to go ahead and name it
44:14Now, the name has gone through
44:18I think that should be good just to define what this is, and yeah, I think so
44:22I'm going to be curious, yeah
44:25I think I'm going to be separating it, so I'm going here
44:29I'm going to be creating another photo that's going to go for input actions, and I'm going to write "Click." Now I am going into Input, and I'm going to be selecting Input Mapping Contents
44:41This is going to be until, let's say, Player Color
44:44Now let's open this up
44:47First thing we need to add, maybe actions to our Mapping Context, but for that, we need to create them first
45:00So, let's go into our Control Input Actions, then right-click, go into Input, and select Input Action
45:06I think I'm just going to call it "Input_30." The first one is going to be for move, and let's create another one that's going to be..
45:25Now, let's open this up
45:27By default, this is going to be able—I’m not going to be using this, so I’m going to be using our Access To D, so Vector2D
45:33Just change it, save it
45:39Let's do the same thing for look, so change it to X and Y, and that should be it
45:45Close it, and let's go
45:48 Now, in our MyPlayer controller, I’m going to be adding mappings, but the first one is for move
45:54Yeah, yeah, it’s starting with move, and the next one is going to be for look
46:00So, let's expand this because I’m going to have to make a few modifications
46:05Basically, here I can use any key I want for movement, but let's say for input of movement, there’s going to be actually F, so it’s going to be able to move forward, move back, and move to our left and to our right
46:19As I mentioned before, for that, uh, here in this add button, and please remember it's not this one, it's this one inside this input
46:27I'm going to be adding or editing number three, and the first one is for moving forward, then moving to our right, then moving backward, and then to our left, just like that
46:40Uh, and then here, I'm going to be adding modifiers
46:47Basically, right now, this input is going to do the same thing, but if I add more files to this list, the value is going to change based on that
46:57So, basically, I'm going to use the same input, but the modifier is going to change the value, and for that, I'm going to also change the movement accordingly
47:05So, let's add the first one, which is going to be for the Quizlet access
47:08The next one I'm going to also be adding, which fire this time, is going to be as swiftly as well, but I'm going to be adding one more that's going to be for negate
47:21The next one will be for our left
47:22I am going to be adding the gate only, and for the last one, there's no need to add any fire—just leave it like that and save
47:33So I'm going to do the same thing for Input Look, but this time I'm going to be selecting the inputs and searching here for 'MotionX' and 'MotionY' on the 2G axis, over here
47:44Then I am going to expand this and add a modifier as well, which will be a negate
47:50Now, save, and that should be it for now
47:55Just close it and close it
47:58Now let's go into our BP_Player, and here, what I..
48:00The only thing you need to do now is to start the mapping context that I've just created, so, in Event BeginPlay
48:07If you don't know, Event BeginPlay is basically where, let's say, when this starts, this is what should happen, and it's going to happen only once
48:18So, that's basically it
48:21There are all sorts of events that you can place, but this is the most basic one that we're going to be dealing with
48:28I think the next one would be the Event Tick
48:32This should be called every tick in the game and can impact performance and things like that
48:37But for now, with Event BeginPlay, the first thing I need to do is get our controller, and then I am going to cast to this controller over here
48:50So, from this, I'm going to cast to..
48:55Controller_ player, so basically what I'm doing is, uh, I'm casting, I'm getting, uh, guessing towards this blueprint over here
49:00And to do that, I need to get a reference for it
49:06So this is the reference, uh, and then from this, I am going to get our Input Log Tau
49:11So yeah, it should be this, "Get Enhanced Input Push" or "Cloud Player Service System." And from this, the first thing I need to see is if this is valid, so I'm going to just get a "Is Valid" node, the second one
49:27And basically, what this is going to do is to just check if this, uh, if this Enhanced Input works with their system as well
49:36If it is not, it's not going forward; it's not going to add this mapping context
49:41But if it is true, then I'm going to be adding the mapping context
49:42So, just from this
49:45Pinpoint over here, I'm going to just add a meeting contacts and place it over here, just like that
49:50And then, in the context that I have just created, now compile it and save it so that you never lose what I have made
50:04Basically, I have this in projections that should represent what the winner player pressed in the game
50:13I should be receiving this, and until it is implemented inside a mapping context—that's going to be the combination of output and purge actions that we're going to be using—I will add this mapping context into our player character
50:29So now he knows which mapping context to use
50:33That's basically it
50:37Now I'm going to just delete this because I am not going to be using it
50:41It uses your first time in the terminal Giant, and there are going to be a few Blueprints here by default
50:45I just want to show you a few options; they are not contributing by default, but I don't think that if I'm not going to be using them, they are not visually pleasing for me, so I'm going to just be deleting them like that
50:57Now I am saving those values, but I still need to do something
51:02So, let's say right now they are passing through, but I'm not doing anything with the event, so even if I watch back to our game, nothing is going to happen
51:14Still, as you can see, I'm not able to move, so I'm going to be doing that now
51:20First, let's get our Input_Look
51:22So, actually, not that one, sorry
51:23Yeah, approach those cars
51:24Look, I'm going to be at
51:29The event, so it should be a Tilled one over here
51:35As you can see, I have quite a few options
51:38I am going to get from our trigger, and I'm going to just be getting an Epic Controller, yeah, input
51:43I'm going to get one more from Twist, so that's going to be an added controller pinch input, like that
51:53Now, I'm able to get two values from this, although this is only one right now
52:00As you can see, I have this Axis value, which is a 2D Vector, as I have selected over here
52:07This is the type of value that I get, but as you can see, I have two
52:14So, basically, what I'm going to do is split this instruction
52:16Now, as you can see, I have the X's and the Y's, so I'm going to be selecting the axis first and then the second
52:23That should work fine now
52:25You should be able to look around
52:28So basically, what I did is that once this event is triggered, I'm going to be adding this excess value into our Control Yahoo input and this value into our Page input
52:39Now, compile, save it, and let's give it a look in our game
52:44As you can see, I'm able to move around to look around, and it's not for following the right position
52:50So I think what we'll do is make that as my modification
52:57Let's go into our Purchase_Look and Active AR Player Controller, and I think I'm going to be removing that negate
53:00Save it, and let's see
53:04Now it should be correct
53:07So now, we're able to see that there is no problem
53:13Sorry, I thought that should require them and the gate, but since there's no need for that anymore
53:18And as you can see, the kick plus physics are..
53:20Enabled, so that should look quite well
53:22Now, let's go into our BP Player
53:24There was one more important feature that you must know in Unreal Engine, and that is the ability to place comments
53:35So, let's say right now I have this show events, and I don't want to confuse it
53:40And let's say if I go further away, I still want to be able to locate what this specific event is
53:47Of course, I can locate them by going to our Event Graph
53:52Like here, I can locate these events
53:55So, let's say if I go into our Event Begin Play, I would go back to this one
54:00But still, for organization purposes, it is always good to use comments inside your code
54:04So, for that, I'm going to just select everything, drag and drop, and I'm going to press the letter C
54:12Now, as you see, I'm able to..
54:14To place comments, and I think, uh, just like this, I think this one—I want you to just name it 'Baby' and play, then drag this to our left
54:22There is another option, which is to show the bubble and zoom in, so I'm going to make it true
54:28Now we're able to see even when it gets further away, the same thing over here
54:33So, this is our event input, look
54:36Just get it, but look at the bubble like that
54:39Now, I want to be able to move around, so for that, I am going to get our, I think, it is 'Input_Move'
54:51Yeah, so get this event over here
54:54This one is a little bit more complicated, but let's go slower, and yeah, let's go a little bit slower, and we're going to be able to figure this out
55:10First thing, as before, I'm going to be splitting this, then spin, and I'm going to..
55:14To be adding from our trigger event, I'm going to be adding movement input like that, and actually, it's going to be two of those, as you can replace it quite a bit of distance because I'm going to have to make a few modifications for these values to work
55:32So, I'm going to be just copying this and adding another one, again with a little bit of space there, like that
55:37The first thing that I'm going to do is get the control rotation, and then, from this, as you can see, I have this Rotator
55:50I'm going to be splitting this, so spin as well, and I am going to just drag this and get the right vector
55:54Actually, let's just get the right vector over here
55:57Yeah, this one
56:01Now, let's break the transformation, and I'm going to place the first and the last value
56:07I am not going— To be using the pinch one, just these ones, and then I am going to get a vector from this, and this vector is going to be the word "Direction." So, just place it over here, and the value I am going to be placing first is going to be from the axis, so just place it to our scale
56:27I have used it here, but I have not said about this
56:32Uh, organize this note—you can double-click it, and then you can move it around to get it easier to see what I have done
56:38Yeah, that's quite useful
56:43And the next one is going to be for the other movement, but this one's going to be a little bit different
56:48Sorry about that
56:54And for the next one, I'm going to also get one for rotation, and then I'm going to be splitting this tick spin
56:59Let's activate our right, and I'm going to..
57:01Get the forward vector and then split this stroke
57:05Spin and please be careful
57:08Turn the forward vector until this is the right vector; just keep that in mind
57:14Over here, then take the last value and input it here
57:19Then get this vector value into our work direction and scale from our second value like that
57:25Let's organize this a bit, just a bit, that should be good
57:30Align this, yeah
57:35So, this is our input move, and then show a bubble
57:39If you have placed this inside the comment, you're going to notice that you can just select the comments and move everything that is inside around
57:54That is very good for organization purposes
57:56Just place it like that, compile it, and save it
57:58Now, let's go into our game, and as you can see, I'm able to move
58:05Of course, you may be..
58:08Thinking that he's going to be animated by default, but no
58:10If you are starting your journey in creative games, we are going to notice that many things you might think are not required for creating games are actually essential
58:19So, everything that a serious game needs to be created—of course, I'm really trying to create awesome tools to make this process a little bit easier, but we still need to create it
58:32 Let's say right now I am moving my character, but I still need to add these animations
58:38So, for that, let's first save everything
58:40Then, I'm going to create an Animation Blueprint
58:42To do that, I will go to Blueprints, right-click, and I will be..
58:51Selecting, I think it is in animation actually
58:56Yeah, so over here I'm going to be selecting Animation Blueprints
58:58I'm going to be following the Gallary skeleton
59:00Please, keep this in mind: if you are using other assets, you should be selecting the skeleton that you are using
59:10In this case, as I mentioned, Paragon is used by default
59:12The same skeleton is used for all the matches, so this should be the color from the Paragon skeleton
59:15And just see, it's great
59:18This is going to be our "End_underscore"
59:21Let's say the default—no, let's just name it "Character_Anim"
59:24There's no need to change it, actually
59:26No, I'm going to name this "Character_Anim"
59:30Let's see if it's clear like that
59:38Now, let's go into our player, and I'm going to be editing the class defaults
59:42I'm going to..
59:46Search for a name, uh, so right now which is using none, so I'm going to select that one that you have just created
59:50Just select it and place it here
59:54Now, we have the Animation Blueprint selected, but it still needs animations, so that's what we're going to be doing
01:00:03We're going to be adding the logic for that
01:00:08It feels a little bit different than the normal Blueprint, like this Blueprint for our character, but it's still not that much different
01:00:13Here, I have this node for the output post—I think for you it's not going to be showing this message over here, but don't worry, that's just because I have placed the node and then deleted it
01:00:24But then here, I am going to right click and select a state
01:00:30Let's go up here
01:00:36And then I'm going to select "I State My Ship," so this state machine is going to be our base kit, let's say our base, and animation—let's just name it "Base." So this is our base from the state machine
01:00:42Now I'm going to be placing this point into our output's pose and hit compile
01:00:49As you can see, this is connected, but nothing is being given as entry, so it should be playing an animation, but I have nothing here
01:00:58So that's going to here, and as you can see, this is getting this node, but it's not doing anything
01:01:03So let's right-click, and I'm going to add a state
01:01:05This is the first state; what the thing should be—let's wait a bit to get the best reply we have for this—and, of course, it is the idle state
01:01:15So let's just add "Idle," then from the spin point..
01:01:17Going to place it into idle
01:01:19Let's compile it again, and as you can see, it is working right now, but I don't have an animation
01:01:28So, let's open this up, and over here, I'm going to be searching—actually, here in our Preview, I'm going to search for Asset Browser, and I'm able to see a few animations
01:01:37From here, I think I'm going to be looking for a walk animation
01:01:42These animations came with the Paragon asset
01:01:44If you're using different assets, you need to see which animations are available with your own skeleton
01:01:52Of course, you'll have to create new animations once we start making serious games
01:01:57For now, I'm going to be using the default ones that came with the asset
01:02:07With the Paragon asset, we have the backward, animation forward, and left and right, so we have four types of animation only for walking
01:02:14I am not sure if I will have time to cover details about blend spaces and things like that to make your movement look smoother
01:02:24Right now, I'm going to stick to the forward animation, and if there is time, I will go back and add the other three
01:02:28For now, we just get the forward one
01:02:32This is a sequence player
01:02:36I'm going to place this as yes, sorry, this is what I'm using
01:02:40I'm creating; I will just get it
01:02:42There are quite a few, two idle animations
01:02:45Let's see what the default one is
01:02:50It's how much view up into this so that I'm able to see it
01:02:56There are a few transitions for either way
01:02:58I think yeah, there are quite a few transitions
01:03:00Oh, sorry, sorry, I was not sharing
01:03:03Searching for either
01:03:06You build something by default? Yeah, these ones by default
01:03:09I'm going to be adding that one, so let's just get this one over here
01:03:16Just drag this, place this sequence player as our output
01:03:21Results, compile it, save it, and as you can see right now, we have our character in the idle pose
01:03:28If I go back into our game, as you can see, here's the idle, but he's not doing anything else
01:03:33So now we need to modify that as well
01:03:35So let's go into our animation player
01:03:38The next one I'm going to be creating for is for walking, so let's create a new state
01:03:44This state I'm going to just be calling "Walk," and this one is going to be a little bit different
01:03:51The main difference that I need to..
01:03:54Transition between idle into walking, and then walk back into idle
01:03:58So, I'm going to get one of those arrows placed into the work, and I need to drag one from the work back into either, as well
01:04:06Why I'm doing that is mainly because I want to be able to go from idle to walking, and then if our player stops moving, he should go back into idle
01:04:16And then, as you can see, with this arrow selected, I'm going to double-click it and set this as the transition between idle and walking
01:04:23I am going to be creating a new variable called 'Speed'
01:04:30This variable right now, by default, is a Boolean
01:04:35I'm going to change it to a float, and I'm going to place it over here
01:04:40Let's..
01:04:45Just compile, and basically what I'm going to be doing is to see if this is greater than zero
01:04:51If his speed is greater than zero, then he should be walking, and then he's going to transition to the next animation
01:04:59The same thing applies if, let's say, this is to go back
01:05:04Eduardo, so let's say if here's the speed is less than or equal to zero, then he should go back into the idle animation, just like that
01:05:13Now, that's what our walk animation is
01:05:17Let's just search for it
01:05:20I'm going to find our walk forward and place it over here
01:05:23Save it
01:05:25Now, let's go into our Blueprint, and as you can see, it is not working
01:05:32That's mainly because even to have a variable for the greater detail, we still need to put this bit for that in our animation blueprint
01:05:40I am going to use Event Graph, and then over here I..
01:05:45Get this blueprints by default
01:05:50I'm going to get my owner from our actor, then get velocity, and I'll be getting a vector
01:05:54But I want to set our speed for that
01:05:59I'm going to just drag from the velocity node to create a 'Get Vector Length' node
01:06:01This function converts the vector to a float, so I can place the result into our speed variable
01:06:03Then, on the 'Update Animation' event, I'll update this value
01:06:05Now, compile it, save it, and let's just align this a bit like that
01:06:08Now, let's go back into our world and test this out
01:06:17So now, as you can see, he is walking, but he stops moving
01:06:26The main reason for that is that the..
01:06:35The animation is not loopy, so let's go back into our animation graph and into our lock
01:06:44This work—I am going to go down here into the details of this animation and set it to Loop
01:06:53I will do the same for the idle animation
01:06:56So, I’m going to select this sequence and set it to Loop
01:06:59Save everything
01:07:03Now let’s go back, and as you can see, he is walking
01:07:07I think his working animation—he should be assessing
01:07:12So, this is how she works
01:07:16It’s not quite like whatever XYZ it was expecting, but it seems that his work animation—actually, I did not like that black animation from our character
01:07:21So, I think I’m going to change that
01:07:24Here we have another animation that should be for running, and actually, I think that it is
01:07:34Only one forward, this one over here
01:07:38And even though I wanted to use the walk, since his work animation is not quite what I was expecting, I think I'm going to be changing it for this animation over here
01:07:48So, let's go into our Animation Player and then go into the walk, and I'm going to be changing it to our run animation, run forward, just like that
01:07:57Place it over here, then make it to look, compile it, save it, and let's see
01:08:09Yeah, now it's a little bit more close to what I wanted
01:08:12I think I'm going to be fixing his quotation as well
01:08:18So, there is a problem with the rotation right now; I'm not able to go up and down so much
01:08:23We're fixing that
01:08:24I think the main reason for that is just that he's not getting added controller pins input
01:08:29It's working, but he's not
01:08:33Passing the previous input through the Spring Arm, so I'm going to be doing that
01:08:38Please remember that I'm using the Spring Arm, not the camera
01:08:40So, here with our Spring Arm selected, I am going to get a rotation and then I'm going to use the Phone Controller rotation, just like that
01:08:47Compile it, save it, and let's see
01:08:54Yeah, but I think I removed it in a gate, and I'm not sure why I haven't removed it here in the gate
01:09:01So, let's go into our Unreal Engine Player Controller, go into our input look
01:09:03So, here it should have one modifier that should be negate, that same one that I removed early
01:09:10But they're going to make a modification to our modifier
01:09:16So now, here, expand this index, and then I'm going to be removing the first and the second, just leave it as it is
01:09:27Middle one, save it, and now it should be good
01:09:29Yeah, now it's working fine
01:09:31Sorry about your one
01:09:33Uh, and actually, this is a walk animation and send idle, and yeah, that's basically it
01:09:39Now, there are quite a few more tools that I want to show you in this video
01:09:44The next one is quite a famous one, which is Quixel Bridge
01:09:49So, uh, if you don't know, besides the Marketplace, there are other tools you can use to import assets
01:09:56Well, now I think the most famous one is Quixel Bridge
01:10:01To get to Quixel Bridge, you go to Tools, and then here, in this section, you should see, I think, it is Window
01:10:09Yeah, over here in the Window tab, I'm going to select Quixel Bridge
01:10:12Then, let's open this up
01:10:16If this is your first time opening Quixel Bridge, so read
01:10:19You should be needing to log in
01:10:21I am ready with my account over here, but you know, if you don't have an account on Kickstarter or Bit, you're going to have to create an account
01:10:30It's a simple process; just register using your existing account or create a new one—that's up to you
01:10:35Once you have registered, you will be able to see this platform here
01:10:40I’m going to be using this to get a few assets for our landscape
01:10:45The first one is going to be actually a texture that I will import through the landscape, because right now it is only the base texture, and I don't want to be using this texture
01:10:50Sorry
01:10:54So, I’m going to be changing that
01:10:59I’m not sure which one I’m going to be using, so let’s take a look
01:11:04I think I’m going to go into collections, and then here, let’s proceed
01:11:06Let's see what would be the best one for this, so I'm thinking about something closer to a jungle or maybe something like tears
01:11:13Maybe this looks quite good; let me take a look
01:11:19Yeah, these ones look quite good
01:11:22I'm not sure if these ones will work out for me, so let's take a look a bit more
01:11:31Yeah, I don't think there's a much better one
01:11:36So, I actually went a little bit ahead of time and looked at some of the textures that I think might work for this, but I wanted to show you this process as well
01:11:48So, this actually, this ground texture, I think, is going to look great
01:11:54So, I think I'm going to be using this one
01:11:57Once we have selected the one that we want to use for your ground, for the texture of your landscape, you just select it, and then here we're able to..
01:12:04Select the quality that you want to import
01:12:06Please remember that this is very important because this is going to affect how big your project is going to be
01:12:12I think right now I'm going to select high quality, and I'm going to press download
01:12:16It's going to take a bit, in the middle
01:12:19I think it means the way I'm going to be getting a few more textures
01:12:24The next one is going to be for foliage, so yeah, let's take a look a bit more
01:12:31Actually, I think I'm going to just go to your environment, and here I should be able to get a bit more
01:12:42Yeah, I have found a bit early, I found a great footage back, so I think I'm going to go into Action Loco, and just let me take a look
01:12:47Yeah, I think it was this one
01:12:53I have searched this before; it takes quite good
01:12:58So, for the testing process, you just search for this one and then select the quality that you want to be using
01:13:06In my case, I'm using high quality right now
01:13:08I have a redownloaded this asset so much just because I keep clicking ads, and this is going to be added to my project
01:13:15The same thing is going to happen to the other must-run that I was downloading
01:13:18I made this market just because I had to wait for it
01:13:22I just finished downloading it now
01:13:25I have this muscle ground, but before, I downloaded another one
01:13:29However, I think this one might be better, so I'm going to be using this one
01:13:37Just like I did with the foliage, I'm going to click "Add," and this will be added to our project
01:13:41Now, with the asset imported into our world, the first thing that we..
01:13:45All you need to do is to get the landscape material back onto our landscape
01:13:50Since I have already created this landscape, I am going to select it over here
01:13:54Just select our landscape, then go into our Content Browser, and you should see it under Surfaces
01:14:02Remember, that's going to be from Quixel Megascans, then Surfaces, and then open this folder
01:14:08You should see this material, Resistancy, over here
01:14:13I think this is quite a good one, so I’m going to be using that on our landscape
01:14:19Just select it and apply it
01:14:22You should have an option here for Landscape Material; this is going to be this green one
01:14:27As you can see, this is the material for our landscape, but it still needs the foliage
01:14:33For that, I’m going to be teaching you about..
01:14:38Another awesome feature in Unreal Engine that is still here is the Polish tool
01:14:43So, just go to selection mode and then select foliage, just like that
01:14:49By default, there are quite a few options already, but if there is no foliage showing here, don't worry
01:14:57Just go to the Content Browser, then go back into Quixel Megascans, and then to the 3D Plants folder
01:15:03Remember, this was the other Quixel asset you downloaded besides the surface
01:15:07So, just go into this folder and open it up
01:15:15You should see this folder as well
01:15:18Select everything inside and drag it over there
01:15:21If it doesn't appear for you, don't worry; for me, it already appears here
01:15:24So, I will just select it
01:15:28There are quite a few options available by default
01:15:31You're going to be having Spain selected, so that's what you want
01:15:35Now, directly, we need to select which foliage to use, so let's select the first one by just clicking here and then going back into our world
01:15:48As you can see, I'm able to place it in our world just like that
01:15:53But let's say I want to make things faster, more dynamic, and so on
01:15:58You can also adjust these settings as well
01:16:01The first thing is the size of your brush, so by selecting here, you can increase that size
01:16:10Yes, just increase it a bit, maybe to about double the size, just like that
01:16:15With that, you are able to cover backgrounds
01:16:20So let's say I want the foliage to cover everything over
01:16:23Here, I could just increase it quite a bit, then click once, and as you can see, it's quite, uh, quite fast
01:16:30It's quite quick to make modifications to this
01:16:33The next parameter is the painted density
01:16:38So, let's say right now it is 0.5, but I want to increase the density of these plants
01:16:42Let's set it to 0.8
01:16:47Let me show you what would happen just here on this side
01:16:51I'm going to select, and as you can see, the density increases
01:16:58Of course, it's not a huge difference at first, so let's go to 1.0, which will be easier to see
01:17:03As you can see, the density increases just by selecting like that
01:17:08But let's say I want to paint with multiple ones at the same time—that's also possible
01:17:14You don't need to select only one; you can paint your entire area
01:17:18And then, go into the next one
01:17:21You can right now have only this one selected, but I can, let's say, I won't select this other one as well
01:17:25 First, I'm going to be adjusting the density because I don't want that much
01:17:30Let's go back to 0.5 and the base size as well, so it's quite small again
01:17:34 And let's say I want to use these two foliage assets at the same time
01:17:40As you can see, they are mixed together, but I can also increase the number as much as I want
01:17:45 So, let's say right now I have five selected at the same time, and I can place them out together
01:17:51 There are some parts that are not meant for foliage, and they don't really deal with that part by default
01:17:56 In this part, I think I'm going to be placing something like a rock
01:18:02Yeah, that would be good, but let's paint
01:18:04This a little bit, and then I go to that, so let's just paint it
01:18:08I think I'm going to be selecting everything from here, and of course you're able to see how many of these assets there are in the world
01:18:16So let's say this one that I have just selected, I have zero, but this first one, as you see, I have quite a few of them
01:18:23So yeah, let's start placing it, something like that
01:18:25Yeah, of course, please keep in mind that this is going to draw back on your GPU processing power
01:18:31So right now, it is the mesh is quite big, so yeah, I think that's closer to what I want for this, at least
01:18:46And this part, there is no need to make it so dense, so let's go into 0.1 and start placing activity, and the suggestion is now 0.2
01:18:57Yeah, that's more like it, just to create this
01:18:59Starter of our map
01:19:01Yeah, I think that looks actually great
01:19:03I think I'm only going to be decorating this part over here, so I'm going back into Landscape, and I'm going to be smoothing this like that
01:19:19Then I'm going back into Foliage, and I'm going to be placing it back over here a bit more
01:19:26So, let's actually, I don't want to fight until I smooth it a little bit more, but please make it more real
01:19:38Yeah, I think that's great
01:19:40I'm going to be adding something over here to improve it
01:19:42So now, you know how to make these things
01:19:49Basically, you can switch between Landscape and Foliage and make these modifications as much as you want
01:19:56Next, I'm going to be doing is, actually, I think I'm going to be curating
01:20:00Is it for autism? I'm not sorry
01:20:02Let's go into our assets in the Content Browser, and that's going to kickstart our project
01:20:07I think I want to place more assets, and I want to teach you how you can create actors for your work
01:20:18There are multiple ways to place assets in the world
01:20:21The first one is to just drag in this static mesh, but I want to teach you how to create your own assets, your own Blueprints that may have some specific functions and may even enable your player to interact with each other or with each of them
01:20:35 For that, I am going into the Collections folder over here
01:20:37Let's see, I was thinking about using something like Greek mythology, or maybe just something instant, or—yeah, I'm not sorry—I think I'm going to just search for Greek
01:20:49Over here and see, but I get, uh, yeah, I don't think there is any with that name, but I saw something before
01:21:04Let me just take a look to see if I can find it again
01:21:06Yeah, let's take a look at this one
01:21:12Uh, yeah, that's not quite what I want, but, uh, yeah, that would be quite well as well
01:21:20That's not what I want, so let's go into Historic, and maybe here
01:21:24Yeah, one more Empower—that would be good as well
01:21:26Let's see
01:21:29If I want, I have what I want
01:21:32Then, just one second, and this one looks quite good, but not quite what I wanted
01:21:36Yeah, not that one
01:21:39Yeah, well, something like this
01:21:43Once, uh, this status was what I wanted to place the word, so I think I'm going to be getting this
01:21:52Yeah, I'm going to be getting this
01:21:55So, again, just select the one that you want
01:21:59I think, in my case, I'm going to be
01:22:03Getting this over here, it selects the quality that you want to be using
01:22:05They can, which can be going into the night for this one
01:22:09Then download, wait a bit
01:22:12I think I'm going to be selecting a few more, so we have a status
01:22:13I think maybe this one, yeah
01:22:15So, of course, I'm not the best archaeologist, but I want to make it look as close to the real world as possible
01:22:25I'm going to write that, so let's get this one as well
01:22:28I'm going to be getting it as a night scene as well, and just download
01:22:33Wait a bit, and let's see if I'm going to select any more
01:22:38I think I want something now for a medieval setting
01:22:43Let me take a look
01:22:46Maybe, okay, so, let's run
01:22:49Let's see, mix a few things together and see how it looks in the end
01:22:52The internet connection is not the best right now, yeah, this one
01:23:01It looks quite, quite great, quite great
01:23:04Maybe using tears would also be good
01:23:08Yeah, you know what, I'm also considering using this one as well, so just hit download, and yeah, I think that should be it
01:23:15I'm going to just wait for it to download everything, and once it has finished, I'm going back in here to show you how to place this in our work
01:23:26So I'm back, and I have finished downloading these assets
01:23:27Now, again, I just need to import to add this to our project
01:23:32I'm going to just click add, and then it's going to be added
01:23:38The next one is one, and then this one, like that
01:23:42Yeah, that should be it
01:23:44Now I can close it, just hit save
01:23:47And, uh, now let's just take a look at the assets that have just imported
01:23:51So, make a scan
01:23:56I think it's going to be these 3D assets
01:24:00As you can see, there are three of them
01:24:04The first one, as you can see, is the static mesh
01:24:09I think it should be our Chapel pillar
01:24:14Let's take a look
01:24:18Of course, the first time I'm going to open this file, it's going to take a little bit longer, since some of this, especially the Knight, is going to take even longer
01:24:23That's completely normal
01:24:25The first time you open almost anything with Unreal Engine, it’s going to take a bit more time; that's normal
01:24:31So, yeah, now, as you can see, this is that mesh
01:24:36As I mentioned before, this is the base one that the game plays in the world, but the art can also create an object with this
01:24:45I think I'm going to be showing that with this one
01:24:47Yeah, I think I'm going to be using that, but this one I..
01:24:53I'm going to just drag this static mesh and place it into our world
01:24:58For that, I have this mesh right here
01:24:59I am going to select it
01:25:02Yes, sorry, I think it should be a Sheffield; there's one over here
01:25:06So, that means you're going to just drag this in
01:25:09As you can see, it's quite small
01:25:13It's actually not small; it's just that the word I am making right now is actually quite big
01:25:17So right now, I'm going back into selection mode
01:25:20Please remember that you won't be able to select this if you don't switch back into selection mode
01:25:24Just like that, now as you can see, I'm able to move it around
01:25:27That's basically it
01:25:31I think I'm going to place one over there
01:25:34Yeah, I think I'm going to do that
01:25:38So, just move it into here
01:25:41I'm..
01:25:45Going to be also increasing the size of this, so again, to this, the size, just select and hit object, just like that
01:25:48And I'm going to be increasing the scale on the three axes at the same time, just like that
01:25:58Yeah, that's pretty much it
01:26:00That's pretty good
01:26:02Rotate a bit more
01:26:05Now, the layout's place it down a bit
01:26:07Yeah, that's basically what I wanted—something like this
01:26:10Yeah, that looks pretty good
01:26:13Let's now go, let's take a look into other assets
01:26:16I think the next one should be, yeah, it is
01:26:26Maybe it is Respecter, uh, yeah, I was thinking it would be Tune, but yeah, there's no problem
01:26:31Um, maybe let's just take a look at the other one first
01:26:37So, the other one—it's going to be Honest Kills
01:26:40So, I think I'm going to be creating our object from this one, but this one I'm not
01:26:46I'm not sure how many videos there are
01:26:50Let's take a look at how this would look in the world
01:26:53So again, just go into Place, Static Mesh, and drag this into our world
01:26:59Let's scale it quite a bit more, something like this should be good
01:27:01Uh, so yeah, I don't think it looks too good together
01:27:04Maybe if I just get another one of these, place another over here, then rotate it to face the other side
01:27:13And please remember, these are static meshes, and they are only shown on one side, so you need to rotate them to face the side your player will be looking at
01:27:28So yeah, I think I'm going to be using it like this
01:27:35Maybe, let's go back into Landscape mode, select this one over here, and move it to this position
01:27:40I'm going to use this movement a bit more like that
01:27:44So, uh, now..
01:27:47Let's see it
01:27:50Yeah, I think that's basically what I wanted
01:27:52Let's take a look at how the start of our game would be
01:27:54So, yeah, I need to move it a little bit down over there
01:28:06Again, go back into selection mode, select this a little bit down there
01:28:08Let's take a look again
01:28:10Yeah, that's pretty much it
01:28:12It looks a lot better
01:28:13So, yeah, that's basically..
01:28:16oh yeah, this one needs to be a little bit down as well
01:28:20Again, same thing
01:28:24Let's see, maybe I could create a few sides of this
01:28:28No, yeah, I don't think this one is going to look apart with this
01:28:35Sorry for asking you to download this
01:28:39I was thinking about building something, but now that I have seen it, I think this one's going to look a little bit better
01:28:43But I am..
01:28:46so I'm not going to be
01:28:49Using this, just hit delete over here
01:28:52Yeah, that should be pretty much it
01:28:54So, that's basically it with most of this; that match that variable should be placed in the word
01:29:00That way, you can place objects, use foliage, create the landscape, and so on
01:29:04In order to save you time or watching me organize these things, I went ahead and made just a few small adjustments to make it look a little bit more immersive, but basically the same thing—you just rotate, move it around until it hits the right place for you
01:29:23I also made inquiries about the location for the Player Controller; let's just move it down a little bit
01:29:31Yeah, that should be it
01:29:34The next thing I want to do is show how you can create actors to place in your world, so for that, I'm..
01:29:42I'm going to be using this asset over here, so the first thing I'm going to do is close every tab that I have open because I won't be using any of those right now
01:29:50To do that, you can go through any tab and either select close or close tabs to the right
01:29:57This is a very useful command when you have many tabs and don't want to close them one by one
01:30:05So, I'm just going to select "Close Tabs to the Right," like that, and now I am back in our Content Browser
01:30:13I'm going to search for our Player Little Print, PP Player
01:30:18Yeah, actually, first let's go into the Content folder
01:30:21I think I'm going here
01:30:25I'm going to create an object, so let's just right-click and go to Blueprint Class
01:30:30As you can see there, There are different types of blueprints that you can create in your game
01:30:40There are even more if we spend time on this, but I’m going to be working with a simple actor
01:30:46I think that most of the blueprints you'll use will be of the type Actor because they are very simple and common
01:30:54So, let’s say this is a UBP (Unreal Blueprint) actor
01:31:01Let’s say this actor should increase the number of points in your game
01:31:09Actually, let’s just name it “PointIncreaser” to give this a small example
01:31:16Now, let’s open this asset here
01:31:23Just like before, I have the tab for components, and in the BP (Blueprint) for the player, there are quite a few components that came with it, which are based components for the BP Player, in this case
01:31:31This is the actor
01:31:38There is not much here by default, so I'm going to just select it, then go into Add, and then into Static Mesh
01:31:46With this selected, I will be able to use the Details tab, and over here I have an option to select the static mesh that I'm going to use
01:31:57If I explain this, I can see everything I have that I could place over here
01:32:03In my case, I'm going to go into 3D assets, which should be this one, and I'm going to select this one and place it here, just like that
01:32:12I'm going to rotate it to face the center, at 90 degrees
01:32:19Yeah, that should be basically it
01:32:21Now, just like before, I can drag this asset
01:32:24Actually, let's go to the folder where I have these assets
01:32:29So just like..
01:32:34With this, I would be able to drag this asset and place it wherever I want
01:32:41I think it is quite small, so I could either scale it here or go into our actor and change the scale here
01:32:50I think I'm going to do that, so let's say something like 20 times this
01:32:57And of course, these are the three X's, like that
01:33:00Save it, let's take a look now, and it is just too big, but you know what? Why not? Why not? Let's leave it like that
01:33:06That could be a great scene
01:33:13So I think I'm going to make this inside the world
01:33:19Yeah, I think that looks really active
01:33:22It looks pretty good
01:33:25So I'm going to leave it pretty big like that
01:33:28But one thing I want is for this to interact with our player somehow because right now it's just like any static mesh in the scene
01:33:42The world, but the difference is that since I have created this as an actor, this touch mesh is only the representation of it, and I can create logic
01:33:53So, let's say something that could be interacting with our player—I could do that as well
01:33:58For that, I'm going into the Event Graph, and to teach you a little bit about Blueprints, I think the best example is just to show how you could create events and connect them together
01:34:12For that, I'm going to add a new component, which is going to be an "Ice Theorem" collision
01:34:17This one over here, and I am going to be placing it
01:34:23It should be right here
01:34:24I need to increase this quite a bit, so I'm going to set it to 20, and the same for here and here
01:34:28Let's take a look
01:34:32That's a lot more than I expected
01:34:36So, let's go back to maybe five
01:34:38Yeah, five is good
01:34:40Five, I think it is
01:34:42Yeah, it's not quite what I wanted
01:34:46I think I'm going to be deleting a sphere, and instead, I'm going to be adding a collision box, this one over here
01:34:58So, I'm going to just add this box, and again, let's set it to five, five, and five, and just choose more
01:35:02Still, yeah, I think that's good
01:35:05Let's just drag this inside of that mesh first
01:35:09Oops, second, that mesh
01:35:12Add our collision box for alignment
01:35:15Now it should be a little bit easier for this
01:35:21So, it's five, five, and five
01:35:24Let's take a look
01:35:26It's too big
01:35:28Um, maybe three, three, and three
01:35:30So, what I want is for this to not be much bigger than the object itself, but it's still a bit too large
01:35:39Let's see
01:35:41Sure, that is closer
01:35:44Yeah, that's closer to what I wanted
01:35:46Much believe, as to, uh, so basically what I want to do is, if this collision box is to create an event that triggers when something happens every time our player collides with this object
01:36:04For that, let's go into our event graph
01:36:06As you can see, by default, it's going to be showing a few events over here
01:36:12I have explained to you before about the event; they can play
01:36:16Now, in the actor, there is one called "Begin Overlap." This one is wired up, which is what I'm explaining now, but this time I am going to be using only the box
01:36:27So, I'm going to just select the event instead of using this other one
01:36:31I will get the "Event Actor Begin Overlap." This one is called "OnComponentBeginOverlap," so add the "OnComponentBeginOverlap" event for the box, like that
01:36:37The reason for not using this other event is… One is because this would be the projector, and I’m using it for a component like that
01:36:52Actually, one more thing I want— I think I’m going to be with our stats
01:36:54My selected, I am going to be going to collisions, and let me just take a look
01:36:59Yeah, that’s it
01:37:01It is by default set to block for the name, and that’s what I want
01:37:05But for this cool reason box, I want it to overlap everything
01:37:08As you can see, uh, it is by default like that
01:37:11But if it were not, I would change this to the overlapped algorithm, because I don't want our player to be unable to move through this box
01:37:18So, this is the main difference between the collision presets
01:37:22You can make something overlap; overlapping means that it’s not going to block the player
01:37:29So, let’s say if I go into this word and I work… Into this, that collision box is not going to block me, as you can see, but this actor should block me, and it's not blocking for some reason
01:37:37But he should
01:37:45Let's see the reason for that block; maybe it does not have collision by default, and that could be the reason
01:37:53So, let's take a look at our static mesh
01:37:54I think I'm going to be adding, uh, not sure yet, maybe, yeah, a more specific type of collision
01:38:06I'm much better; I'm not sure because I was thinking maybe of him being able to walk around here, but you know what? There is no need for that for today's example
01:38:19I just needed to get closer, and that should be working fine
01:38:21Now let's take a look
01:38:23Wait a bit, saving packages, just one second
01:38:25It’s taking a little bit longer than I expected, so yeah, let's go again, but if I— Walk close to it now; it should have collision
01:38:35Let's take a look
01:38:45As you can see, it's the same block because there is collision, but the other box collision that should be over here is not blocking me
01:38:55I think I might—yeah, as you can see, there is quite a distance for that
01:38:59So now, in this event, on component overlap, I want to cast and create an event in our player
01:39:09So, for multiplayer, that way they can set events in our player
01:39:15The first one is just right-click and then search for "Custom Event." Actually, I think my widget is back and should be small again for some reason
01:39:22You don't need to do that; I'm just increasing it only because it's easier for you to see
01:39:34So again, here, I'm going to search for "Custom Event." Add a custom event
01:39:38So, what is this custom event? A custom event is basically anything you want
01:39:42You want to create an event that should perform any action in your character blueprint
01:39:48That's basically it—it's a custom event
01:39:50So, I think for this, I'm going to just name it "IncreasePoints," like that
01:39:52This event should increase the number of points that our character has
01:39:58There are other ways to do this; instead of creating a custom event, I could just create a function
01:40:10To do that, I would go into the Functions tab and add a new one
01:40:23Let's name it "IncreasePoints," like that
01:40:37So, what I'm going to do is to basically try— To do the same thing over here and here to show you the difference between the two of them, uh, first thing, I'm going to be accurate—a variable that's going to be for our points only for demonstration
01:40:51So, let's create a new variable by selecting it over here
01:40:53Let's name it **CurrentPoints**, and if with this selected, I can change the type over here
01:41:00I think I'm going to select **Integer**
01:41:02And let's create a new one that's going to be our **MaxPoints**
01:41:10And why not create another one to show—let's say **StartPoints**—that's going to be the number of points we're going to start with
01:41:21So, just to give a small demonstration, uh, I have explained about the **Event Begin Play**, but this is going to play only once at the start to show you one way
01:41:35That could be used in this event
01:41:38Besides this, let's say if I want our player to start with two points, it's still available for the current point, which is going to be explained
01:41:45I could, let's say, get current points, set this at the Begin Play, get our starter points, and place it like that
01:41:55This is going to assign the value of this variable into our current points, and later on, I would be able to change this variable with a DOT node, affecting this one
01:42:06Add this possibility as well
01:42:11So, uh, let's see
01:42:17If I want to, instead of that, detect if I have reached the maximum number of points for our get, there is another event I could use for that, which is the Event Tick
01:42:22So, for that, let's say I create a branch from this branch
01:42:26I don't remember if I have..
01:42:30I explained this before, but a range is just a way to check if a certain condition has been met
01:42:39So, let's say, I want to see if our current points have reached our maximum points
01:42:44Then, I could use a branch for that
01:42:46Let's say I want the maximum to be five points, and I want to check if I have reached that maximum
01:42:57I could just get our maximum points and our current points and see if this is greater than or equal to our maximum points
01:43:08If this is true, it will return either false or true, and basically, what this is going to do is that this event is going to display everything
01:43:18It's different from the Event Begin Play, which only runs once; this will run multiple times every second
01:43:26Of course, you can use the 'lazy' function as well
01:43:32Well, but that's basically the intention of using Event Tick
01:43:34So, let's say if the player reaches the maximum point, I want to put into a string, which is very common for the game, saying "you end the game" like that
01:43:50And if not, I don't need to prepare anything because this is going to be playing every tick
01:43:58Actually, I could just play it to demonstrate
01:44:03Let's get another point ring
01:44:08So, this point ring in here, let's just get three points, just to give you guys a more thorough example
01:44:12Basically, I'm going to just copy that and place the event into the Begin Play
01:44:17I think it would be a good way to demonstrate
01:44:20So, for now, I'm going to break this link
01:44:25And of course, after making links, I can just right-click and select 'Break Link', like that
01:44:31Compile, save it
01:44:37So now, if I go into our Word, you're going to see that this comment is going to be printed, showing three dots only once at the start
01:44:42So let's see
01:44:47Let's just create a text, let's say it's a small text for the motivation of events like that
01:44:55Compile
01:45:02Let's go back again, and as you can see, in the top left or top right corner, I can set that to bring the string only once at the start
01:45:10But let's say instead of having this in the Event Begin Play, I have this in the Event Tick over here
01:45:16Let's see what it would look like
01:45:20As you can see, this event is going to be playing every tick, so quite a lot of times
01:45:31It's going to be multiple times per second, so I could use that to check if a certain condition
01:45:37It has been met
01:45:39If it has, then I'm going to be placing this as the end of our game
01:45:42So yeah, that must be
01:45:44That's basically it
01:45:47So, basically, I need to now be able to increase our current amount of points, and I want to do that every time our character reaches this overlap event with this character over here
01:46:01 So, let's say if I go back into our BP Pointing Racer, I want to increase the number of points in our character
01:46:12I'm going to do that with both our custom event and our function
01:46:15 This function, let's say, receive input, is going to take a number of points to increase
01:46:19That's basically it
01:46:21It will be of the type integer
01:46:23Then, I am going to get our current points
01:46:28In this example, it's important that I'm not just getting this
01:46:34And, of course, I'm going to set it, but I want to actually add this to our current amount of points and then set a new value for it
01:46:45Because, instead, let's say he should receive two points every time an event occurs
01:46:46If I don't do this, this simple math computation is going to just set this value to 21
01:46:55So, let's say two, but this way I cannot increase the data value just like that
01:47:00Uh, Sprent
01:47:03I'm going to do the same thing with our response function here
01:47:06Again, I'm going to create an input, and this time it’s going to be—I think—let's use the same name, so it should be 'Number of Points.' I'll place it here, and again, I’ll get our Max Points, our current points, then I'll get it to set, and then I..
01:47:30I'm going to set this value, add it to our current amount, like that, and let's say this time, for this, I want to receive input back if, let's say, another service condition has been met
01:47:50Let's say, for example, in the game, I could then get the same function that I have made over here
01:47:59So, just crop this with the range, place it here, and basically, let's say I want to get an input from this
01:48:08I could do that because this is a function
01:48:12So, just get the output, that would be, let's say, "End Game." Like that, this time it's going to be a Boolean, and I'm actually going to explain this so I could, I could not, and nothing even
01:48:29Use this Branch node instead of what you just be getting a returner like that, and then get our Boolean value into here
01:48:36So now it
01:48:42It should return true or false; that's basically saying if it's our end game or not
01:48:49Now, compile it, save it, and yeah, that should be pretty much it
01:48:52So, now back in our actor, what I'm going to do is get a reference for our player from this or the actor, and I'm going to just guess to beat the player
01:49:06I guess this is, uh, the most, is either way, communicating between blueprints
01:49:12So this is how we make a direct cast, something that costs quite a bit of performance, but of course, if it is for a single event, it's not going to cost a lot
01:49:25But something you need to be very aware of and careful while using these types of events
01:49:33So, let's say, avoid using this type of event and when using something like even thick, but..
01:49:37For this, it's going to be on the ones where there is overlap, so there's no problem with that
01:49:47From that, I'm going to get the reference, which means for the actor, and then place it into our guest, and then I'm going to guess the function that is to increase points
01:49:58So, in the grade's point, I have the custom event and the function, uh, so I think I'm going to be getting both just to display to you
01:50:04Now, get the uh, Greece points function like that
01:50:07So, right now, you can see the difference between functions
01:50:14Of course, there is a lot more to that
01:50:16Functions are quite easier to use in your Blueprints, and it's also a common way to organize things, so it's easier to see everything
01:50:29I mean, there are a few more differences, let's say, in your event graph
01:50:35We're able to place the links, and there's no problem with that
01:50:41In a function, it would be a little bit more complicated for something like that
01:50:46So, yeah, there are quite a few differences
01:50:47I think you should see for yourself
01:50:49Um, so now, in our actor, again, I am going to get, now I want to get, a new value for our both these functions—uh, vertical event and the function for that
01:51:00I'm going to be creating a new variable that's going to be, let's say, 'NumberPoints', to give a name
01:51:08Of course, if you are creating your own project here, you're going to usually be using smaller names, but you're going to have some set organization for this
01:51:22Since I'm not using anything like that, just keep it simple for you to understand
01:51:30It’s a problem for me, so I’m going to just be selecting this as an integer
01:51:34As you can see, by default, you are not able to see it
01:51:40To change the value, you need to compile first
01:51:43So, compile now
01:51:46I am going to be changing it to, let’s say, by default, to give one point, like that, and then I’m going to place it here
01:51:50Of course, you could set the specific value over here
01:51:53I think it’s best to do it this way because, let’s say, if we have different types of actors like this one, you could always change this value, and it would be a little bit easier without needing to change the blueprint itself
01:52:08So, I’m going to just place it here and here
01:52:12The first thing that you’re going to notice is that, since this is being placed twice, it’s going to be playing this function
01:52:18And in here, uh, the first one should be playing twice
01:52:24It shouldn't be receiving two points instead, and he starts with two, and the max is five
01:52:30So it should count that event after the second overlap
01:52:31Yeah, it should be
01:52:33So, yeah, that's pretty much it
01:52:34I think I'm going to go into our Print String
01:52:40Yeah, there's no need for that
01:52:45So now, if I go into our work, if I walk into this object over here, I should be seeing
01:52:50Uh, the first time, I'm not going to be seeing anything, but the next time I should be seeing a Print String displaying the end of the game
01:53:00So, first time I enter again, two points, but I'm not able to see
01:53:04If I go out and enter again, as you can see, end game, and it acted not only once
01:53:12That's because I'm explaining this in the context of logic and, of course, this
01:53:14Prince thinks this is only for demonstration
01:53:17You're going to be using this to set events
01:53:20So let's say if you want to trigger your game right here, you could create the logic for that over here
01:53:30That's basically it
01:53:31Of course, I don't have time to show everything, I just want to give you demonstrations of how you can use these things
01:53:36 Uh, I was talking about casting before
01:53:39One very important thing to notice is that you can replace things like this
01:53:44Let's see—this thing over here—you could replace this with an interface
01:53:50The interface is a little bit more complicated to explain, and I think that will be a video, and this channel explains that, so I'm not going to go into detail here
01:53:59But just know that there is usually a..
01:54:02Better to use guest casts for a specific moment
01:54:06Uh, this one, there's no problem with it, but let's say if we have events that need to be played in such an event tick, maybe learning how to use interfaces would make the performance of your game better
01:54:21Uh, that's something you need to keep in mind because it's not only about creating games; it's about creating games that someone is able to play
01:54:30So, it should be a consideration of optimization, even if—uh, even if you're not planning to sell your own game, you still need to consider optimization
01:54:40And yet, I think for the final modification, I'm going to change the position of the sun, so let's go back into directional light
01:54:52Light and then rotate, and let's take a look
01:54:59I think maybe like this to create a better scene
01:55:01Yeah, I think that's pretty good for me
01:55:03That's, that's beautiful
01:55:08I think that's beautiful
01:55:13So, uh, yeah, let me see if I am missing something, and I don't think I am, but just to make sure
01:55:18Uh, so yeah, I have covered Event Begin Play, actually Overlap Begin Play
01:55:26Let me see if there is anything else
01:55:31So, you also know about the Input, Input Actions, how to create new Boots, and yeah, I think that's pretty much it
01:55:41I'm going to just leave it in the comments over here
01:55:46So, this is Increase Points because not Events Show Bubble
01:55:48This is our Events Stick Show Bubble, and yeah, so that's pretty much it
01:55:53Thanks a lot for watching
01:55:55I know that there are a lot of tools, and I'm really..
01:56:04Giant, and it might be a little bit overwhelming at the start, but don't worry about it
01:56:12Just like I think, for the softer areas that there is, I think in gaming—creating games is not one of the best ones—because even though it might be complicated at the same time, once you come back here and play something, you play your own game and have fun with your own game
01:56:36Things might get a little bit brighter, so yeah, just stick with it and remember that it's just about practice and practicing until you learn how to do things right
01:56:49So, thanks a lot for watching, and I hope to see you again soon
01:56:56[Music]