Intro to Tool Dev in Unity - An Improvised Live Course [part 1/4]

SdĂ­let
VloĆŸit
  • čas pƙidĂĄn 12. 05. 2024
  • đŸ”œ click for timestamps & info!
    this was originally streamed as a course for students at futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
    💖 Patreon ❱ / acegikmo
    🐩 Twitter ❱ / freyaholmer
    đŸ“ș Twitch ❱ / acegikmo
    💬 Discord ❱ / discord
    🌾 Instagram ❱ / freya_holmer
    0:00:00 - Thor
    0:00:18 - What is a Tool Developer?
    0:04:05 - Field Attributes
    0:09:02 - Gizmos
    0:11:44 - Managers & ExecuteAlways
    0:21:26 - Handles & Editor Preprocessors
    0:27:36 - Drawing Bezier Curves
    0:32:37 - Material & Mesh Modification Pitfalls
    0:44:41 - MaterialPropertyBlocks
    1:08:41 - Coloring Gizmos & Handles
    1:10:42 - ScriptableObjects
    1:21:46 - ScriptableObjects vs Prefabs
    1:24:36 - Making a Custom Inspector
    1:31:59 - Serialization of Fields & Types
    1:43:56 - Editor GUI, Layout & Styling
    2:07:15 - Shader Forge
    2:06:06 - Recorder Tool
    2:26:56 - Inspector Fields (manual version)
    2:37:57 - Inspector Fields (SerializedProperty version)
    2:47:19 - Change Detection & Updating Objects
    2:51:34 - MenuItem Object Snapping Script
    3:09:16 - EditorWindow Snapping Tool
    3:24:07 - Assignment! Advanced Snapping Tool
  • Věda a technologie

