Level System in Unity (Unity Tutorial)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
in this video we're going to create the unlevel system that we can apply to any character the underlying system will be very simple and very easy to use with some nice flashy visuals alright let's begin hello and welcome I'm your code monkey and this channel is all about helping you will learn how to make your own games with in-depth tutorials made by a professional indie game developer so if you find the video helpful consider subscribing so here's what we want to create we're going to make the underlying level system as well as a UI to represent it the player character here is also using the same level system we have levels that require certain amounts of experience we can use these buttons to gain some experience so when I click you can see the experience bar go up over time if we get enough experience there you go we got a level up so it shows in here at level and we play some nice effects and animation and then we have these buttons in here to equip items on the player however they need a certain level to be equipped if we add a lot of experience at once you can see that the bar is correctly animated and goes up over time so first we're going to create a simple level system class with a simple function to add the experience which will calculate the 11 once that is working we will create a simple UI and integrate the local system class onto it so we're going to be able to visually see what is happening inside the level system and add some buttons to add our experience then we're going to apply that same logic to our player character so we're going to make him listen to the level system and trigger an animation and particle effect on level up next we're going to make a separate class which will help us animate our bar without modifying the underlying system then we're going to work on adding a max level and a different amount of XP per level and finally we're going to create some buttons for various helmets and add the code to make them only equippable after a certain level alright that's our goal let's get to it here we are in an empty scene let's start off by making a very simple level class to handle our logic so we go in here we make a new c-sharp script this will be our level system now here in our code let's first get rid of monobehaviour since we want this to be a very simple class now to store our current level let's define an inn so prevalent for the unlevel then we also need the experience the player currently has so a private in for the current experience and then we need to know the experience needed to reach the next level so also a private n't for the experience to next level ok so this is the basic information we need for a functional level system so let's make a constructor so a public one system here we set the in level to zero the experience also to zero and let's put the experience the max level at a hundred so we need to gain 100 experience in order to go up on level so let's make a function to add experience so a public body at experience and we're going to receive a parameter for the amount in here we increase the experience by the amount and then we check if the experience goes past the amount needed so if the current experience is bigger or equal to the experience to the next level so here we increase our level and we need to reset our experience so we reduce the experience by the amount needed to reach this level so like that ok so this is the basic logic for our level class so we have a level we have the current experience and the experience needed to reach the next level we have our constructor and a function to add experience so let's set up a very quick test like in the editor let's make a new c-sharp script this won't be our testing let's make a game object to keep our testing and drag the script on to it okay now here let's test our class let's make a private void awake and in here we're going to create a new 11 system and then let's just do a debug log to print the current level so let's go into our class in order to make that function so we make a public in get level number and in here we just returned the current level okay so we can now go back into our testing we do a log of the 11 system get level number then let's add some experience so local system had experience let's add a small amount so not enough to reach the next level so add 50 then we print one level again and then we add 60 and finally we print again okay so here we have a nice simple test to let us know if our logic is all correctly working so essentially up here after we construct our level system we should be able to see a zero then we add 50 experience which is not enough to reach the next level so in here it should say still zero and finally we add 60 which should get us up one level and this final log should say one so let's see and see the console and here is the console and it does say zero zero one okay great so we have our basic logic fully working now obviously just like this and what's very boring so let's handle some visuals so here go into the canvas let's make a empty game object this will be our little window now in here I'm going to construct a simple UI okay so here is the simple UI it shows the current level then I have a bar in here for the current experience this bar is very simple I just have this game object in here with an image and the image I can set the fill amount you can check out the various videos I have on the channel where I make UI bars for more in-depth tutorial and then I have these three buttons in here so that I can add various amounts of experience these buttons have the button UI component which is part of the code mockito notice that you can grab for free from in Tacoma com it's just a simple class so I can handle our button clicks okay so let's make the code to handle this you want so we make a new c-sharp script this will be our level window and let's drag it on to our level window game object now in here first let's make a private void awake to grab our references okay we have the references now let's make a function to set the size of the experience bar so in here make a prep void set experience bar signs we're going to receive a float for the experience normalize and here all we're going to do is go into the experience bar image and set the fill amount to the experience normalize and yep it's that simple now a function to set the level number and here when we do is go into the in level text to set the text to be level then a new line and then the level number however the level number in our logic script won't be starting at zero so let's increase this by one to be our readable level okay so these are the basics that we need now we need to call these functions with the correct values so let's first do a simple test in here we set the experience bar let's put it at 0.5 so at half the bar and set the imago number let's put on level number 7 some level number 7 again this is the logic which starts at 0 so we should be able to see um level 8 at 50% experience let's see and yep here's our UI working currently says level 8 and the bar is at half okay so now that this code is working we need to call these functions with the correct values so for that we need a reference to a level system object so go in here store a reference for the malevolent system now let's make a function to receive the object so in here we make a public void set level system and we're going to receive a level system object then when we receive the level system we call set level number and we pass in the in level system dot get level number okay and then we also need to call these set experience bar size and we need to grab the own level system dot and it's in here that we need to add another function to do the get experience normalized so let's make that function on the unlevel system so here in the unlevel system let's go down here make a new function a public float get the experience normalized and now to get expert storm wise it's extremely simple we just return the experience divided by the experience to the next level and again since these two are int we need to make sure to convert one of these to a float otherwise we won't get an incorrect value so with this function done back in our own level window everything is done we set the level number and the experience bar size now all that's left is to call this function in order to pass in our level system object let's get rid of this testing code and now let's see where we were creating our level system which is here on the testing class so up here we can simply add a serialized field for our private level window of a window so since this is a serialize field we can go into the editor and here on the testing game object there's the 11:00 window and we simply drag the reference onto it okay and now back in here we created we do our nice little testing and then we come to another window and we set the level system and we pass in this level system okay so that's pretty much it and it should be correctly displaying the result of the unlevel system after this testing code so it should say on level number two and be at ten percent of the bar film let's see and yep there it is level two and the bar is 10 percent film okay great so the window is now correctly displaying the state of our level system now we don't want this to only update on start we want to update every time something changes so let's see how we're going to do that here on the on level system the way that we can notify that something has changed is by using events so let's go up here and first of all using a system and in here we make a public event event handler this will be the own experience change and also another event for the on level change so we have one event for when the experience changes and one when don't level changes now let's see to trigger this here we are on the add experience so when we add experience we check if we have subscribers to this event if so we call it passing this and event are empty and in here if we get a new level we come on let's on changed ok so that's it for triggering our event as you can see it's extremely simple and now we can go back into the window code and here when we set the level system we subscribe to those events so we go to the eleven system dot on experience changed let's subscribe to that event now when the experience changes and let's update our experience bar just like that and when the eleven system dot on level changed we trigger the seven level number okay so this you don't pretty much be working we have our function we will receive the eleven system we update our starting values and then we subscribe for when avenges so on the level system whenever we add experience we trigger the on experience change and if the level changes we trigger that event and back on the window we listen to those events and when they happen we update our bar in our text so to test all of this working now we can finally add the code for our testing buttons so let's go up here and grab the reference to them and that's pretty much it this button UI class again is part of the utilities and it just makes it very simple to create a button so when I click on the button this delegate is triggered which won't execute this code so when I click on the five button it won't fire the experience on the 51 at 50 and so on okay so everything is correct for us to test let's just go into our testing class and here no longer do this so we just in sin she ate a neon level system and we set it on the window so it should start off at level one with experience completely at zero let's see and yet there is level one with zero experience okay now with our testing buttons if I press on this one if there you go the experience bar indeed updated as he got some XP and as I had I'm gaining five experience someone let's keep adding and see if it reaches the end and yep there you go now we are at level two and we can go up and it fills up and goes back down and we can also add a massive amount so let's add 50 and the level should increase and the bar should be around there so let them ne up there you go exactly correct as intended okay so we have the basics of our level system working as well as the window to display the current state now let's just quickly apply this to a player character so over here I have a simple player character let's pause and look at the player game object so here as you can see there is a player script and the player based script the base script contains the code for the animation system so we don't need to worry about it now let's look at the player script so here we are and again don't worry too much about the code that is already in here all we want is to be able to apply our 11 system onto this pre-made character so here we're going to do very much the same thing that we did for the window so first of all we need a function to receive our level system so let's make here a public void set level system we're going to receive in a level system level system okay we have this function now let's go on to our testing code and here make another Asuna last field this time it's going to be a reference for our player so now let's go into the editor and here on our testing game object let's try the reference to our player okay so back in the testing code we can now go into big player and we set the own level system and we pass in the same organ system okay so now both the level window and the player are receiving a reference to the exact same level system and now we can go back into the player code and now in here we're going to do very much the same thing we did on the unlevel window so we go into the level system and we subscribe except on the player the only thing we care about is when level changes we don't really care when the experience changes so we just subscribe to the on level changed event so when the level system changes the level let's play a nice animation in Effects so in here play the victory animation let's also spawn a particle effect and let's also make him flash okay so everything should be working the player is listening to the unlevel changed event when that event is fired by the in level system we captured that event we come in here and then we play the animation spawn the particle effect and make the character flash the implementation of these functions doesn't really matter all that matters is that we can see how we can easily do things when the level changes so in here for example this one is just playing a vector animation this one is just in Senshi ating a effect and the flash just changes the ten color on the sprite so as you can see extremely simple to apply a level system and do something with it so let's test okay here we are there's the player just sitting around currently at level one now let's add some experience and when I reach the end yep there you go as you can see he captured the event when the level system changed level any play the animation the particle system and everything and the window again still updates so let's add some more and yep there we go every time he goes he plays the animation the particles and everything ok so we have the alarm system working along with the window and the player now here on the player object I also have a very simple health bar so this is just to demonstrate how we can change stats on the level up so here I have a function which simply sets the size of the health bar so here on level changes we can simply do a set health bar size and then we get the size based on the level system level so we go to the level system we get the current level number and then let's say we add the bar by 10% for every level so our health bar size if don't level is Colonel level zero then don't just return one so the standard health bar size if we get up to five then this won't be 0.5 F so we don't have 1.5 and if it gets 1/10 won't be two and so on so again just very simple code to see how you can change things change some various stats on your player based on the unlevel number so let's see if the health bar doesn't need increase okay here we are let's go and let's see the health bar sighs when gets up if they're gonna increase a tiny bit now increase a bit more and a bit more and a bit more and a bit more and yep there it is all right so as you can see it's very simple to take this and apply some actual stats onto the player okay so everything is with me awesome however we have one small issue which is the way that we set up our code we can only go up one level at a time so in here if I go from that and go up yup he goes to level two perfectly fine and if I click on 500 he should go up five levels but let's see what happens and if there it is he did not go up five levels he just went up one level and the bar is double only film so let's see why that happens why we can only go up one level at a time here we are on the on level system and here is the code for the add experience and the error is right here so we add our amount of experience whatever that is and then we simply do an if that experience is bigger than the one if so we increase the level and we reduce the experience by the one to the next level however after decreasing it there's a chance that this experience might still be above the necessary to the next level so that means we need to keep running this code until this is normal true so inside of this pinyon if let's switch it into 81 so while the experience is more than the one needed to reach the next level we're going to keep increasing so let's see here we are back at level 1 and now if I had 500 let's see if we go up five levels and if there you go indeed one two from level one to level six and the bar is completely empty and everything still works for going up just one level okay great so that problem is sorted but now we have another potential issue the issue is the fact that oh this is happening instantly so if I just press the enlarge XP button and just like that everything instantly went up into level we didn't see the bar fill up with in see the numbers change so this wouldn't look a lot better if we could actually see the progression instead of everything just changing instantly so now the question becomes how can we actually do that now we could add some animation logic directly into our level system so in here instead of adding immediately we would add slowly over time however doing it that way would be screwing up with a logic of this class this class is meant to home the current state so when I add some experience I do want it to be added instantly so the approach of hard-coding the animations straight onto the unlevel system isn't exactly the best approach next we could do the animation on the eleven window that would be better however it would only work on this eleven window meaning if we also wanted to animate the effect on the employer we would need to copy pasted that code so in this case our best approach is to have a separate class dedicated just to that animation so essentially we're going to create a wrapper for our level system that way the in level system won't still work instantly as intended but this points will interact with the animated commands instead of directly with our local system okay so if that sounds confusing don't worry let's go through it step-by-step so first back in the editor and let's create our script so a new c-sharp script this will be our level system animated now here first let's make this a simple class so no mana behavior okay now the first thing we're going to need is a reference to our eleven system so just like we did we can make this class easy to use by adding the eleven system on the constructor so we make a public level system animated and here we're going to receive the unlevel system and we just have that directly okay now when we set it let's subscribe to the experience changed event and also to the level system dot on level change now when either of these happen we're going to enable a animation so in here let's define a boolean for whether our animation is active or not so a private ball is animating in order to run our animation let's create the update function and we're making this class nice and simple without the motor behavior so we need to trigger this function somehow but let's leave that for later so in the update the first thing we do is check if is animating if so we do something if we are not animating then we do nothing that way we don't waste performance by running the code when there's nothing to animate so if we are animating then we start animating towards the values in the unlevel system so that means we need to keep pretty much the same values as for eleven systems so let's go into the eleven system and here let's copy these vowels don't let them the experience and the experience of the next eleven so in reset the level system let's update these values so the level is pretty simple we already have the level system that get a little number then we need a function to return the experience the next level and also our experience and let's make those so a public int to get experience and we're also going to have a public and get experience to next level okay we have this let's go back in here and set those now we can go to our update function and animates our crude valleys towards the ones that are on the unlevel system so first we test if the current level is under the level system gate level and that means we need to go up one level in order to match the level on the level system so that means we need to add the experience so let's make a private void add experience now in here we're going to add experience very much like on a local system except we're only going to add one by one so here we increase the experience then we check if the experience is bigger than needed to reach the next level if so we simply increase the in level and now in here if the current level is lower than the target level then we add our experience so essentially for every update we're only going to add one experience then we have an else so the local level equals the target level if we are at the same as a target level then we need to test if we are under the target experience so if the current local experience is under the eleven system dot get experience if it is under then we keep adding and essentially when we have the exact same level system and the exact same experience and then we stop animating so we do an else and is animating default so as you can see we still have our level system which has a function to add a certain amount of experience and adds it instantly and then we have our special animated class which takes our target level and target experience and animates our valleys towards them now we need this set is animating to true so we're going to do that when the experience or the unlevel changes okay and now in order to be able to test let's go here into our constructor we need to find a way to trigger our update function and for that I have a very useful class on the code Mach utilities and that is the function updater this does exactly what we need right now which is it triggers an action on every single update so we pass in the update function so just like that we have our update being count on every update the benefit of doing this way without implementing one behavior is we don't need to attach this to any game object we just run this code and everything won't work so that's pretty much it for our animated class now to test if it's working let's do some logs to say the current XP and level so let's go down here on our update and let's do a debug log and we're going to print the current level and then the current experience and now we go into our testing class and here we are creating a novel system passing it to the 11 window and to the player and then let's also create an 11 system and Maydan we're going to create it and pass in our model system ok that should do it and just one small thing we forgot to add it's in here when we add our experience we increase the level and then we need to reset our experience otherwise that one won't always be increasing so in this case since we're adding one by one we can simply set it to zero okay so let's test ok so here we are and here's the console as you can see it's constantly displaying our messages currently at level zero experience zero there's the player in the window now I add 50 and let's see that number increased slowly add 50 and there you can see it increased slowly did not go instantly into 50 now if I had 500 and there you go increasing level in another level another level and another and there you reach 50 okay so our animating logic is working great now that we have this working let's apply the animated logic to our window so when you press this we can actually see the bars increase here on the 11:00 window the way we're going to do that is actually quite simple all we're going to do is replace our references to the level system with the in level system animated so let's make a private level system and Maidan and now the buttons are the only thing that won't still be interacting with the default level system everything else let's see all of these references here we're not going to receive an 11 system but rather level system animated passing and Maidan okay so we have replaced all the references from the 11 system into the animated now we have all these errors so we need to implement these functions and these events the same way we did on the unlevel system so let's do that we can for the most part copy most of this and that's pretty much it so this class has pretty much the exact same functionality as the unlevel system we have the same events which are triggered in the same way and the same functions which return these local values instead of the ones directly from the on level system so here in the level window as you can see everything should be working exactly as intended now we just need to go into our testing code and here we don't set it with the basic level system however we still need to pass in the level system so the buttons work so let's make two functions first we pass in the 11 system and then the 11 system and made it so let's make the set level system function here on the 11 window we do a set level system and just like that ok so now this class has the own level system so we can still modify the buttons and then we have the 11 system and made it in order to display our visuals ok so let's test ok here we are the scene is still running exactly as previously and there are no errors and now when I press the 50 and let's see if the bar increases slowly instead of instantly appearing on the 50 and I click any of there you go it increased slowly click again anyone comes up goes to level 2 and as you can see this one is still interacting with the original level system so as soon as I press that one goes up slowly and that one is instant and yep there it is ok so everything is working great however one potential issue we have with our animations is that when we click here there you go the animation goes at that particular speed right now that speed is tied to the update which means that in our stats depending on how fast our game is running the animation will be slower or faster obviously we don't want that to happen otherwise if the game were running at 10 frames per second and this animation would be extremely slow so let's make the animation code frame rate independent for them let's go here into our level system animator class and let's define a timer variable so here a private float for the update timer then we also need a maximum for a private boat updates timer max now on the constructor what's going here set the update timer max 2.0 60 mm so essentially this one updates 60 times per second and now on the update if we are animating let's increase the update timer by time.deltatime and then we're only going to run this code if the update timer is bigger then the update timer max if it is then first thing we do is reset the update timer so they timer - equals t max and then we run our update code and now let's just copy this code into a separate function to make this easier to read so a prime Droid and in here we just call this function so just like that our code should be updating 60 times per second now the only thing missing here should be a while instead of an if just in case the game is running very slowly and it will require more than one update per frame so and here we do eight well okay so let's test so here we are let's add 500 XP and yep there we go it is increasing just like that okay now just to make sure this is all working correctly let's artificially slow down the frame rate so for now we simply go up here and set the application that target framerate let's test the game out at 10 frames per second so here we are as you can see the player is very janky running at 10 frames per second and on the stats it is at 10 frames and I had 500 and there here it is increasing at roughly the same speed so our animation is now successfully frame rate independent ok so now let's apply this same code to our player so here on the panel let's do the same things that are receiving a little system we interact with a level system animated and we have the same event so everything should work exactly as intended and just on the testing we pass in the level system animator okay that should do it let's see okay here we are now if I had 15 that one goes up okay and the player doesn't move since he only activates on the 11 lip and now if I had 500 and if there you go on level 2 and now level 3 and level 4 and so on and as you can see the bar increases and he increases it as well okay so we have our level system and the alarm system animated so the logic works great and it also looks great now let's add a couple more features to the underlying level system first let's make the amount of experience very per level until right now we always have the same a hundred XP per level now in most games the experience to the next level always increases so let's modify to have that let's start off by making a function to get the maximum amount for a certain level so we can pretty much use this same one the get experience the next level except in here we're going to receive the level so if we call this get experience the next level and we've passed in a zero then we want to know the amount of experience necessary to go from zero to one if we pass in 20 then it's going to be the experience from 20 21 and so on so in order to calculate that we have two options one if we want the game to have infinite levels we could do a certain calculation so in here for example we would simply return the level multiplied by 10 so essentially on level one it would take ten experience to the level two then from two to three to take 20 and so on and so on so this is great if we want automatic infinite levels however let's say we want a fixed number of levels if it is fixed that means we can define a certain level XP manual so for that and let's go all the way up here and we're going to define an array which won't contain the XP need this per level so let's make a private static read-only this won't be an int array and it will be the experience per level we're defining it as static read-only need to make sure that we can accentuate the array in here and never touch it again so now here all we need to do is input certain amounts so when index 0 we're going to have the experience needed to go from level zero to level 1 so let's put it at a hundred just like we were doing and then let's fill these up to all our levels ok so here I have film ten levels total so now let's go down here into our function to get the experience and here instead of calculating all we need to do is return the value in that array for that level indexed so we simply return the experience from level on index level now let's make our code safe from errors by first checking the array size so if the level is under the experience for eleventh length so in other words if it is a valid value then we simply return that one and if not then let's just return a random zone so don't let's say just a hundred however the code should never get to here you can also make a debug log error to make sure we get notified if we do get here ok so that's it now let's make a function to return if this is the max level so we make a public ball is max level and we simply return if this level equals the experience from level dot length minus one and now on the add experience first we test if we are already on the max level and we're only going to run this if we are not on the max level and down here we can also make a secondary function call that also has that public ball is max level with no parameters and we simply return D is max level and passing the current level okay so if we are not max level then we keep adding experience and here we're no longer going to have this variable so we can remove it and look at the errors and instead of that we get the experience to next level of the current level here we reduce it by that amount before we increase the level and here we're going to same thing okay we have no errors good and on the experiencer moines if we are on the max level let's return one so we have a foam bar on the max level and if not then we calculated and here we only run this code if the experience is enough and we are not in max level okay so the logic should be working correctly for a total number of levels if we want to add the number we just add more into this array so this is the experience from level 0 to level 1 and this one is gonna be the experience from level 9th 1110 now let's go into the animated class and in here as you can see we have an error again that is because we no longer have just one experience of the next level so let's do the same thing at rid of this variable down here on the errors we're going to do the same thing we go to the level system and we ask get the experience to the next level and we pass in this local level here also if one system that is max level as in the current level if so we return 1f if not we calculated okay so that should do it now let's test and see if the first level is the easiest one to move up and if the maximum is at 10 okay so here we are and we are currently on level 1 which as you remember has a total of 100 so if I add 50 it should be half the bar so let's go and if there we go it goes straight to half a bar okay now at 50 again should go up to level 2 okay exactly now if I add 50 level 2 has a bit more than 100 so 50 should be slightly less than half the bar let's add and yep there you go that is slightly less that again and it's not enough to reach the end so we correctly have more experience needed to go from level 2 to 3 then we do from 1 to 2 now let's add 500 see where that takes us and there you go it's increasing and still increasing we are four and level five and about in there on level six yep exactly now let's keep adding some more here we are at level nine let's see what happens when we reach the end and if there it is we are at level ten and it is no longer increasing so we have successfully reached our maximum now let's add our final feature so we're going to walk into how we could add a level requirement to a certain item here in the project files I have some sprites for various helmets and no helmet so let's create some buttons with these icons so let's go back into the canvas here make an empty game object this will be the equipment window and here I'm going to make some simple buttons okay so here are the three simple buttons this one is to remove the helmet this one adds this helmet and this one this one so let's make a script to control this window so we need to see sharp script this won't be our a quick window and we dragged the script on to the game object now here let's make a private void away to grab the reference to the buttons and on the click function we want to change the player equipment now on the planner class I already have a function to set the equipment here it is so let's call that function and for that we need a reference so again a serie light steel for the private player player let's drag the player reference okay so on this one we call the player dot set equip let's put it to using none and the others so that's it for the quick window now here on the equip function this function is simply just modifying the player sprite if you want to learn how to modify sprites you can check out the link in the description for the video covering how to make module or sprite chains in here on we're testing is how we can set an Eden level to equipment item so we can place the limiting code either in here on in the equip window let's try doing it on the window so for that we need the reference to the unlevel system and you need to pass it on the testing so in here same thing on testing we'd write the reference okay and on the equip window before we actually set it to equip for equipping nothing we don't have any analytical requirements okay but for these two we do so in here we're going to ask if the in level system that get a level number let's say this one is only if above level four so if above level four then we equip that and for this one so this one is above 104 which is actually the visual in level five and this one essentially at level 10 and on this one we can equip at any time so let's try to equip so here we are at level one if I try to equip these nope it doesn't work so let's level up since we need to go up to level five to equip this one so increase by a bit okay here we are at one five now if I click on this one if there you go now I can indeed equip this one and I can equip this one since this doesn't have a level requirement however this one still doesn't work we need to go up to level 10 in order to that one here we are at level 10 and now let's see if I can equip this one and if there you go I can equip the last helmet so I can now equip any of them since I have total max level all right awesome so as you can see it is very simple to have level gating okay now let's make this look home by adding an element we created previously so here I have the total warning and the tooltip item stats these were created in a previous series so check the links in the description so here if we cannot equip might show a warning so use the tongue tip warning so we have warning if we cannot currently equip and let's also add the tongue tip I have stats okay so that should do it we are adding the item stats window and also the warning so let's see this in game okay here we are and if I pass the mouse over if there you go no helmet level one and this is the basic helmet at level five and this one at level ten and if I try to equip this one if there you go there's a warning saying level required ten and this one I also can't because I need level five so now I can live them up and now at level five yep I can indeed equip this helmet and an equipment and this one I still can't again check out the photon tip series to see how these two elements were created so here we have our very nice game scene we have the UI in here showing our current level and the current XP amount we have these buttons to add our experience the experienc bar is nicely animated even when we go past multiple levels at once there is the player also connected to the same level system so when this one increases it goes past level he plays the animation changes the health bar and plays a nice particle effect and finally we have some buttons which are gated based on the levels and the my was to modify our player as always you can download the project files in utilities from in Tacoma com if you liked the video subscribe to the channel for more unity tutorials post any questions you have in the comments and I'll do my best to answer them alright see you next time [Music]
Info
Channel: Code Monkey
Views: 66,779
Rating: undefined out of 5
Keywords: level system unity, unity level system, unity rpg, unity leveling system tutorial, unity leveling system, unity level, unity rpg system, unity rpg tutorial 2d, unity rpg game tutorial, unity rpg tutorial, unity rpg 2d, unity level unlock, code monkey, brackeys, unity tutorial, unity game tutorial, unity tutorial for beginners, unity 2d tutorial, unity 3d, unity 3d tutorials, unity tutorial 2d, unity2d, unity3d, unity
Id: kKCLMvsgAR0
Channel Id: undefined
Length: 45min 33sec (2733 seconds)
Published: Sun Apr 21 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.