Unity 2D Platformer for Complete Beginners - #3 WALL JUMPING

  Рет қаралды 194,325

Pandemonium

Pandemonium

Күн бұрын

Пікірлер: 535
@PandemoniumGameDev
@PandemoniumGameDev 3 жыл бұрын
Just launched episode 4: kzbin.info/www/bejne/hobTdGdqhptnsLs FAQ: 1. I don't recommend skipping this episode, there's some code here that we are going to use later on. If you don't want wall climbing just don't mark any objects with the Wall layer.
@kastordark___
@kastordark___ 3 жыл бұрын
4:54 i am getting error here that Assets\scripts\PlayerMovement.cs(35,38):error CS1503: Argument 2: cannot convert from 'method group' to 'bool' plz tell me how to solve plz plz plz @Pandemonium Games sir plz plz plz
@TechRebornFix
@TechRebornFix 2 жыл бұрын
@@kastordark___ same problem :( here is my code: using UnityEngine; public class PlayerMovement : MonoBehaviour { [SerializeField] private float speed; [SerializeField] private LayerMask groundLayer; private Rigidbody2D body; private Animator anim; private BoxCollider2D boxCollider; private void Awake() { //Grab refrences for rigidbody and animator from object body = GetComponent(); anim = GetComponent(); boxCollider = GetComponent (); } private void Update() { float horizontalinput = Input.GetAxis("Horizontal"); body.velocity = new Vector2(Input.GetAxis("Horizontal") * speed, body.velocity.y); //Flips Player When Moving Left Or Right if (horizontalinput > 0.01f) transform.localScale = Vector3.one; else if (horizontalinput < 0.01f) transform.localScale = new Vector3(-1, 1, 1); if (Input.GetKey(KeyCode.Space) && isGrounded()) body.velocity = new Vector2(body.velocity.x, speed); //Set animator parameters anim.SetBool("run", horizontalinput != 0); anim.SetBool("grounded", isGrounded); } private void Jump() { body.velocity = new Vector2(body.velocity.x, speed); grounded = false; } private void onCollisionEnter2D(Collision2D collision) { } private bool isGrounded() { RayCastHit2D raycastHit = Physics2D.Boxcast(boxCollider.bounds.center, boxCollider.bounds.size, 0, Vector2.down, 0.1f, groundlayer); return false; }
@JoelAguilarCerna
@JoelAguilarCerna 2 жыл бұрын
Thanks a lot man! I'm getting an unexpected behavior, could you please help me?
@HyperGaming-uz1eo
@HyperGaming-uz1eo 2 жыл бұрын
@@TechRebornFix have you found a fix yet?
@Hamza.990
@Hamza.990 2 жыл бұрын
someone help it saysThe name 'boxCollider' does not exist in the current context
@benchew2382
@benchew2382 2 жыл бұрын
One of the better tutorials on KZbin! While other youtubers just type code and expect you to already understand what it does, Pandemonium actually explains in detail each and every line of code!
@astronautboi8431
@astronautboi8431 2 жыл бұрын
I swear this is literally the only thing i've needed so far, i've tried tutorials in the past, however i found they never worked, or were very unoptimized. This tutorial is god tier.
@thenacho6354
@thenacho6354 3 жыл бұрын
even though I don't plan on adding wall jumping to my game, this is still, by far the best player movement tutorial I've seen!
@hellsgate700
@hellsgate700 2 жыл бұрын
If your player is only moving up the wall instead of jumping off of it, remove this line in your update function: body.velocity = new Vector2(horizontalInput * speed, body.velocity.y); At 0:10 it's line 19 in the video
@aapin3348
@aapin3348 Жыл бұрын
Bro I wish I saw this before I removed my wallJumpCooldown. I thought that was the issue so now wall jumping works when you press space on a wall but there is no cooldown lol
@tommyholmberg8961
@tommyholmberg8961 8 ай бұрын
well, hats off and thank you!
@arunadisesh1715
@arunadisesh1715 8 ай бұрын
Thank you this fixed it for me.
@mapkocc
@mapkocc 4 ай бұрын
I also had this problem but why does this work? How is unity still using the speed value to determine the character's speed even if the line isn't there anymore and speed is not used anymore? I'm very confused.
@hellsgate700
@hellsgate700 4 ай бұрын
@@mapkocc At 9:12 he just moves that line of code under the wallJumpCooldown conditional, so speed is still being used. I forgot why I kept that line of code in the same spot as well instead of moving it like he did, but I assume its because I was following along while listening at that moment and didn't see him move that line of code when he did.
@Geckotr
@Geckotr 3 жыл бұрын
how the hell you have so few subscribers? This is the best tutorial about 2d platformers i have seen so far and i i have checked a lot of them including unity's official courses, Brackeys, Code Monkey etc.
@PandemoniumGameDev
@PandemoniumGameDev 3 жыл бұрын
Thank you! I don't have a lot of videos yet, this is the first series I have for now, but the channel is growing pretty quickly lately and I think it will grow even quicker once I start posting more good stuff.
@Geckotr
@Geckotr 3 жыл бұрын
@@PandemoniumGameDev i guess it's a new channel that's why. Keep more tutorials comin, i'm sure you'll have an explosion of subscribers!
@tonyaldrich1564
@tonyaldrich1564 Жыл бұрын
I'm really glad I kept a backup of my code before starting this. I don't want wall jumping, but figured "I'll follow this for the new jump method, and just get rid of the wall jumping later". The only thing I managed to do was make my jumping worse and break the animation. I even downloaded his code file and copied it into my game. Same thing. I don't know how I messed it up. I know I did a few things differently cause I knew easier ways from other tutorials (like just using "public" instead of "serialized field") The only thing I actually need is a way to stop sticking to walls (I was sticking to walls by just moving sideways and colliding with them in midair) before doing this tutorial.
@naejimba
@naejimba 2 жыл бұрын
This is a great tutorial! I made it all the way so far, and I'm even at the point where I'm changing some things to see what I like (a good way to tell if you understand).
@Davieu101
@Davieu101 3 жыл бұрын
Great stuff man. Thank you for delivering great content. Really to the point and your explanations are super helpful.
@DarkLynxDEV
@DarkLynxDEV 2 жыл бұрын
For anyone that doesn't want to have to change the gravity scale in both the code and the editor when the player leaves the wall. - Create a float variable called initialGravity (or anything you like) - In the awake, set initialGravity = body.gravityScale - Set the gravity in the else statement, when you de-attach from the wall, to the variable initialGravity :)
@soularpowergaming
@soularpowergaming 3 жыл бұрын
Great video. I had an issue where my player was flying and posted a comment here, but editing it to say that I somehow missed that the isGrounded should get the `collider` property and check for null, not the raycastHit itself.
@jjkilpi
@jjkilpi 2 жыл бұрын
Now I found Tube's best tutorial. In the first episode, the texts that really came in handy. There has been insane work in them. Pandemoniun has given his all to the free side. All the other professionals at Tube have deliberately made mistakes that are capable of selling a $ 1,000 package, that is a robbery. I have been trying for seven months to get one tutorial to the finish. I've always been stuck. I got stuck in this tutorial 3 because I got some problem with [serializ ...]. I copied the code that Pandemonium had shared with us and got to continue again. This will be the first tutorial I will complete and I will give the Pandemonium an award. Thank you for a very good job. I wish there were more like you.
@dxrku7290
@dxrku7290 2 жыл бұрын
how do I not stick to the wall
@TheBighi
@TheBighi 2 жыл бұрын
THANK GOD U PUT THE 3 EPISODE FULL THING IN THE DESC CUZ MY UNITY CRASHED AND ALL OF MY WORK GOT LOST
@PandemoniumGameDev
@PandemoniumGameDev 2 жыл бұрын
Pleasure, all episodes going forward will have a GitHub project available for download.
@hisyamhasbi8257
@hisyamhasbi8257 2 жыл бұрын
Keep doing what ur doing my dude! the grind will pay off
@kiflisajtos7552
@kiflisajtos7552 3 жыл бұрын
I really enjoy the series and its very helpful. I can't wait for the 4th episode.
@PandemoniumGameDev
@PandemoniumGameDev 3 жыл бұрын
it's out now
@dany-c8e
@dany-c8e 3 жыл бұрын
the quality of these vids is amazing! u put so much effort in this tutorial for FREEE! thx bro
@SpArkyTheDerg
@SpArkyTheDerg 4 ай бұрын
4:56 the groundlayer thing doesnt show up in the script on the right. Also even though our code is exactly the same, letter for letter, the player gets HUGE, is always in the jumping animation, and cant jump or wall jump at all.
@utorrentpt
@utorrentpt 22 күн бұрын
Hi, i had that too, but it was missing an ";" in the last line "return false"
@ratala321
@ratala321 2 жыл бұрын
I was also wondering why the wall jump isn't working if the statement : body.velocity = new Vector2 (horizontalInput*speed, body.velocity.y); is after the if() for jumping [still inside the big if (wallJumpCoolDown > 0.2f) ] The changes happen around 11:20. Thank you again for the tutorial, I'm glad to be able to learn with you !!
@jaredbush1866
@jaredbush1866 2 жыл бұрын
Just found your Unity 2D videos. Super informative series, thank you!
@freshballs1458
@freshballs1458 2 жыл бұрын
after completing at 6:07 my charakter wont jump, why is that so?
@chartom1700
@chartom1700 2 жыл бұрын
this guy needs more views and his channel is very underrated :)
@heypikachu276
@heypikachu276 Жыл бұрын
Solution for people who don't want wall jumping: For anybody having issues with buggy wall jumping: The character's hitbox sometimes gets confused I think and you can wall jump just by touching a surface. The easiest way to fix this is to change the "isGrounded" function from checking using raycasting to checking using Y velocity. Inside the isGrounded function, replace all the code with this: if (body.velocity.y == 0) return true; else return false; That allows the player to ONLY jump when they aren't falling.
@mapkocc
@mapkocc 4 ай бұрын
Not sure this is the best solution, but a more optimized code would be to just return body.velocity.y == 0;
@heypikachu276
@heypikachu276 4 ай бұрын
@@mapkocc fair enough - I switched it to a system that uses a raycast to the left and to the right. When a player jumps, it checks which direction they're facing and allows them to jump off the edge of any platform while still using IsGrounded()
@yugbhagat6531
@yugbhagat6531 3 жыл бұрын
Awesome!!!..since this is a series ..it would be cool if you give recap of the previous episode (just a suggestion) :)
@PandemoniumGameDev
@PandemoniumGameDev 3 жыл бұрын
Great idea actually, thanks.
@yugbhagat6531
@yugbhagat6531 3 жыл бұрын
@@PandemoniumGameDev 😊
@StigDesign
@StigDesign 3 жыл бұрын
Really good Sketch :D :D
@canwegetto1ksubswithnovide421
@canwegetto1ksubswithnovide421 Жыл бұрын
Thanks For The Tutorial I Can Learn Unity So Easley With These Tutorials Keep It Up!
@hellsgate700
@hellsgate700 2 жыл бұрын
If your player's jump animation stops working, I fixed mine by going into the animator's transition from Jump to Idle and enabling has exit time. Also set the transition duration to 0.
@mmstudiogames6270
@mmstudiogames6270 2 жыл бұрын
👌
@ashwinwilly9746
@ashwinwilly9746 2 жыл бұрын
Great tutorial really helped me! Keep up the good work
@Hidepls
@Hidepls 2 жыл бұрын
Hi, do you know why my character lost his jumping animation when I did the part with the sticking to walls, I am so confused, the issue is in code I guess, here s the code: using UnityEngine; public class PlayerMovement : MonoBehaviour { [SerializeField] private float speed; [SerializeField] private LayerMask groundLayer; [SerializeField] private LayerMask wallLayer; private Rigidbody2D body; private Animator anim; private BoxCollider2D boxCollider; private float wallJumpCooldown; private void Awake() { // referencie pre rigidbody a animator aka animaciu body = GetComponent(); anim = GetComponent(); boxCollider = GetComponent(); } private void Update() { float horizontalInput = Input.GetAxis("Horizontal"); body.velocity = new Vector2(horizontalInput * speed, body.velocity.y); // otoci nam to hraca if (horizontalInput > 0.01f) transform.localScale = new Vector3(2, 2, 1); else if (horizontalInput < -0.01f) transform.localScale = new Vector3(-2, 2, 1); if (Input.GetKey(KeyCode.Space)) body.velocity = new Vector2(body.velocity.x, speed); // jump shit ... if (Input.GetKey(KeyCode.Space) && isGrounded()) // ... Jump(); //set animator parametre anim.SetBool("run", horizontalInput != 0); anim.SetBool("grounded", isGrounded()); // wall jump logic false true if(wallJumpCooldown < 0.2f) { if (Input.GetKey(KeyCode.Space) && isGrounded()) Jump(); body.velocity = new Vector2(horizontalInput * speed, body.velocity.y); if(onwall() && !isGrounded()) { body.gravityScale = 0; body.velocity = Vector2.zero; } else body.gravityScale = 3; } else wallJumpCooldown += Time.deltaTime; } private void Jump() { body.velocity = new Vector2(body.velocity.x, speed); anim.SetTrigger("jump"); //grounded = false; } private void OnCollisionEnter2D(Collision2D collision) { //if(collision.gameObject.tag == "Ground") // grounded = true; } private bool isGrounded() { // ako keby vystreli lazer k objektu a zisti jeho hodnoty true fasle ked narazi na colider raycats RaycastHit2D raycastHit = Physics2D.BoxCast(boxCollider.bounds.center, boxCollider.bounds.size, 0, Vector2.down, 0.1f, groundLayer); return raycastHit.collider != null; } private bool onwall() { RaycastHit2D raycastHit = Physics2D.BoxCast(boxCollider.bounds.center, boxCollider.bounds.size, 0, new Vector2(transform.localScale.x, 0), 0.1f, wallLayer); return raycastHit.collider != null; } } thanks for every tips
@LRXM4N
@LRXM4N Жыл бұрын
Hello, instead of wall jumping, my character climbs repeatedly like a sniper rifle. What should I do ? Can you help me if I send a video from Discord?
@Royal_IndianGuy
@Royal_IndianGuy Жыл бұрын
idk what happened, but all was working until i added something that he said about the wall jump cooldown, but after i wrote the code, and when I checked the result, the player was only doing its run animations, but wasn't moving anywhere, before that one piece of code tho, everything was working fine... Can somebody pls help me with my problem?
@denverparsons7330
@denverparsons7330 3 ай бұрын
I have this issue? Any solution
@helios1052
@helios1052 3 жыл бұрын
for some reason my code isn't changing color on line 62 else if (onWall() && !isGrounded()) and I get a compilation error, why did this happen?
@gameprogramming6550
@gameprogramming6550 3 жыл бұрын
if it can help you: using UnityEngine; public class PlayerMovement : MonoBehaviour { [SerializeField] private float speed; [SerializeField] private LayerMask groundLayer; [SerializeField] private LayerMask WallLayer; [SerializeField] private float speedump; private Rigidbody2D body; private Animator anim; private BoxCollider2D boxCollider; private float walljumpcooldown; private float horizontalinput; private void Awake() { body = GetComponent(); anim = GetComponent(); boxCollider = GetComponent(); } private void Update() { horizontalinput = Input.GetAxis("Horizontal"); if (horizontalinput > 0.01f) transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); else if (horizontalinput < -0.01f) transform.localScale = new Vector3(-0.5f, 0.5f, 0.5f); anim.SetBool("run", horizontalinput != 0); anim.SetBool("grounded" ,isGrounded()); if (walljumpcooldown < 0.2f) { body.velocity = new Vector2(horizontalinput * speed, body.velocity.y); if (OnWall() && isGrounded()) { body.gravityScale = 0; body.velocity = Vector2.zero; } else body.gravityScale = 5; if (Input.GetKey(KeyCode.Space)) Jump(); } else walljumpcooldown += Time.deltaTime; } void Jump() { if (isGrounded()) { body.velocity = new Vector2(body.velocity.x, speedump); anim.SetTrigger("jump"); } else if (OnWall() && !isGrounded()) { if(horizontalinput == 0) { body.velocity = new Vector2(-Mathf.Sign(transform.localScale.x) * 10, 0); transform.localScale = new Vector3(-Mathf.Sign(transform.localScale.x), transform.localScale.y, transform.localScale.z); } else body.velocity = new Vector2(-Mathf.Sign(transform.localScale.x) * 3, 6); walljumpcooldown = 0; } } private void OnCollisionEnter2D(Collision2D col) { } private bool isGrounded() { RaycastHit2D raycastHit = Physics2D.BoxCast(boxCollider.bounds.center, boxCollider.bounds.size,0,Vector2.down,0.1f,groundLayer); return raycastHit.collider != null; } private bool OnWall() { RaycastHit2D raycastHit = Physics2D.BoxCast(boxCollider.bounds.center, boxCollider.bounds.size, 0, new Vector2(transform.localScale.x,0 ), 0.1f, WallLayer); return raycastHit.collider != null; } }
@ratala321
@ratala321 2 жыл бұрын
Hello! I don't understand why the player can't moove if the statement : body.velocity = new Vector2 (horizontalInput*speed, body.velocity.y); isn't in the statement : if (walljumpCoolDown > 0.2f). The code was typed at 09:15. Thank you for the great tutorial!
@thatonerealguy69
@thatonerealguy69 2 жыл бұрын
Amazing outro, very Creative!!!
@mxtrem3
@mxtrem3 2 жыл бұрын
"So let's dive right in" This is how you know this guy is legit
@majinjamie971
@majinjamie971 2 жыл бұрын
Just finished this one, such well made videos!
@AA-co8zd
@AA-co8zd 7 ай бұрын
ı really got a insight about C# codes with this tutorial well explained thank u
@moomonkeyman1483
@moomonkeyman1483 3 жыл бұрын
When wall jumping without input from the horizontal axis, the character's x scale goes to 1. How do I change it so the size changes to my character's size instead of 1?
@omerocampos969
@omerocampos969 2 жыл бұрын
You've probably figured it out by now, but the same thing happened to me. Its because that Mathf.Sign function returns a 1 so you can just multiply it by the x scale of your character
@omerocampos969
@omerocampos969 2 жыл бұрын
transform.localScale = new Vector3(-Mathf.Sign(transform.localScale.x) * (your character's x-scale value), transform.localScale.y, transform.localScale.z);
@jjrodrod6805
@jjrodrod6805 2 жыл бұрын
@@omerocampos969 Thank you so much, this saved me!
@omerocampos969
@omerocampos969 2 жыл бұрын
@@jjrodrod6805 Glad I could help! Good luck on your project 😤👌
@jezozwierz7608
@jezozwierz7608 3 жыл бұрын
This is the best platformer tutorial for a beginner by far!
@PandemoniumGameDev
@PandemoniumGameDev 3 жыл бұрын
Thanks, means a lot to hear that!
@shaimaaateyah7186
@shaimaaateyah7186 2 жыл бұрын
One problem, when I jump on a wall, then go above the sky limit, it flips the character over :)
@nicolalorenzi2835
@nicolalorenzi2835 2 жыл бұрын
freeze tha z axis on the rigid body component
@rajatmusale1948
@rajatmusale1948 2 жыл бұрын
Hey, follow-up query: even at the end of the tutorial my character stays stuck to the wall unless I specifically hit SPACE or use the arrow keys/A/D keys. It doesn't fall down on its own when on the wall. Do you think it could be an animation issue? I even copied your code to a new file and tested it out to see if it was a coding error on my side.
@PandemoniumGameDev
@PandemoniumGameDev 2 жыл бұрын
That's how it's supposed to work. Were you expecting it to slide down?
@rajatmusale1948
@rajatmusale1948 2 жыл бұрын
@@PandemoniumGameDev Yes, I was. I mean, we did put in gravity as a parameter to the rigidbody, so I thought it might slide down automatically once it hits the wall.
@PandemoniumGameDev
@PandemoniumGameDev 2 жыл бұрын
@@rajatmusale1948 Nope, the gravity applies to the time when you are not on the wall. For the wall scenario we wrote body.gravityScale = 0; try changing the 0 value to something else and you should get the sliding to work.
@subharanjanghoshal5597
@subharanjanghoshal5597 3 жыл бұрын
Super like once again 👍🏼👍🏼👍🏼👍🏼👍🏼 I'm loving the way you're explaining stuff sometimes with special texts, sometimes by opening the documentation page and etc. Thanks a million for your effort ❤❤❤
@rage8673
@rage8673 6 ай бұрын
idk why but i didn't need the separate else statement code in 10:05 for releasing back to the ground, my character was not levitating without it and was indeed falling to ground, yet i still added it so that it dosen't cause any random problem further in tutorial, do you think my case is normal?
@mine_boss1112
@mine_boss1112 3 жыл бұрын
i am starting my unity adventure whit this videos :D
@nightfox4013
@nightfox4013 Жыл бұрын
hippety hoppety, your code is now my property. no seriously thanks for putting out a great tutorial like this
@PandemoniumGameDev
@PandemoniumGameDev Жыл бұрын
I don't mind at all :D glad to help, make sure to check GitHub if you run into any issues
@nutsforstrongbones100
@nutsforstrongbones100 Жыл бұрын
I did everything however my character only sticks to the wall. any tips on what might be problem? i am using a different character, do you think that has to do with it? edit: after rewatching i realised i made a slight oversight, man i feel stupid right now haha
@bigsharkslippers4806
@bigsharkslippers4806 Жыл бұрын
What was the oversight I have the same bug
@fry7746
@fry7746 2 жыл бұрын
10:35 My player is sticking to the wall even when I press the right arrow which should make it stop sticking. I think that it's related to the collision detection, since I had to use a capsule collider and the collision detection isn't working perfectly. (I have to use a capsule collider since my player was sticking to the ground)
@bahajirutmspt436
@bahajirutmspt436 2 жыл бұрын
A bit late but I set the edge radius of the box colliders(on my walls, not the character) to a very small number like 0.025 and it seems to solve the issue. Dont know if adding edge radius to character solves the problem. Also for anyone who needs it. If your character start spinning while moving you can tick "lock rotation, z" option under rigidbody/constraints for the character
@cBrnnn
@cBrnnn 2 жыл бұрын
At 9:14 he cuts the line " body.velocity = new Vector2(horizontalInput * speed, body.velocity.y); " from the start of the update method to enclosed within an if statement. I had that line twice since I didn't notice it was cut and it prevents the clean push off the wall from happening when climbing. Putting this here for any future people who also get confused :)
@raswaking8172
@raswaking8172 Жыл бұрын
@@cBrnnn thank youuuu!! I had lots of problems because of that
@BloodCatters
@BloodCatters 2 жыл бұрын
There is something that I did not understand. Why are we using the raycast method instead of the box collider? They seem to do the same thing. What is the advantage of one on another? It seems that we can do the double jump without using raycast. Thanks in advance for your answers.
@halexultimatum1481
@halexultimatum1481 2 жыл бұрын
so I was busy on the tutorial. got a storm. saved and then shut off my pc. storm was done. launched unity. it told me the project was already running when nothing was open. it opened the project after saying that. all my hierarchy was gone and some things I did before shutting off was still there. I don't know what unity did
@B-128-Supreme
@B-128-Supreme 2 жыл бұрын
This was very helpful
@sovietmcducc9264
@sovietmcducc9264 3 жыл бұрын
I added platforms in my game and whenever I touch them, my player begins spinning wildly. Any fixes?
@PandemoniumGameDev
@PandemoniumGameDev 3 жыл бұрын
You need to freeze the rotation in the rigidbody component.
@kostasalexakhs2271
@kostasalexakhs2271 3 жыл бұрын
@@PandemoniumGameDev u freaking god
@Gijs9114
@Gijs9114 2 жыл бұрын
Im not sure whether this bug should be in ''my game'' at this point during this tutorial, but my character can make some sweet front- and backflips when jumping around menacingly.
@Gijs9114
@Gijs9114 2 жыл бұрын
but i seemed to have fixed it by adding Freeze rotation constraint on the Rigidbody of the player
@PandemoniumGameDev
@PandemoniumGameDev 2 жыл бұрын
@@Gijs9114 ​ Yeah that's the solution, but hey, if you like them, you can try to leave them in :D
@Gijs9114
@Gijs9114 2 жыл бұрын
​@@PandemoniumGameDev nah 2D super monkey ball ain't my jive :P
@lieful3623
@lieful3623 3 ай бұрын
@@Gijs9114 THANK YOU I didn't know how to fix lol
@cwithc4968
@cwithc4968 2 жыл бұрын
Great really well made videos, thank you for this!
@scoop9551
@scoop9551 Жыл бұрын
hey @Pandemonium, you are really doing a nice job wow ! I was wondering, do you think you will teach the new input system for unity ? the state one
@seymour69
@seymour69 2 жыл бұрын
What should I do if I want to remove wall jumping. I've tried removing parts of the script but cannot get it to work.
@ThatOneRobloxDev
@ThatOneRobloxDev 2 жыл бұрын
also you can add a wall jump and hold animation, just to make it nicer. (pretty ez ngl)
@puffnoobtv
@puffnoobtv 3 жыл бұрын
how do i make an animation play when i am attatched to the wall? it keeps getting stuck after i jump off of the wall instead of when i am on it i have a transition from run to the wall which has conditions set as run = false and wall = true i also have a transition from jump which is wall = true heres my code: using UnityEngine; public class PlayerMovement : MonoBehaviour { [SerializeField] private float speed; [SerializeField] private float jumpPower; [SerializeField] private LayerMask groundLayer; [SerializeField] private LayerMask wallLayer; private Rigidbody2D body; private Animator anim; private CapsuleCollider2D capsuleCollider; private float wallJumpCooldown; private float horizontalInput; private void Awake() { body = GetComponent(); anim = GetComponent(); capsuleCollider = GetComponent(); } private void Update() { horizontalInput = Input.GetAxis("Horizontal"); //flip when going left if (horizontalInput > 0.01f) transform.localScale = new Vector3(5, 5, 5); else if (horizontalInput < -0.01f) transform.localScale = new Vector3(-5, 5, 5); //set animator perimiters anim.SetBool("run", horizontalInput != 0); anim.SetBool("grounded", isGrounded()); if (wallJumpCooldown > 1F) { body.velocity = new Vector2(horizontalInput * speed, body.velocity.y); if (onWall() && !isGrounded()) { body.gravityScale = 8; body.velocity = Vector2.zero; } else body.gravityScale = 12; if (Input.GetKey(KeyCode.Space)) Jump(); } else wallJumpCooldown += Time.deltaTime; } private void Jump() { if (isGrounded()) { body.velocity = new Vector2(body.velocity.x, jumpPower); anim.SetTrigger("jump"); } else if (onWall() && !isGrounded()) { if (horizontalInput == 0) { body.velocity = new Vector2(-Mathf.Sign(transform.localScale.x) * 20, 30); transform.localScale = new Vector3(-Mathf.Sign(transform.localScale.x), transform.localScale.y, transform.localScale.z); anim.SetTrigger("wall"); anim.SetBool("wall", onWall()); } else body.velocity = new Vector2(-Mathf.Sign(transform.localScale.x) * 20, 30); anim.SetTrigger("wall"); anim.SetBool("wall", onWall()); wallJumpCooldown = 0; } } private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "Ground"); } private bool isGrounded() { RaycastHit2D raycastHit = Physics2D.BoxCast(capsuleCollider.bounds.center, capsuleCollider.bounds.size, 0, Vector2.down, 0.1f, groundLayer); return raycastHit.collider != null; } private bool onWall() { RaycastHit2D raycastHit = Physics2D.BoxCast(capsuleCollider.bounds.center, capsuleCollider.bounds.size, 0, new Vector2(transform.localScale.x, 0), 0.1f, wallLayer); return raycastHit.collider != null; } }
@PandemoniumGameDev
@PandemoniumGameDev 3 жыл бұрын
Not sure about this because I haven't tried it, but you can also add grounded = false as a condition since you're not on the ground when wall jumping. If it doesn't work send me a video on Discord, we'll figure it out
@botoen7883
@botoen7883 2 жыл бұрын
Hello! i made it work, you need to make a bool (i named my wall-climb) then in the code i write: anim.SetBool("wall-climb", onWall()); This makes the animation trigger, when hitting the wall. Then in the Animator tab you make a double connection between the wall climb animation and the jump animation. Then assign the transition from jump --> wall climb with: wall-climb = false, and the wall climb --> jump with: wall-climb = true you probably figured it out already, but if you didn't hope it helps
@waltersattazahn1480
@waltersattazahn1480 2 жыл бұрын
I scaled my character to x2, y2, z0. For some reason, sometimes when my character is on the wall and I jump off, he becomes more narrow and I noticed in the parameter editor the scale is at 1 for x instead of 2. I am not sure why it sometimes makes x go to 1 instead of 2 when jumping off the wall with the space bar. It never happens when i use the arrow keys or D. Here is the flip part of the code. //flip if (horizontalInput > .01f) transform.localScale = new Vector3(2, 2, 0); else if (horizontalInput < -0.01f) transform.localScale = new Vector3(-2, 2, 0);
@omerocampos969
@omerocampos969 2 жыл бұрын
It's because the Mathf.Sign function returns a 1. So in the WallJump else-if statement of Jump(), you can multiply that part by the scale of your character. if(horizontalInput == 0) { transform.localScale = new Vector3(-Mathf.Sign(transform.localScale.x) * (x-scale value, in your case it is 2), transform.localScale.y, transform.localScale.z); }
@waltersattazahn1480
@waltersattazahn1480 2 жыл бұрын
@@omerocampos969 That worked, thanks for the response!
@omerocampos969
@omerocampos969 2 жыл бұрын
@@waltersattazahn1480 glad I could help! Followed this tutorial today and had the same issue 😅
@sancturillore
@sancturillore 2 жыл бұрын
I don't understand why you moved the "_body.velocity = new Vector2(horizontalInput * _speed, _body.velocity.y);" line at 9:13 from line 24 to line 43 in the if statement for wallJumpCooldown. I also don't understand why it doesn't make an error. That line of code was meant for the speed of the movements on the horizontal axis, so why did you put it inside an if statement for jumping on walls? And why does it still affect the player movement when walking/running on the horizontal axis even though it's in that if statement? In other words, I see that it works, but I don't understand why and it thus doesn't make logical sense for me, which means that it won't help me improve unless I understand why it does what it does.
@mikehynz
@mikehynz 2 жыл бұрын
I was confused too but I *think* I figured it out. I used a print(wallJumpcooldown) to watch the wallJumpCooldown values in the console window as I played to figure out what was going on. The "wallJumpCooldown += Time.deltaTime=;" means that "wallJumpCooldown" initially equals how many seconds have passed since the game has started. This means that: "if (wallJumpCooldown > 0.2f)'" becomes TRUE 0.2 second after the game starts, and the update will now run the code *inside* the if statement, thus allowing the player to move fractions of a second after the game starts. wallJumpCooldown only resets to 0 when we hit the wall, thus putting us back outside the if statement, assigning wallJumpCooldown += Time.deltaTime" again. When .2 seconds have passed, we go back inside the if statement allowing the player to move. To see this condition in action try changing your code from "IF (wallJumpCooldown > 0.2f)" to "IF (wallJumpCooldown > 5.0f)" . Then save the code and start your game - you will notice that you will not be able to move until 5 seconds have elapsed. When you jump to the wall, you won't be able to move again for another 5 seconds.
@Philip-qq7ql
@Philip-qq7ql 2 жыл бұрын
Hi i dont know if you are still replying to comments but the tag "Grounded" doesnt appear in the Ground layer variable
@eden7891
@eden7891 2 жыл бұрын
thank you men.!!!!
@jackpelon9852
@jackpelon9852 2 жыл бұрын
Hello, @Pandemonium, I really liked your tutorials and I am very grateful for it. Could you help me to make the jump adjustable, that is, make a higher jump if I keep the spacebar button pressed and if I just hold down the spacebar button, the player jumps at a lower height. Thank you for your patience and for sharing your knowledge... see you...
@PandemoniumGameDev
@PandemoniumGameDev 2 жыл бұрын
Hey there, the next episode is scheduled for tomorrow and has exactly what you need.
@overlydedicated2794
@overlydedicated2794 2 жыл бұрын
What does the wallJumpCooldown do exactly? I'm having a hard time visualizing it. Mostly the part of the code that says "if (wallJumpCooldown > 0.2f)" and the other part that says "wallJumpCooldown += Time.deltaTime;"
@PandemoniumGameDev
@PandemoniumGameDev 2 жыл бұрын
It's a timer that prevents you to do wall jumps infinitely so we check if 0.2 seconds have passed since the last wall jump before allowing the player to do another one. If we don't use this you would be able to just fly up the wall, try replacing 0.2f with 0 and you'll see.
@hisyamhasbi8257
@hisyamhasbi8257 2 жыл бұрын
@@PandemoniumGameDev i also have a hard time understanding this one, how does the code know that the value is a cooldown? which line is for the countdown from 0.2 to 0?
@overlydedicated2794
@overlydedicated2794 2 жыл бұрын
@@PandemoniumGameDev Hi, I took a break from learning because of other things, and now I'm back. Anyways, I'm still confused about wallJumpCooldown. I see that it's been initalized in that class's field but it it not declared anywhere in the code with an explicit value. So, how is does wallJumpCooldown > 0.2f true when we don't even assign a value to wallJumpCooldown?
@PandemoniumGameDev
@PandemoniumGameDev 2 жыл бұрын
@@overlydedicated2794 wallJumpCooldown starts of at a value o 0 when you start the game. Then we increase it during every frame by using this line: wallJumpCooldown += Time.deltaTime; So basically wallJumpCooldown is a timer. Now every time you perform a wall jump wallJumpCooldown becomes 0, and we use wallJumpCooldown > 0.2f to make sure that 0.2 seconds have passed before we allow the player to perform another wall jump. Does this help?
@overlydedicated2794
@overlydedicated2794 2 жыл бұрын
@@PandemoniumGameDev @Pandemonium Ok. Now I understand. I didn't know it started with a default value of 0. Thank you for the explanation. 😁
@memosickduck9230
@memosickduck9230 2 жыл бұрын
Please tell me, what is WallJumpCooldown float used for?? I don't understand..
@PandemoniumGameDev
@PandemoniumGameDev 2 жыл бұрын
It's basically a timer that doesn't allow the player to wall jump immediately. So if you do one wall jump you need to wait 0.2 seconds before being able to do the second one. WallJumpCooldown is the timer that keeps track of how much time has passed since the last wall jump.
@memosickduck9230
@memosickduck9230 2 жыл бұрын
@@PandemoniumGameDev Thank you very much, Sir..
@galvano6045
@galvano6045 2 жыл бұрын
May i ask you did you go to university in order to learn all of these parts of Unity or its a self-taught lessons from online?
@levvisbowness2044
@levvisbowness2044 2 жыл бұрын
I was able to jump before this step but immidiately starting this tutorial I can no longer jump. Nobody else seems to have the same issue, I have assigned ground tags, checked the code is the same etc. but the jump will not work? If I set the player layer from default to grounded the player jumps but it is floaty and I can fly (like in tutorial 1). Any ideas? :(
@ramieplaysness7655
@ramieplaysness7655 2 жыл бұрын
I'm having the same problem and been trying to fix it all day -.-... I printed the "isGrounded" and it's returning as false... not sure if that's the issue. If you fix it please let me know!
@levvisbowness2044
@levvisbowness2044 2 жыл бұрын
@@ramieplaysness7655 not what u want to hear but the way i sorted it was to just redo the whole thing from scratch :( gl
@ramieplaysness7655
@ramieplaysness7655 2 жыл бұрын
I pasted the code again without any modifications (but one for the sprite scale) and it's suddenly working... I also removed a circular collision I had in the bottom part of my player and just kept the squared one... I'm not sure if that helped... but when I put it again it does not work again.
@Mee119
@Mee119 2 жыл бұрын
@@ramieplaysness7655 yea im having the same problem also from the circle collider is there a way to keep the circle collider there? i kinda need it for slopes :/
@TheCrabActivist4525
@TheCrabActivist4525 3 жыл бұрын
You are my favorite coding youtuber! Because you actually bother explaining things and you've got a fun sense of humor. Stay safe my dude.
@PandemoniumGameDev
@PandemoniumGameDev 3 жыл бұрын
Thank you! I'm not sure I'd agree about the sense of humor though :D
@TheCrabActivist4525
@TheCrabActivist4525 3 жыл бұрын
@@PandemoniumGameDev It's a little humor and the fact that you can tell that you enjoy what you're doing.
@theduck1539
@theduck1539 3 жыл бұрын
idk if you saw the comment so Im just reposting it I ran into another issue were the code for the wall jumping does work It just climbs up walls and when you go the right there barley any force here's the code I don't understand since I feel like I did everything right using UnityEngine; public class PlayerMovement : MonoBehaviour { [SerializeField] private float speed; [SerializeField] private float jumpPower; [SerializeField] private LayerMask groundLayer; [SerializeField] private LayerMask wallLayer; private Rigidbody2D body; private Animator Anim; private BoxCollider2D boxCollider; private float wallJumpCooldown; private float HorizontalInput; private void Awake() { //Grab refrences for rigid body and animator from object body = GetComponent(); Anim = GetComponent(); boxCollider = GetComponent(); } private void Update() { HorizontalInput = Input.GetAxis("Horizontal"); //Flip player when moving left or right if(HorizontalInput > 0.01f) transform.localScale = Vector3.one; else if(HorizontalInput < -0.01f) transform.localScale = new Vector3(-1, 1, 1); //Set animator parameters Anim.SetBool("Run", HorizontalInput != 0); Anim.SetBool("grounded", isGrounded()); //Wall Jump logic if(wallJumpCooldown < 0.2f) { body.velocity = new Vector2(HorizontalInput * speed, body.velocity.y); if(onWall() && !isGrounded()) { body.gravityScale = 0; body.velocity = Vector2.zero; } else body.gravityScale = 7; if (Input.GetKey(KeyCode.Space)) Jump(); } else wallJumpCooldown += Time.deltaTime; } private void Jump() { if(isGrounded()) { body.velocity = new Vector2(body.velocity.x, jumpPower); Anim.SetTrigger("jump"); } else if (onWall() && !isGrounded()) { if(HorizontalInput == 0) { body.velocity = new Vector2(-Mathf.Sign(transform.localScale.x) * 10, 0); transform.localScale = new Vector3(-Mathf.Sign(transform.localScale.x), transform.localScale.y, transform.localScale.z); } else body.velocity = new Vector2(-Mathf.Sign(transform.localScale.x) * 3, 6); wallJumpCooldown = 0; } } private void OnCollisionEnter2D(Collision2D collision) { } private bool isGrounded() { RaycastHit2D raycastHit = Physics2D.BoxCast(boxCollider.bounds.center, boxCollider.bounds.size, 0, Vector2.down, 0.1f, groundLayer); return raycastHit.collider != null; } private bool onWall() { RaycastHit2D raycastHit = Physics2D.BoxCast(boxCollider.bounds.center, boxCollider.bounds.size, 0, new Vector2(transform.localScale.x, 0), 0.1f, wallLayer); return raycastHit.collider != null; } }
@mapkocc
@mapkocc 4 ай бұрын
ayo I wonder if you'll read this, but what extensions are you using for Visual Studio? I cannot for the life of me make it show Unity-specific code snippets and autocompletes like in the video. The theme and color-coding is also way different, I'm just using a random C# one.
@PandemoniumGameDev
@PandemoniumGameDev 4 ай бұрын
Hey there, it should work by default, if that's not the case go back to the first video and read the pinned comment, there's a fix there. Good luck!
@mapkocc
@mapkocc 4 ай бұрын
@@PandemoniumGameDev thanks for the response man, I didn't see that comment. Didn't work for me, but went on a deeper rabbit hole and this video had my solution: kzbin.info/www/bejne/n5m5cn6ff8mXapI For some reason it only started working after I went to Assets > Open C# Project. God's work on the tutorials my fren, thank you
@silverrebi
@silverrebi 3 ай бұрын
​@@mapkocc i have intellisense working, and it worked for the collision extension but for some reason raycasting still doesn't come up? does it work for you?
@mapkocc
@mapkocc 3 ай бұрын
@@silverrebi yeah, everything works since I followed that video on my reply here. Specifically going into unity and selecting Assets -> Open C# project on the top bar
@silverrebi
@silverrebi 3 ай бұрын
@@mapkocc i ended up getting it to work! thanks man
@oskolotlol955
@oskolotlol955 2 жыл бұрын
underated deserving more subskriber
@demogorgmax2624
@demogorgmax2624 3 жыл бұрын
I’m co fused on the jumping with the code because in the last video you said you would tell us how to fix the infinite jump thing but I can’t find that here or in the next 3 videos
@PandemoniumGameDev
@PandemoniumGameDev 3 жыл бұрын
That's in episode 2 at 18:00, you sure you haven't missed that episode?
@SPARTAN99997
@SPARTAN99997 3 жыл бұрын
same
@PandemoniumGameDev
@PandemoniumGameDev 3 жыл бұрын
@@SPARTAN99997 You completed episode 2 and 3 and you still can jump endlessly?
@pjbenson7949
@pjbenson7949 Жыл бұрын
@@PandemoniumGameDev Hey there, I just found your channel and I am brand new to this all. I love your videos! They have been so helpful and I really feel like I'm learning a lot. I subscribed immediately. I finished both episode 1 & 2 but I am still able to jump infinitely. After deleting the lines near 42/43 there isn't anything between those { }. Does that matter? I'm not sure what else could be the problem. I'll definitely have to join the discord. Thanks for creating such amazing content!
@micahburnside2281
@micahburnside2281 2 ай бұрын
@@PandemoniumGameDev yes, and the player does not jump away from the wall by the end of the video. I'm wondering if the game cycle methods have had breaking changes since you made this tutorial.
@m1di797
@m1di797 2 жыл бұрын
3:24 (just a timestamp i'm keeping for myself)
@ivansit0TV
@ivansit0TV 6 ай бұрын
12:35 so if I "fix" the mistake you mention here from < to >, my character won't walk or jump. It does jump if I leave it as is. "< "
@ivansit0TV
@ivansit0TV 6 ай бұрын
For anyone having this issue, I just forgot to put the "+"in wallJumpCooldown += Time.deltaTime;
@aa-ln8gt
@aa-ln8gt 2 жыл бұрын
Are you gonna make a video on how to add a little cooldown thingy to wall jump and normal jump since it feels kinda weird like this when its spammable. Really appreciate t if you do keep up the good work.
@Sultaneq
@Sultaneq 3 жыл бұрын
I startest the series today im waiting for the 4th Episode Pls do it.
@PandemoniumGameDev
@PandemoniumGameDev 3 жыл бұрын
just dropped it now
@cityhousegaming8432
@cityhousegaming8432 Жыл бұрын
Hey I appreciate the videos. Can we use the code you wrote here in order to build a game? What would we have to do in order to do that? It would make our lives easier. Thanks! If there is a more appropriate place to ask this question ( I looked and didn't see one) please let me know :)
@captaincookie3327
@captaincookie3327 3 ай бұрын
pretty cool man
@concertence
@concertence 10 күн бұрын
i don't know if i put in the wrong code but everytime i try to walljump the character just wont go up
@ds1jmadx5
@ds1jmadx5 2 жыл бұрын
Hi, for some reason the wall jump only works on one side of a wall, is that intentional or did i do something wrong?
@102mertcan
@102mertcan 7 күн бұрын
Thx
@mrsworder
@mrsworder 2 жыл бұрын
Hey will be there an tutorial on how to create an animation or an effect for walljumping? maybe after the basic is completed like extra episode on how to upgrade the game!
@eeduuxxx
@eeduuxxx 3 жыл бұрын
Nice tutorial!
@user-lr2cg2st1j
@user-lr2cg2st1j 2 жыл бұрын
I am like #1000. Helpful video!
@copykey
@copykey Жыл бұрын
Thanks for the such detailed tutorial. and I have some questions : What transform.localScale in Jump() actually works? I understand that this code makes player flip when it jumped off the wall(to see opposite direction). But it wasn't. Maybe I misunderstood something...
@Emmettcwilson
@Emmettcwilson 10 ай бұрын
for me something is wrong with this line but i don't know what. It's line 74 private void OnCollisionEnter2D(Collision2D collision)
@reveng3r
@reveng3r 5 ай бұрын
My player jumps at different height, sometimes flying away from a screen; I tried add vector to vertical velocity, change force methods, change GetKey for GetKeyDown. With some of them it feels better sometimes but then he again jump to the space;
@Buckwildest979
@Buckwildest979 3 жыл бұрын
If we did not want to add wall jumping into our game, can we just skip this video and just put a 2D physics material with no friction?
@turtlegod1013
@turtlegod1013 Жыл бұрын
In the first episode, the edit text suggested I make a jump variable to decide how high the character jumps. Is that preferable to changing the gravity scale?
@hunterx4583
@hunterx4583 2 жыл бұрын
Need help 1. When i long press the space bar the player jumps backwards infinitly. 2. When i double press the space bar the player jumps backwards. P.s. Great video and explanation btw.
@sophiesun3634
@sophiesun3634 3 жыл бұрын
Hi there, this is a super fun tutorial. I only have one issue that my player is behind the wall when doing the wall jumping. Any insight of how to fix this would be greatly appreciated.
@PandemoniumGameDev
@PandemoniumGameDev 3 жыл бұрын
Will need a video to understand the issue. Mind sending it on Discord?
@Hypcros
@Hypcros 2 жыл бұрын
Guessing this is too late but if other people have this problem then make sure to set your players order in layer to 1 or a value greater than the wall. This can be found by going to Player>Sprite Renderer>Additional Settings>Order in Layer.
@m_ellis
@m_ellis 3 жыл бұрын
Great vid, but I'm having a problem where I can't jump up the wall. It only lets me jump outward. Do you possibly know what I've done wrong? edit: nevermind I just forgot to take the float out before one of the horizontal inputs
@MikeRetroModz
@MikeRetroModz 2 жыл бұрын
I had the same problem and fixed it by removing float as well haha
@radicalspark5146
@radicalspark5146 11 ай бұрын
heyy can you point out exactly where you took the float out I seem to be having the same problem thanks!
@qaerkyr9197
@qaerkyr9197 2 жыл бұрын
My player gets stuck once he falls on on the ground. Left and right is not working. Only jumping it works. Any idea why? Found it looks like when defining the player rigid body we can have problems with walljump code part from update method.
@CouldBeSpiderman
@CouldBeSpiderman Жыл бұрын
Now i changed all the grounded to is grounded and now my whole character refuses to jump! anyway of fixing this?
@PandemoniumGameDev
@PandemoniumGameDev Жыл бұрын
Make sure the grounded object has the "Grounded" tag. Also double check if you typed the tag the same way in the code and in the editor, tags can be quite tricky and problematic that's why you need to be careful with them.
@CouldBeSpiderman
@CouldBeSpiderman Жыл бұрын
@@PandemoniumGameDev Thanks i fixed it!
@crimsonwolf4490
@crimsonwolf4490 Жыл бұрын
I didn't quite understand Why did u use raycast2d if u said that its not good choice? RaycastHit2D raycastHit = Physics2D.BoxCast(boxCollider.bounds.center, boxCollider.bounds.size, Vector2.down, 0, 0.1f, groudLayer);
@kutayz7516
@kutayz7516 2 жыл бұрын
Hello ! I have a small question. I want to make my character start on the ground at the very beginning of my game but as isGrounded() is not a boolean, I couldn't make it "true" at the beginning. How can I fix this? Thanks so much.
@NguyenNgocHoangLongK14HL
@NguyenNgocHoangLongK14HL 4 ай бұрын
in wall jumping, why my player he go through the wall, can you expland for me
@hudaasaad4111
@hudaasaad4111 3 ай бұрын
I had the same issue, just edit the size and location on your Box Collider 2D just like how he did for the ground so that it matches the wall
@gameprogramming6550
@gameprogramming6550 3 жыл бұрын
nice tutorial !
@saini_plays4357
@saini_plays4357 20 күн бұрын
i am facing the issue and that is i am not getting the true value even when i am facing towards the wall
@daryelcetz1410
@daryelcetz1410 Ай бұрын
I closed the project and saved it. Now i opened again and i can't jump and i don't know why :(
@erenergani2404
@erenergani2404 Жыл бұрын
I did the exact same things but my character cannot jump while hanging to the wall. what should I do?
Unity 2D Platformer for Complete Beginners - #4 SHOOTING
17:25
Pandemonium
Рет қаралды 191 М.
How speedrunners beat The Password Game in 24 seconds
8:39
EazySpeezy
Рет қаралды 733 М.
Bike Vs Tricycle Fast Challenge
00:43
Russo
Рет қаралды 46 МЛН
АЗАРТНИК 4 |СЕЗОН 3 Серия
30:50
Inter Production
Рет қаралды 947 М.
Как подписать? 😂 #shorts
00:10
Денис Кукояка
Рет қаралды 6 МЛН
Coding Adventure: Simulating Fluids
47:52
Sebastian Lague
Рет қаралды 1,8 МЛН
Unity 2D Platformer for Complete Beginners - #2 ANIMATION
21:35
Pandemonium
Рет қаралды 337 М.
Ultimate Indie Gamedev Genre Tierlist
28:58
BiteMe Games
Рет қаралды 238 М.
How do non-euclidean games work? | Bitwise
14:19
DigiDigger
Рет қаралды 2,4 МЛН
Improve your Platformer’s Jump (and Wall Jump) | Unity
8:12
Dawnosaur
Рет қаралды 115 М.
How I learned Unity without following tutorials (Developing 1)
18:11
Game Maker's Toolkit
Рет қаралды 2 МЛН
choosing a game engine is easy, actually
15:08
samyam
Рет қаралды 483 М.
HOW TO MAKE 2D GAME ANIMATIONS IN UNITY - BEGINNER TUTORIAL
14:58
Blackthornprod
Рет қаралды 594 М.
Making an atomic trampoline
58:01
NileRed
Рет қаралды 7 МЛН
Bike Vs Tricycle Fast Challenge
00:43
Russo
Рет қаралды 46 МЛН