Komentáƙe • 170

  • @acegikmo
    @acegikmo  Pƙed 4 lety +140

    Timestamps for all you mobile users out there 💖
    0:00:00 - Thor
    0:00:18 - What is a Tool Developer?
    0:04:05 - Field Attributes
    0:09:02 - Gizmos
    0:11:44 - Managers & ExecuteAlways
    0:21:26 - Handles & Editor Preprocessors
    0:27:36 - Drawing Bezier Curves
    0:32:37 - Material & Mesh Modification Pitfalls
    0:44:41 - MaterialPropertyBlocks
    1:08:41 - Coloring Gizmos & Handles
    1:10:42 - ScriptableObjects
    1:21:46 - ScriptableObjects vs Prefabs
    1:24:36 - Making a Custom Inspector
    1:31:59 - Serialization of Fields & Types
    1:43:56 - Editor GUI, Layout & Styling
    2:07:15 - Shader Forge
    2:06:06 - Recorder Tool
    2:26:56 - Inspector Fields (manual version)
    2:37:57 - Inspector Fields (SerializedProperty version)
    2:47:19 - Change Detection & Updating Objects
    2:51:34 - MenuItem Object Snapping Script
    3:09:16 - EditorWindow Snapping Tool
    3:24:07 - Assignment! Advanced Snapping Tool

  • @peyton-a-lee
    @peyton-a-lee Pƙed 3 lety +17

    Just found this series and your channel, and it's incredible so far! Definitely recommending this to my friends who use Unity.

  • @asrielmandrak7220
    @asrielmandrak7220 Pƙed 4 lety +14

    Oh man. You don't know for how long i was searching for this video. I finally solved literally ALL of my doubts in just one video. Thank you, really.
    (Btw: your editors are gorgeous. I would like to see a detailed course on editor designs like yours)

  • @benjoe1993
    @benjoe1993 Pƙed 4 lety +31

    THIS IS WHAT THE WORLD NEEDS! This is what I need :D

  • @cetiah
    @cetiah Pƙed 4 lety +4

    This is awesome. I've been so interested in learning about tools development lately (and shaders!) but wasn't sure how to get started. Thank you so much!

  • @JarlThorson
    @JarlThorson Pƙed 4 lety +49

    I would love a post mortem on Shader Forge!

  • @jjkanes
    @jjkanes Pƙed 2 lety +2

    Bloody love this series! So good to to find little quality of life editor tool stuff I never knew existed ahhh

  • @VTBikupan
    @VTBikupan Pƙed 4 lety

    Great vid! Haven't worked with tool dev stuff in a few years now and this was a stellar refresher~ Learned a fair bit of new tips as well

  • @mahmudmizanfahim4270
    @mahmudmizanfahim4270 Pƙed 2 lety

    Love your lengthy explanations because often time I can find extra knowledge from them.
    Best teacher ever!!!

  • @fernandacoelho7035
    @fernandacoelho7035 Pƙed 2 lety +5

    I haven't properly started yet, but I just want to thank you so much for this. I'm trying to improve my tech art skillset and this is such an incredible resource, and I know from experience that making tutorials is a lot of work; and you went the extra EXTRA mile of making them longer and timestamped, this is amazing

    • @acegikmo
      @acegikmo  Pƙed 2 lety +3

      hope you'll find it useful!

  • @evanlane1690
    @evanlane1690 Pƙed 3 lety +3

    Holy SHIT this is amazing. I had work to do today Freya! Now I'm four hours behind, and it was absolutely worth it. :D

  • @ddouston
    @ddouston Pƙed rokem

    20m in, you've expanded my Unity knowledge in some ways as well as confirmed my understanding of the Editor in others. Bravo! Great course!

  • @RustyMahkra
    @RustyMahkra Pƙed 2 lety +1

    Just i love you!
    You explain very easily. The tips really come in handy
    I'll see all your videos like this ♄

  • @rayanmazouz9542
    @rayanmazouz9542 Pƙed 3 lety +1

    Thanks ! Great detailed video, I've never done an editor tool before, so I'll watch all the 4 videos twice, and I should know the basics

  • @lee1davis1
    @lee1davis1 Pƙed rokem +1

    Thank you Freya for sharing your knowledge and skills!

  • @bluntfist
    @bluntfist Pƙed 3 lety +59

    If you're trying to follow along using URP or HDRP and can't get the colors to work, try changing "_Color" to "_BaseColor". Btw this tutorial rules.

  • @somekindofdevil
    @somekindofdevil Pƙed 3 lety +1

    These videos are priceless. Thanks for making them.

  • @clownhunter
    @clownhunter Pƙed rokem +4

    1:40:54 Just a heads up to anyone watching this video now, Unity added the [SerializeReference] attribute in 2019.3 that can handle serializing list of base classes, polymorphic classes, interfaces, etc so this is no longer an issue.

  • @fulongfromthegrave
    @fulongfromthegrave Pƙed 3 lety

    SO good, and so useful! thanks Freya!

  • @seanmoakes
    @seanmoakes Pƙed 2 lety

    You have a great way of breaking all this stuff down. Thank you so much!

  • @benjaminlehmann
    @benjaminlehmann Pƙed 4 dny

    Thanks for this, Freya; a really useful set of insights and learning :D

  • @riddheshzaveri8103
    @riddheshzaveri8103 Pƙed 3 lety +2

    I am sure you will receive so many blessings for what you are doing for game dev community. The knowledge you share is worth million dollars. I will try my best to teach the same to others also for free, just like you.

  • @hakanviajando
    @hakanviajando Pƙed rokem

    This was an amazing session, thank you very much.

  • @carlboisvert8517
    @carlboisvert8517 Pƙed 3 lety +1

    Damn, I'm 14 minutes in and this is already super usefull! Subscribing for sure! Really great work!

  • @TheRabidCabbage
    @TheRabidCabbage Pƙed 3 lety +1

    I'm enjoying the hidden minigame of trying to work out all the hotkeys you're using.
    Keys I learned so far:
    Ctrl+D = Dupe line
    Ctrl+Shift+L = Delete Line (I changed it to Ctrl+Shift+D as like the opposite of Dupe Line)
    Alt+Shift+Double-click = Select Multiple Words
    Ctrl+Shift+U = Toggle Case (Not an ideal combo, but I doubt I will use it much)
    Alt+Shift+. = Add Next Occurrence to Selection (This needs to be more accessible)
    I realised I was shifting lines & statements up & down a lot, so I promoted them to Shift+Wheel and Ctrl+Shift+Wheel. Hope that isn't going to be a problem later.

  • @jiteshmule9227
    @jiteshmule9227 Pƙed 4 lety

    finally video is available
    Thank you Freya. :)

  • @draconinteractive
    @draconinteractive Pƙed 3 lety +2

    That pattern at the beginning for multi-object management, I hadnt seen anyone else use that!
    One thing I do, if I'm not using a manager for the object collection, you can create the list in the script itself. So in ExplosiveBarrel, you can just have public static List all = new List();
    Then, to get the collection, scripts can just do ExplosiveBarrel.all[x]
    Both have adv/disadv, just an addition :)

    • @GameDevNerd
      @GameDevNerd Pƙed 2 lety +1

      public static List AllBarrels { get; set; }
      I use that pattern a lot inside the Component script when I have something I will need other GameObjects to be able to search through or manage. I add each one to that list either in OnEnable, Start or Awake and remove them in OnDisable or OnDestroy depending on what sort of tracking system I want for them.

  • @rosyfu5845
    @rosyfu5845 Pƙed 2 lety

    Thank you sooo much for this! It's AmaZinG!

  • @vufer3d
    @vufer3d Pƙed 3 lety +1

    You are awesome.I am grateful for this briliant lesson.

  • @andrewhan4016
    @andrewhan4016 Pƙed 2 lety

    Thanks so much for making these videos!

  • @iridelombardi
    @iridelombardi Pƙed 4 lety +13

    Just a heads up, if you are using URP, you should set the color property _BaseColor, not _Color

    • @kanerih
      @kanerih Pƙed 2 lety +1

      Thank you so much.

  • @T_S_O_D
    @T_S_O_D Pƙed 2 měsĂ­ci

    This is exactly what I needed

  • @westingtyler2
    @westingtyler2 Pƙed 4 lety

    these are great vids. the world needs lots of these.

  • @Caparrini81
    @Caparrini81 Pƙed 3 lety

    Awesome content! What a great work!

  • @nthnnnnnnnnn
    @nthnnnnnnnnn Pƙed 2 lety +1

    00:41:59
    I might be wrong but afaik creating new material doesn't create a new "Asset". It creates a material in memory which would be destroyed on "Domain Reload" (recompile).
    Also I don't think (again I might be wrong) that you can save a material in a SceneAsset. Which is different from the type Scene. Scene is just a runtime struct that holds loaded SceneAsset information.

  • @josh_swanson
    @josh_swanson Pƙed 3 lety

    Thank you for these!

  • @Forummaker
    @Forummaker Pƙed 3 lety

    This was super-useful, THANK YOU.

  • @Trombonaut
    @Trombonaut Pƙed rokem

    Had no idea about all the action behind the renderer/filter color/mesh properties. Thanks for that

  • @pabloalves
    @pabloalves Pƙed rokem

    This is the best source of tool dev online i guess, thanks a lot. Awesome course

  • @melomaniakjm
    @melomaniakjm Pƙed 3 měsĂ­ci

    Awesome video! Thanks a million for this wealth of knowledge!

  • @bakkarxp
    @bakkarxp Pƙed 4 lety +1

    Great work Freya.👍

  • @Nastomeya
    @Nastomeya Pƙed 2 lety +1

    Just want to say you will never stop learning Unity from Freya.

  • @hellzbellz1234
    @hellzbellz1234 Pƙed 2 lety +1

    For anyone in the future that's looking to learn to code and stumbles upon this video, or is actually into this video topic, pick a project/dev app that uses your coding language of choice, and go to the feature request area and pick a project. Popular projects are maybe better also a discord for that project might also be helpful

  • @Kenbomp
    @Kenbomp Pƙed 2 lety

    Very practical and learn about the system . Nice layouts. For windows

  • @vkan
    @vkan Pƙed 3 lety

    I really enjoyed this!

  • @revilorere
    @revilorere Pƙed 2 lety

    This is such a great video!

  • @gabrielmartins7642
    @gabrielmartins7642 Pƙed 2 lety

    i am just someone who really want to make a game, and this series is actually helping me to organize myself and all

  • @MorionTutoriales
    @MorionTutoriales Pƙed 4 lety

    tk very much for your videos, all these are excelents.. Greetings from Colombia

  • @snakeplisken4278
    @snakeplisken4278 Pƙed 3 lety

    I would love to know how to make rain and snow effects in Unity, but so that it does not fall through the roofs of buildings the player can enter. Thanks. Not sure if shader graphs or particle effects will work?

  • @rootgingerbread1034
    @rootgingerbread1034 Pƙed 4 lety

    Thank's On this video
    ❀đŸŒč

  • @TheBelgarion01
    @TheBelgarion01 Pƙed 4 lety

    God bless this course

  • @ThatGamePerson
    @ThatGamePerson Pƙed 3 lety

    Lol I was looking for this in your patreon, happily surprised they weren't deleted, just not where I thought.

  • @haikunHuanghk
    @haikunHuanghk Pƙed rokem

    Good video, still learning today!!!!!

  • @benjoe1993
    @benjoe1993 Pƙed 4 lety +4

    Will tomorrow's course be uploaded as well? Because I love this!

    • @acegikmo
      @acegikmo  Pƙed 4 lety +1

      yep! it's recorded and all, will be editing and uploading it tomorrow :)

  • @Axelazo
    @Axelazo Pƙed 2 lety

    Can't believe all this content is free!

  • @TheRabidCabbage
    @TheRabidCabbage Pƙed 3 lety

    When you Undo the UpdateAllBarrelColors() action, although the colour field in BarrelTypeEditor and Gizmo wires revert to the original colour, the actual barrel material doesn't revert until you trigger a OnValidate() or something.
    I found a solution by using a Undo.undoRedoPerformed Callback to re-trigger the UpdateAllBarrelColors() after an Undo. Is there a better way?

  • @yugoanzai8197
    @yugoanzai8197 Pƙed 3 lety +1

    Amazing course! Thanks. Knows mch more than a lot of youtubers selling poor unity courses out there.

  • @Metroid1193
    @Metroid1193 Pƙed 4 lety

    You are amazing!

  • @riu7688
    @riu7688 Pƙed 9 dny

    Gerne noch mehr Folgen von dem Game, Hades wÀre auch cool aufm Main Channel die Story is so cool!

  • @GG1440
    @GG1440 Pƙed 4 lety +1

    Thank you for sharing this, it's very helpful

    • @acegikmo
      @acegikmo  Pƙed 4 lety +2

      I 3D printed and painted my own! I'd love to sell them somehow, but, no idea where / how I'd be able to set that up~

    • @alexsteed3091
      @alexsteed3091 Pƙed 2 lety

      ​@@acegikmo , Patreon, but you must be prepared for all the gizmo fiddling that will come of it.

  • @Oompafan907
    @Oompafan907 Pƙed 16 dny

    No because I was about to fall asleep and then this video started playing in the way. I jumped up so fast it generally scared me

  • @anonymoussloth6687
    @anonymoussloth6687 Pƙed 3 lety

    At 3:00:18 you said that "we are making changes but not making changes to the serialized data". But isn't the position of a gameobject serialized? Why doesn't the editor automatically mark the change as dirty?

  • @ale-hl8pg
    @ale-hl8pg Pƙed rokem

    Do you actually recommend using MaterialPropertyBlocks to color objects in the editor (as the example with the explosive barrels) or simply during runtime (for example, an enemy flashing) ? With the explosive barrel example, if you have different types such as a toxic barrel which would be green, would you create new materials for it (in editor mode, when you're creating the toxic barrel itself) or change it by using a script to apply the MaterialPropertyBlock with a given color?
    One pet peeve I've had was that creating a lot of materials was annoying when you're working on something like different variations of enemies, using mpb's seems like it'd make it slightly less annoying since you don't create a lot of new materials, just color them, but I'm wondering if there's some downfall to that besides what you've noted that, each time you set a new mpb it'll override all the properties of the previous one?

    • @acegikmo
      @acegikmo  Pƙed rokem

      either is fine, just depends on how much you want to be persistent vs transient exceptions, and how it deals with batching. it also depends on render pipelines

  • @fluiglp5615
    @fluiglp5615 Pƙed rokem +1

    i tried to create a Custom Editor for adding buttons into the Animator Menu, and for adding labels on the Animator States, maybe someone here has a clue how thats made :0
    I work in unity 2019 currently for some reasons if thats important

  • @AlKaponeLegend
    @AlKaponeLegend Pƙed 3 lety

    I love the clicking sound

  • @oloy7038
    @oloy7038 Pƙed 2 lety

    Does anyone know whats the settings of her visual studio? im new and its beautiful template or what ever you call it. thanks^^

  • @erenneager9986
    @erenneager9986 Pƙed 12 dny +1

    woke up to this

  • @JarppaGuru
    @JarppaGuru Pƙed 2 lety

    53:35 yeah its working but changing color on game too. do tool cretor want effect how game look xD. how apply color only for edit. we do editor tool lol.

  • @TheRabidCabbage
    @TheRabidCabbage Pƙed 3 lety

    1:26:28 What feature were you saying is only in Unity 2020? Your voice breaks up at the exact moment you mention it.
    All I got was "Chat says there is scriptable objects on ??????" Sounds like "OnValidate". but that doesn't make much sense. :D

  • @RegenerationOfficial
    @RegenerationOfficial Pƙed 2 lety

    I don't understand this "instance" and sharing data fully. I want to have my items/blocks/scripts communicate efficiently, how do I do that?

  • @guysome3263
    @guysome3263 Pƙed rokem +1

    Kitty was so vocal throughout, it wanted to co-lecture.

  • @k4chanzs427
    @k4chanzs427 Pƙed 3 lety

    (Material property blocks) Can we use this to SkinnedMeshRenderer.

  • @danielgruginski5496
    @danielgruginski5496 Pƙed 3 lety

    So... the 1/4 means there is more 3 videos on tool development or 3 more videos on an improvised live course? I absolutely loved this video, but I thought it was a bit short (really, considering all the content). Still, it was the most in-depth video I ever saw and it will help me get things done on my own going forward. Thank you for this content!

    • @acegikmo
      @acegikmo  Pƙed 3 lety

      part 2: czcams.com/video/limzVQFUMag/video.html
      part 3: czcams.com/video/qfGzwy_wSlw/video.html
      part 4: czcams.com/video/6hWtXtUq7oM/video.html

    • @danielgruginski5496
      @danielgruginski5496 Pƙed 3 lety

      @@acegikmo Oh, thank you Thank you!! I have no idea why those videos weren't showing up for me on the suggestions, now I got 7 more hours of really advanced stuff. Really appreciate your work!

  • @hobogamedev6846
    @hobogamedev6846 Pƙed 2 lety

    Flawless.

  • @martinrages
    @martinrages Pƙed rokem

    Love the cat's chair haha

  • @yummybunny7351
    @yummybunny7351 Pƙed 2 lety

    How you immediately have some space in parametr brackets "( )" ? Like at 27:35 - you just type function name, and cursor already inside brackets (thats by Rider, i suppose) and inside brackets 2 space - how?
    And 41:15 same

    • @acegikmo
      @acegikmo  Pƙed 2 lety +1

      it's my formatting settings in rider

  • @trejkaz
    @trejkaz Pƙed 2 lety +1

    Avoiding the name `Manager` in class names is a design principle in itself because the word doesn't really have any meaning.
    A name like `ExplosiveBarrelStore` or `ExplosiveBarrelRegistry` would probably be better in this particular case.

  • @IndieFist
    @IndieFist Pƙed 4 lety

    2:09:55 how much cost have this shader in mobile? you made it easy!

    • @fardinhaque70
      @fardinhaque70 Pƙed 4 lety

      Should run pretty flawlessly in any mobile device.

  • @jeremyfisher4082
    @jeremyfisher4082 Pƙed 4 lety

    A game development goddess that goes into the advanced area of Unity! Much love for your videos, Thank you for all you have done!

    • @jeremyfisher4082
      @jeremyfisher4082 Pƙed 4 lety

      but seriously though you have really good stuff on this channel, I have some friends that are making a nordic mythology game, we met in game design at full sail. so when I saw your name I was like " game development goddess" sorry if it sounded any other way. I think your work on these videos complements my studies at Full sail University. The vids are very informational and I truly do appreciate it!

  • @kvskchaitanya4733
    @kvskchaitanya4733 Pƙed 3 lety

    Is it efficient to use material property blocks on run time. Like selecting character color at runtime. And is it OK to apply material color to a ui image color like image. Color= material. Color

    • @acegikmo
      @acegikmo  Pƙed 3 lety +1

      yes! although UI specifically doesn't let you access or set its property block afaik

    • @kvskchaitanya4733
      @kvskchaitanya4733 Pƙed 3 lety

      @@acegikmo thank you so much.

  • @georgerobson8329
    @georgerobson8329 Pƙed 2 lety

    2:41:19 Blew my mind. Is that rider/jetbrains specific?

  • @DeathbyLibra
    @DeathbyLibra Pƙed rokem +1

    Hey Freya! Awesome vid! I adore your brain! Lol (is that weird?) anyway, is there somewhere I can go to see when you will be hosting these live streams in the future or just ask you a couple questions in general? I’m a 3D artist and just finished a technical artist internship while working on a shipped title
 I am apprehensive about moving forward in my career path atm and would love to pick your brain a tiny bit. Do you have a patreon? :)

    • @acegikmo
      @acegikmo  Pƙed rokem

      I do have a patreon yeah! www.patreon.com/acegikmo
      As for my streams, I'm currently trying to recover from burnout, so unfortunately I'm not very actively streaming as of the past few months. But whenever I stream, I usually do it on twitch, at twitch.tv/acegikmo

  • @Kenbomp
    @Kenbomp Pƙed 2 lety

    Hide flags sign of bad design if used in actual game code. No wonder some devtools don't save changes.
    Onvalidate() when change inspector

  • @anidiva79
    @anidiva79 Pƙed rokem

    Superb Learning...can u please share the editor and its extensions of unity

  • @ivanoarrighetta
    @ivanoarrighetta Pƙed rokem

    I'd like to understand how 2D and 3D Vector Graphics works, especially for modeling and illustration (so stuff like extrusion, deformation, rigging, and pretty much everything you can do with Inkscape and Blender).
    Can you please recommend some book[s] about this?
    Thanks for any help

    • @ivanoarrighetta
      @ivanoarrighetta Pƙed rokem

      Anyone?

    • @vtoz1830
      @vtoz1830 Pƙed rokem

      @@ivanoarrighetta Math for Programmers Paul Orland as an overview .
      Then u should lurk around dissertation and opensources sharers to be more specific

    • @ivanoarrighetta
      @ivanoarrighetta Pƙed rokem

      @@vtoz1830 Thanks so much =)

  • @JarppaGuru
    @JarppaGuru Pƙed 2 lety

    44:57 still waiting what is best for editor LOL. Use this it change color on editor. dont leave anything and game work normal

  • @AnkitRathore-ru5kh
    @AnkitRathore-ru5kh Pƙed 2 lety

    How to Create Preview Window for Particle System??

  • @yuhangren9917
    @yuhangren9917 Pƙed 4 lety

    gooooood

  • @cahydra
    @cahydra Pƙed 2 lety

    material property blocks doesnt change the color of my objects :(

  • @user-ln7bv8eg1z
    @user-ln7bv8eg1z Pƙed rokem

    ë„€ 맞슔니닀. Blunfist 의 댓ꞀìČ˜ëŸŒ 읎 영상을 ëłŽêł  따띌하싀 때 URP부턎 êž°ëłž Lit 셰읎더의 ì»ŹëŸŹ í”„ëĄœíŒí‹° 읎늄읎 _BaseColor입니닀. 도움읎 되었윌멎 합니닀. ìč˜ì–Œì“°

  • @timstevens3361
    @timstevens3361 Pƙed 2 lety

    what beautiful headphones you have

  • @bigmistqke
    @bigmistqke Pƙed 2 lety

    This is is why I love the internet.

  • @devil2005iscool
    @devil2005iscool Pƙed rokem

    she is so so attttttraactttiveeee

  • @danamuise4117
    @danamuise4117 Pƙed rokem

    This should be retitled to "Technical Artist Essentials"

  • @JarppaGuru
    @JarppaGuru Pƙed 2 lety

    52:31 we are doing tool that only effect editor and not shaders all all those thing game programmer done lol
    like tool that game programmer doing lol

  • @daomingliu7251
    @daomingliu7251 Pƙed 3 lety

    great

  • @kerbrose
    @kerbrose Pƙed 4 lety

    Hello
    I'd like to know your opinion about Godot game engine.

    • @acegikmo
      @acegikmo  Pƙed 4 lety +2

      never used it myself! I know some people who use it, seems neat I suppose? :)

  • @Knyazev32
    @Knyazev32 Pƙed 7 měsĂ­ci

    I always thought that the "God of Unity" is a guy in a checkered shirt and with a beard, but it turned out that "he is" a pretty girl! :) Thanks for this information!!!

  • @n8dev
    @n8dev Pƙed 2 lety

    how am I just finding this

  • @TearscapeSE
    @TearscapeSE Pƙed rokem +1

    I need a tool which translate my bad english in machine language so i can talk my game finish.