20 Unity Tips in 10 MINUTES!

Поделиться
HTML-код
  • Опубликовано: 28 май 2024
  • Unity Tips Playlist • Unity Tips in 10 Minutes!
    🌍 Get my Complete Courses! ✅ unitycodemonkey.com/courses
    👍 Learn to make awesome games step-by-step from start to finish.
    Let's check out 20 Super Useful Unity Tips in just 10 Minutes!
    What are Delegates? (C# Basics)
    • What are Delegates? (C...
    12 MORE Unity Tips in 12 Minutes!
    • 12 MORE Unity Tips in ...
    8 Tips for Working from Home Effectively!
    • 8 Tips for Working fro...
    🌍 Get Code Monkey on Steam!
    👍 Interactive Tutorials, Complete Games and More!
    ✅ store.steampowered.com/app/12...
    If you have any questions post them in the comments and I'll do my best to answer them.
    🔔 Subscribe for more Unity Tutorials / @codemonkeyunity
    See you next time!
    📍 Support on Patreon / unitycodemonkey
    🤖 Join the Community Discord / discord
    📦 Grab the Game Bundle at unitycodemonkey.com/gameBundl...
    📝 Get the Code Monkey Utilities at unitycodemonkey.com/utils.php
    #unitytutorial #unity3d #unity2d
    --------------------------------------------------------------------
    Hello and welcome, I am your Code Monkey and here you will learn everything about Game Development in Unity 2D using C#.
    I've been developing games for several years with 7 published games on Steam and now I'm sharing my knowledge to help you on your own game development journey.
    You can see my games at www.endlessloopstudios.com
    --------------------------------------------------------------------
    - Website: unitycodemonkey.com/
    - Twitter: / unitycodemonkey
    - Facebook: / unitycodemonkey

Комментарии • 147

  • @CodeMonkeyUnity
    @CodeMonkeyUnity  3 года назад +21

    🌐 Have you found the videos Helpful and Valuable?
    ❤️ Get my Courses unitycodemonkey.com/courses or Support on Patreon www.patreon.com/unitycodemonkey

    • @BilabeWinchester
      @BilabeWinchester 3 года назад

      always

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад

      ​@@aussiecomrade5972 The next course I'm working on will be on making a complete game using solely Visual Scripting.
      But yes in the future I would love to do some more complex advanced courses and see how people react to them.

  • @Teshiification
    @Teshiification 3 года назад +39

    CM: "Go to Debug view"
    Me: [SerielizeField]s everithing i can ...xD

    • @LanguidBasil
      @LanguidBasil 3 года назад +1

      me for no reason: CM stands for CinemachineCamera?

  • @enamulislamjisan
    @enamulislamjisan 3 года назад +23

    Tip: If you delete asset from project window you can't undo from there but to undo open the project folder in file explorer and press undo command

  • @CodeMonkeyUnity
    @CodeMonkeyUnity  3 года назад +37

    💬 Here's 20 Quick Super Useful Unity tips!
    Got any more you know about? Would you like to see a Part 2?

  • @ArmanNobari
    @ArmanNobari 3 года назад +9

    You're consistently putting out videos that are *so* valuable to the project I'm working on, thank you so much. This is insanely helpful and concise.

  • @AliRavencoreAdam
    @AliRavencoreAdam 3 года назад +5

    Thank you so much for tip #19. I've been using Unity for a lot of years and I always hated moving my mouse around to disable/enable an object. I never looked for a short key because I thought if there was one, I should have seen at least one person using it. FML! Seriously I can't believe this. . .Thanks so much CM!

  • @MaxIzrin
    @MaxIzrin Год назад +4

    *Very important:* Shift + Space for full screen works on every part of Unity!
    The scene view, the console, the inspector... everything.

  • @maasterr
    @maasterr 3 года назад +6

    Tip: If you have ascript with a var that is a collection (of gameObjects for example) you can lock the inspector, select all the objects you want and drag on top of the variable name to add several objects at once.

  • @floreaanam
    @floreaanam 3 года назад +2

    very useful for a beginner like me! Thank you Code Monkey, I appreciate the work you are doing!
    Please do part two!

  • @erz3030
    @erz3030 3 года назад +3

    I love tip compilation videos.. I almost always learn something new in some form or fasion. Keep em coming!

  • @boxerBeto
    @boxerBeto 3 года назад

    I like this format, quick and to the point. Thanks

  • @jaulloa21
    @jaulloa21 3 года назад +10

    I spend my time learning stuff. It’s better than just fiddling around.

  • @alek3474
    @alek3474 3 года назад

    The Match Game Camera with Scene Camera is an awesome tip that I had no idea about, thank you!

  • @woodenfences
    @woodenfences 3 года назад

    Shift + Space = Full screen is really useful. Thanks!

  • @cinocigames9994
    @cinocigames9994 3 года назад

    Great tips, thank you! Much appreciated!

  • @seanloughran6714
    @seanloughran6714 3 года назад +2

    Wow, I never knew you could see Debug.DrawLine in game view. I always go to the scene view. That's a game changer!

  • @Kaikaku
    @Kaikaku 3 года назад

    Thank you, another 10 tips would be great :)

  • @MetalStormGames
    @MetalStormGames 3 года назад

    Great video, some really usefull tips that I use every day and some new ones I didnt know.

  • @Aladato
    @Aladato 3 года назад

    Learned about #13 and #14.
    Faster renaming and cleaner console. Thank you!

  • @dspartan007
    @dspartan007 3 года назад

    Great video, there's always something new to learn.

  • @Gregwrightnow
    @Gregwrightnow 3 года назад

    More tips please! Very useful.

  • @TrentSterling
    @TrentSterling 3 года назад +1

    Shift F will focus the gameobject, but also pin the camera to the subject.
    You can use this to follow the player character or enemy movements, while just pressing F to focus won't do the camera tracking.

  • @easytooner55
    @easytooner55 2 года назад +1

    figured ud be interested to know I clicked for the thumbnail - so whatever u got goin on there, keep it up. Was just an oddly satisfying thumbnail lol

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  2 года назад +1

      Thanks, I'm glad you liked the thumbnail!
      It's one of the effects from the VFX package, looks really awesome! ruclips.net/video/q1sm20g8yqE/видео.html

  • @a.technology1446
    @a.technology1446 3 года назад

    Very useful thanks

  • @evrenhalavut9207
    @evrenhalavut9207 3 года назад

    Thank you very much!

  • @kerandonovan7255
    @kerandonovan7255 3 года назад

    Great info!

  • @Director414
    @Director414 9 месяцев назад

    Great video, as always!

  • @mrx10001
    @mrx10001 3 года назад +1

    An other tip!:
    it was either ctrl + F or shift+ F to make the scene view auto follow a target you've currently selected in the hierarchy, useful for debugging, while playing the game!

  • @dante_sam3644
    @dante_sam3644 3 года назад

    This Tipps are awesome. Thx :-)

  • @cropat6142
    @cropat6142 3 года назад +4

    Thank you becouse of you i started making games.

  • @huba543
    @huba543 3 года назад

    thanks for this video! some of them helped me a lot! but for the 1st instead of adding a white pixel everytime you just also could create a new sprite ^^

  • @jaybenton7716
    @jaybenton7716 3 года назад +24

    Someone has to take over Brackeys space, you could be it!

  • @SmartPenguins
    @SmartPenguins 3 года назад

    Thanks really helpful video

  • @Mrted92
    @Mrted92 3 года назад

    Great video!

  • @comikawn5147
    @comikawn5147 3 года назад +10

    this tips are so useful !!

    • @piggyrfoum
      @piggyrfoum 3 года назад +1

      English lessons would be useful

    • @piggyrfoum
      @piggyrfoum 3 года назад +1

      Jk

    • @comikawn5147
      @comikawn5147 3 года назад +2

      @@piggyrfoum My friend, is it a shame that I do not speak English well?

    • @xXGuerrillasXx
      @xXGuerrillasXx 2 года назад

      Best most concise, unity tutorials around.. CM makes great easy to follow well prepared tutorials and videos

  • @DevsLikeUs
    @DevsLikeUs 3 года назад

    Great tips !

  • @iskatoysen
    @iskatoysen 3 года назад +1

    another tip: add multiple scene views in a row, first for 3d view, second for canvas and 2d, third for something specific. yet another tip - launch your git bash or app with IDE hotkey. and another tip - try use left and right arrows to navigate in project or hierarchy window, they're really usefull.

  • @AbdullahYazbahar
    @AbdullahYazbahar 3 года назад

    thanks man

  • @MrZtapp
    @MrZtapp 3 года назад

    Great video

  • @MetalStormGames
    @MetalStormGames 3 года назад

    Just to add for the Pivot/center and Global/Local buttons they keyboard shortcuts for the are Z and X which are VERY handy to learn to use instead of having to go up and click the buttons each time

  • @user-wu3dw7rp2c
    @user-wu3dw7rp2c 3 года назад

    Really useful !!!!

  • @KiliGraphics
    @KiliGraphics 3 года назад

    Thanks

  • @apubetico
    @apubetico 3 года назад

    thanks bro

  • @vanilla-plus
    @vanilla-plus 3 года назад +2

    You can do math directly in any value field!
    Make a new GameObject with a position of 0,5,0 and add '*2' to the end of the y field. It should be 10! No more counting on your fingers :)

  • @terry-
    @terry- 4 месяца назад

    Great!

  • @squally9149
    @squally9149 3 года назад +4

    Could you do a video on how you made your build system in BR tycoon, maybe a tutorial series on making a basic tycoon/management game, and how you made your scrolling workshop showcase UI in BR tycoon.
    Thanks if you do any!

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад +1

      I covered the Workshop widget here ruclips.net/video/Gk0-amfn5DM/видео.html
      And for the Building, it's all based on the Grid System that I covered here ruclips.net/video/waEsGu--9P8/видео.html
      I would like to do a proper Grid Building System tutorial someday, need to find the time!

    • @squally9149
      @squally9149 3 года назад

      Code Monkey thanks a lot

  • @amgames5638
    @amgames5638 3 года назад

    Tip number 11 saved my life. I always thought it was super annoying to have to drag the shader graph window out and maximize it, then if you want to return it for some reason decides it doesn't want to shrink and when you click the maximize button is just stays full screen, so you have to drag it out and then resize it... lol

  • @pixofobico
    @pixofobico 2 года назад +1

    4:20 whhrld

  • @CCV334
    @CCV334 3 года назад

    Would love to see a part 2! Also if you have any tips with dealing with a lot of debug logs that would be fantastic.
    Context: I noticed that when using other packages logs could be scattered everywhere and it’s some times hard to keep track of the ones I put in.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад +2

      Console.Log supports tags so maybe use that to differentiate your own log messages

  • @folkhero2046
    @folkhero2046 3 года назад

    part 2 please!

  • @1oglop1
    @1oglop1 3 года назад +1

    Thank you ever so much for this channel! I started with unity 6 days ago and all tutorials I found so far did not show a decent code quality and approach, your videos are so far the most useful of all. The way you how you debug code, using visual helpers with and other useful stuff
    Also a question, I'm making a match3 game for 2 players. I'm thinking of using a grid to organise everything, however I'm not quite sure how to make the positioning working for me.
    Since is just 1 board, which object shall I use to reference position of everything else? I like how Canvas UI object reference to camera but what to use with game objects?
    Thanks!

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад

      Thanks! Glad you like the videos!
      I made a bunch of videos on a complex Grid System ruclips.net/video/waEsGu--9P8/видео.html
      And then I used it to make a Match-3 ruclips.net/video/DGDYU6BoVqM/видео.html

    • @1oglop1
      @1oglop1 3 года назад

      @@CodeMonkeyUnity Beautiful! thank you! As a python developer I neglected C# for its verbosity but I find unity to be great for learning it!

  • @jean-michel.houbre
    @jean-michel.houbre 3 года назад

    Hello,
    go! For once, I'll be cranky :)
    The majority of the tips are in fact the use of features and keyboard shortcuts. Are Ctrl + C to copy or turn on the gas under a pot of water to heat it any tips? I don't think so, nor does F2 to rename or F to access a GameObject.
    Only 1, 3, 8 and 9 are tips for me. A tip, I think, is use that goes off the marked trails, which you don't think of the first time.
    Tip number 1 is a perfect example. Or copy the values of a component in play mode to paste them in edit mode, and thus bypass the fact that an object modified in play mode does not keep the changes in edit mode. Or lock the Inspector to fill an array with multiple objects.
    But the video is still useful, for those who are just starting out, or who have not had the pleasure of reading the documentation.
    Yes to an episode 2!

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад

      In my view, a Tip is something small that could help you.
      So if you don't know that F focuses on the object then that's a very useful tip to know.
      For example I only learned about the shortcut to toggle Game Objects a few months ago and that was definitely an extremely useful tip despite being just a shortcut.

  • @algs5483
    @algs5483 3 года назад

    7:20 Debug.Log error is extremely useful and I put It in a few places in my codes ( example: forgot to assign a variable. It Will not work without that variable ).

  • @IyaB
    @IyaB 3 года назад +1

    Can you please make a video about unity's particle system?

  • @mohammadsadeghlavaie5560
    @mohammadsadeghlavaie5560 3 года назад +3

    Select a scene asset, right click and hit "show dependencies", and see what happens ;-)

  • @stefans6557
    @stefans6557 Год назад

    Another small one: Press Shift-F to follow an object in the Scene View

  • @KeinZantezuken
    @KeinZantezuken 3 года назад +2

    Anonymous functions allocate and if you capture some variables in it - allocate even more. And for events, if you use some that fire almost eveyr frame or so - RIP

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад

      Naturally every approach has pros and cons, it's up to you to decide if it fits what you're trying to do.

  • @NicholasScotti
    @NicholasScotti 3 года назад

    make a tip about gaps between player and tileset in a platformer game please

  • @TheOfficialPolo
    @TheOfficialPolo 3 года назад

    Are you maybe planning to do a video about best free assets on the Unity Asset Store? Would be really useful for us :)

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад

      I would like to do a series reviewing a bunch of assets from the Asset Store but haven't had the time yet

  • @videowatcher8874
    @videowatcher8874 3 года назад +3

    Here's a tip: Don't use Unity 2020.anything if you use HDRP. It's a broken, buggy mess. 2019.4 works great.

    • @Unknown_Programmer
      @Unknown_Programmer 3 года назад

      Agree for me it gives a blue tint to every object even in URP

  • @StigDesign
    @StigDesign 3 года назад

    QQ: do you know how to get ridd of the bugg about window layout?
    i get it to often and i try to revert back to default layout but whont help :(

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад +1

      Choose a different layout then save it as your own

    • @StigDesign
      @StigDesign 3 года назад

      @@CodeMonkeyUnity oh i see, i have tried that but it kind of still doing same hehe, somew time it works for some days be fore it starts again with the layout bugg mesage :D

  • @Drastonar
    @Drastonar 3 года назад

    How do you remove a listener that was added as a lambda function?
    And do you have to remove them if you're using unity events, or does unity handle this for you? (When the object that subscribed is disabled or destroyed for example).

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад +1

      You can store the Lambda reference in a field and then use that unsubscribe.
      However if you do it like I show then the reference is lost and you can't unsubscribe, not a problem if both objects are destroyed around the same time (for example on scene change)

  • @awesomegamedev
    @awesomegamedev 3 года назад

    My personal highlights are #11 (Shift + Space to fullscreen) and #12 (Ctrl + D to Duplicate)
    I knew about #11 before watching this video, but I've only found out about it recently, and
    I always used Ctrl + D to duplicate something in the hierarchy, but I didn't know it works in the Project tab.
    Right clicking item in the Project tab doesn't show options to copy/paste/duplicate, so I always used to open windows explorer and duplicate file there.
    Just curious: how did you make the opening animation (0:00-0:04)?
    Scripted in Unity and then used Unity Recorder?
    Or manually in your editing program?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад +1

      It was done in Premiere, just some text objects being moved. Not very flashy but it works!

  • @LemauDev
    @LemauDev 3 года назад

    YOU ARE THE BEST , i dont know if this tips are exist .
    im totally monkey before for waste my time xD for manually
    bot now IM CODEMONKEY ... thanks you for the tips :D

  • @omiorahman6283
    @omiorahman6283 3 года назад

    Is it possible to have a game feature which asks for player to select a custom made music in the game and it plays during gameplay when you call the radio feature.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад +1

      Sure, you just have to load the file and figure out how to convert it into a AudioClip

    • @omiorahman6283
      @omiorahman6283 3 года назад

      @@CodeMonkeyUnity thank you 😃
      So theoretically it can be done

  • @murrayKorir
    @murrayKorir 3 года назад

    Is there any difference between Ctrl + D and Ctrl + C in unity when dealing with game objects?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад +1

      Ctrl + D duplicates whereas Ctrl + C only stores the copy in the clipboard, you have to do Ctrl + V to paste.

  • @enamulislamjisan
    @enamulislamjisan 3 года назад

    When will you make asset store assets based videos? any thought?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад

      Not sure, I want to do it but need to find the time!

  • @random_precision_software
    @random_precision_software 3 года назад +1

    Roy know what I need help with, is have a canvas with A CD PLAYER function as a child object which is deactivated and only switched on in the pause menu but I need a do not destroy on load on it. Which is great if I want the CD player displayed all the time which I don't. Apparently you can't have a deactivated object with a do not destroy on load..and way around this. I'll show you the link so you can see what I mean.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад

      You can add DontDestroyOnLoad on the parent and only disable a child game object that has the visual. That way the parent is always enabled.

    • @random_precision_software
      @random_precision_software 3 года назад

      @@CodeMonkeyUnity that is what I originally had done but it doesn't work.

    • @random_precision_software
      @random_precision_software 3 года назад

      @@CodeMonkeyUnity try it yourself,I had a button to load between 2 scenes, when it's displayed all the time it works, but when the child is deactivated it doesn't

  • @mahmutucak2293
    @mahmutucak2293 3 года назад

    I cant believe i never realized the hieararchy hide buttons.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад +1

      It's a pretty recent addition, only added in 2019.3 I believe

  • @halivudestevez2
    @halivudestevez2 Год назад

    white pixel: 10 or more years ago there was blank.gif in webdevelopment, sitebuilding

  • @algs5483
    @algs5483 3 года назад

    8:29 Tip 13: Be careful when renaming scripts! They Will not work If you rename It Just on Unity. You MUST also rename the name that comes before : MonoBehaviour ( or StateMachine or whatever ) for the same name you renamed on Unity.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад +1

      Yes if you rename the filename you also need to rename the class name

  • @dobbins1490
    @dobbins1490 3 года назад

    Please, make a Unity C# tutorial to people that never has writen a code in life.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад

      I covered C# Basics here ruclips.net/video/IFayQioG71A/видео.html

  • @_Garm_
    @_Garm_ 3 года назад

    Bit oftopic, would it be possible to make a video how you made the steam app ? im interested to do some thing similar, would be fun to learn from you what pitfalls to avoid :D

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад +1

      I covered how to make a launcher here ruclips.net/video/dELZXHlYqj4/видео.html

    • @_Garm_
      @_Garm_ 3 года назад

      @@CodeMonkeyUnity awesome Thank you, don know how i managed to miss that video :) A question, how would you go about to gater information from the games played like score, then have like a common place for a scorboard ? would you svave the scors to an file then load it on the launcher or is there a smarter code monkey way :D

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад +1

      @@_Garm_ Yup you could make a common file where you store all the scores for each game. Or just have each game with their own score file and on the main launcher you read all of them. Both approaches work.

    • @_Garm_
      @_Garm_ 3 года назад

      @@CodeMonkeyUnity Thank you :D

  • @fdsKedi
    @fdsKedi 2 года назад

    Ah yes, my favourite tip: *Alft* + Shift + A

  • @Aladato
    @Aladato 3 года назад

    Tip #15 for some reason stops working on custom layouts.
    I have to switch to one of the default layouts to make it work again.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад

      That's very strange, does it happen with every collider? Never had that happen to me

    • @Aladato
      @Aladato 3 года назад

      @@CodeMonkeyUnity I haven't used it in a while, but I'm sure it was small bug.
      Yes, with every collider iirc.
      It worked as soon as I switched the layouts.

  • @rrlosabio7190
    @rrlosabio7190 3 года назад +1

    Can you create a tutorial for Android buttons without using the asset store like others, im just staring on unity and i want to learn in mobile platform cant full grasp by just reading code without any explanation, im such a noob

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад +1

      Start off learning the basics of Unity here ruclips.net/video/E6A4WvsDeLE/видео.html
      Then if you want pick up my course for a complete step-by-step guide on making a game from start to finish.

  • @bluegru
    @bluegru 3 года назад

    I always used CTRL + D to dublicate,
    but dont use it in windows explorer,
    because windows will delete files without asking.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад

      Yup, in Unity it means "Duplicate" and in Windows it means "Delete"

  • @xenoscapeteam9268
    @xenoscapeteam9268 3 года назад

    code monkey hyping me up to finish my game

  • @JoshRhoton
    @JoshRhoton 3 года назад

    Is it just me it do you sound like Kermit the Frog in a way? Lol

  • @anweral_sanabani725
    @anweral_sanabani725 2 года назад

    Code hints doesn't work what's the problem and how can I Solve this problem Note: I am using Visual Studio Editor

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  2 года назад

      Install the Visual Studio package in the Unity Package Manager, if that doesn't solve it then manually install the VS Tools for Unity docs.microsoft.com/en-us/visualstudio/gamedev/unity/get-started/visual-studio-tools-for-unity

  • @radiyanasikwala2344
    @radiyanasikwala2344 3 года назад

    I thought it showed me 3 minutes instead of 3 months lol

  • @random_precision_software
    @random_precision_software 3 года назад

    Here's the CD player it's ok to have it on the main menu displayed all the time but not on the game scenes..
    ruclips.net/video/r1iDr3HTKxc/видео.html

  • @Wobling
    @Wobling 3 года назад

    How do you manage unsubscibing from lambda based events? as it's an annonamous function you have no reference like with a normal function. I've been wracking my brain with this one for a while. Do you even need to unsubscribe?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  3 года назад

      Depends on what you're doing with your objects but if they both get destroyed at the same time, like during a scene change then you don't need to unsubscribe.
      If you do then making a proper function or storing the lambda is the valid approach.

  • @gustavoalexandregustavotim936
    @gustavoalexandregustavotim936 10 месяцев назад

    up

  • @codemaster1002
    @codemaster1002 3 года назад

    1st

  • @r.spence6816
    @r.spence6816 2 года назад

    I really like your RUclipss - but I think you almost speech to fast (in nearly all of them). It's hard to understand and replay for non english nativ speaker... Regards Rob.

  • @gelis07
    @gelis07 3 года назад +1

    2 gud m8
    (translate in comments)+

    • @damiangonzalez_esp
      @damiangonzalez_esp 3 года назад +1

      too good damn mate? 😎 What did I win?

    • @gelis07
      @gelis07 3 года назад

      @@damiangonzalez_esp i think so

    • @gelis07
      @gelis07 3 года назад

      @@damiangonzalez_esp btw remove the damn