Unity3D AI with State Machine (FSM), Drones, and Lasers!

Поділитися
Вставка
  • Опубліковано 11 жов 2024

КОМЕНТАРІ • 200

  • @NationOfBacon
    @NationOfBacon 5 років тому +185

    Thought I was getting discord notifications the entire video. Really liked the video, trying to learn as much as I can about AI.

    • @Grynjolf
      @Grynjolf 5 років тому +25

      Ya that was really getting on my nerves. Could have just not recorded desktop audio, or at least muted it in post. There wasn't any reason to be recording that.

    • @FullMe7alJacke7
      @FullMe7alJacke7 4 роки тому +8

      @@Grynjolf I'm sure it was a minor oversight is all.

    • @darkstorm496
      @darkstorm496 3 роки тому +1

      I was still thinking that it was discord going crazy until I read your comment XD

  • @RafaelColladoLemon
    @RafaelColladoLemon 5 років тому +41

    I REALLY appreciate this video. I have been one of those "million if-statement" people for far too long.

  • @Woodythehobo
    @Woodythehobo 4 роки тому +8

    Love that rush of suddenly understanding something. This will be really damn useful and clean up my code a lot. Love these no nonsense deep dives. Thanks dude!!!

  • @dilp79
    @dilp79 3 роки тому

    I like intensity of information per minute of video, enough to get all details and you don’t loosing time. Thanks for sharing your expertise

  • @Bramoldinho
    @Bramoldinho 5 років тому +16

    Would love to see more in-depth videos on this subject and the more advanced stuff. Great job on the video!

  • @aldigangster123
    @aldigangster123 4 роки тому +2

    Love your deep-dive tutorials. You are the only one I know who goes into the necessary details, without any rambling or getting himself lost. Really like that you record your videos being prepared and not just start talking into the blue. That said, I've could have listened another 2 hours to you talking about state machines (but maybe without the background beeps) :)

  • @SebastiranLoL
    @SebastiranLoL 4 роки тому +1

    The source code file on the website only contains the bad version, not the good one.
    Great video!

    • @Me__Myself__and__I
      @Me__Myself__and__I Рік тому

      True, and that is really annoying. Why offer the source at all if its only going to be the "bad" version?

  • @speedrob
    @speedrob 4 роки тому +2

    1:02 you god damn tease, I wanted to see that fight.
    Great tutorial too.

  • @sadunozer2241
    @sadunozer2241 3 роки тому +1

    Hey man, I'm a pretty experienced programmer, which not much time in my hands, and having good/best practices like this helps a lot! I'm not so good with Unity, so going through good example projects isn't really and option for me since I get confused by small things like animations etc. But I'm very good with sys admin stuff micro services etc. Seeing content on youtube where %30-50 of it is just garbage code but has this cool little bit is a waste of time. Since we all respect your experience, please keep doing videos like this where you take a concept and do it how the industry does.
    Thanks!

  • @keilvid
    @keilvid 2 роки тому

    Very complicated Topic, but I can tell already that this will be substantial to learn

  • @tonychristney2728
    @tonychristney2728 3 роки тому

    Another advantage of using Type vs enum is that the default Dictionary hash comparer for enums casts to object, causing boxing everywhere.

  • @rickhernandez8301
    @rickhernandez8301 5 років тому +2

    Amazing! Learn more in this video than I did in any of my college classes about AI and Unity.

  • @Animaniac-vd5st
    @Animaniac-vd5st 5 років тому +2

    I like how your videos evolve and where you are now.
    Showing simple solution - show better version and discuss some decisions and where you would improve from there on.

    • @Unity3dCollege
      @Unity3dCollege  5 років тому

      Thanks! Happy to hear it :) I thought that may be a good format to demonstrate something like this, otherwise it's really easy to justify sticking w/ the simplest solution (which of course works great sometimes too though :)

  • @alec_almartson
    @alec_almartson 4 роки тому +1

    Thank you Jason. This is amazing stuff.
    I've always wanted to know HOW gameplay programmers made those NPC/CPU characters to 'think', and to fight against us - human players (I have wondered that since I was 6 years old, playing 'Beat 'Em All' games (e.g.: Brawl Brothers, Final Fight I, II, III, etc.) because I was amazed by the complexity of the characters' behaviour in some cases).

    It is funny somehow that it can be accomplished by solution so simple as: a SWITH - CASE STATEMENT(or some IF - ELSE IF - ELSEs) with a ENUM Variable for all the possible Enemies' States.
    Please, don't hesitate to make more in-depth videos about State Machines, A.I., and Machine Learning Tips and Tricks. Your videos are really great.

  • @FractalPrism.
    @FractalPrism. 3 роки тому

    thanks for making this kind of content.
    explaining each label as you go is great.

  • @dvandamme00
    @dvandamme00 5 років тому +1

    excellent video, as usual. far *far* better than the official unity state machine tutorials.

  • @MrStonedLover
    @MrStonedLover 5 років тому +1

    Very good video.
    My FSM was a bit different and this video gave me the one thing that was missing to make my FSM much smoother and expendable.
    I like your videos. It helps me a lot! Appreciate your work! Keep going!

  • @gamedevshrish7602
    @gamedevshrish7602 2 роки тому +3

    Hi Jason, amazing tutorial.
    I'll have to gripe and say that the discord sounds are kinda distracting here tho.

  • @Urasawa92
    @Urasawa92 4 роки тому

    These videos are so good, it's insane that they're available for free! Thanks!

  • @unlockener
    @unlockener 5 років тому

    Great tutorial. Next could be about FSM that have decision logic outside the states (I think they are called hierarchical FSM, but I might be wrong) and then about behavioral trees. Next approach could be unit AI -> group AI -> player AI (like RTS opponent). This would cover the topic nicely.
    Btw, what I like about your tutorials is that you are using a lot of syntactic sugar, more advanced syntax and c#4,5,6,7 features. As I am mathematician and not a coder this is super enlightening.

  • @TheDiggidee
    @TheDiggidee 4 роки тому

    This just solved a problem I had with random movement I was pondering on all weekend

  • @arthurmarquis764
    @arthurmarquis764 5 років тому +1

    Awesome lecture man. Thank you so much for helping me understand this concept. Need this for my own use and glad I get the chance to understand the concepts and not just rewriting someone else's code.

  • @darryljf7215
    @darryljf7215 5 років тому +22

    I don't know if i'm being thick or something, but the link to the project only has one script: Drone.cs and it's got the enum AI version ???

  • @PS-vj6jz
    @PS-vj6jz 2 роки тому +1

    This video very Perfect and Important for Juniour. Big thanks from Russia.

  • @moishirand5324
    @moishirand5324 5 років тому

    Great, I've been waiting a long time for your posts on this topic.

  • @Kramlets
    @Kramlets 5 років тому

    public Team Team { get { return _team; } }
    public Team Team => _team;
    Woww, that is so useful. I had no idea you could do that with the lambda operator. This is so much more readable than what I've been using.

  • @scottev954
    @scottev954 4 роки тому

    Thanks for the video. The more in-depth explanations are great, really helps me learn better coding practices.

  • @JumpingCow
    @JumpingCow 5 років тому

    Truly superb! Thank you. The detail is fantastic.

  • @pixelb0i255
    @pixelb0i255 4 роки тому

    Jason, as always thank you for the awesome guidance. I am interested in diving into AI more and like your previous way of coding AI states I too did the same thing i find it hard to enhance down the road. What I am looking for help with is a more modern day A.I. where the entity isn't so much patrolling or wandering, but guarding an area or zone until acted up on. Then it does the normal chase/hunt, attack/destroy. What I don't see a lot of included is: Flee, Call for Support, and destroying potential places a player might be hiding. The latter I would like to see how you incorporate into your A.I. Much appreciated and as always - thank you.

  • @darkogotal278
    @darkogotal278 5 років тому +6

    damn, discord is lighting up !

    • @Unity3dCollege
      @Unity3dCollege  5 років тому +4

      lol ya this is what happens when i edit on my own! :) attempting to clean that up rq lol :)

  • @pablo17349
    @pablo17349 5 років тому

    Awesome video Jason!

  • @martygusto3056
    @martygusto3056 3 роки тому

    Thank you so much!!!!! I am working on making a simulation and this greatly helps with defining agent behaviors!

  • @imteajsaimun4134
    @imteajsaimun4134 4 роки тому

    Congrats 100k

  • @fast_harmonic_psychedelic
    @fast_harmonic_psychedelic 4 роки тому

    World Builder, referring to Command and Conquer Generals's world builder! I caught it.

  • @TheDiggidee
    @TheDiggidee 4 роки тому +1

    Really love the advanced stuff you're covering and this seems really cool but I just have 1 gripe with it. Each of your states has knowledge of the other state. I think I'd prefer extracting out the decision making into a Chain of Responsibility that gets called in Update and just have the state perform the action that it is instructed to do.
    This way your states are decoupled, so is the decision making and this would then facilitate pulling this data from a datasource.
    Cool stuff any way

  • @phobos2077_
    @phobos2077_ 5 років тому

    Nice example, but I have a couple of questions based on me trying to use FSM for the first time in a game:
    1. How would you recommend passing instance-specific settings to a State class? I had to write a bunch of serializable POCO classes and put them into a MonoBehavior that controls AI and owns the state machine. Then pass those to State classes that I instantiate in that "controller". Worked but felt a little messed up.
    2. State transitions are hard-wired into State classes. What if I wanted more reusable states, how would I go about with transitions and triggers separate from State classes?
    3. (related) What if I want to have a variable "default" state. Let's say "patrol" state or "idle" state instead of a "wander" state in some cases... For now I only have one default state, but still wondered how would I go about it. I'd probably inherit WanderState and PatrolState from the same base (common logic) then use Wander as the default with a transition into Patrol only if we have Patrol waypoints set up... Not so sure about Idle state... :)

  • @BatgioK
    @BatgioK 5 років тому

    Learned a lot, great video! Would like more deep dives into other topics. Maybe pathfinding?

  • @parthpandya008
    @parthpandya008 5 років тому +3

    Hey, Many thanks for this tutorial. I have implemented this pattern in one of my project.
    It will be great if you can show a simple demo of ECS (hybrid) with Finite State Machine.

  • @FitnessEat
    @FitnessEat 5 років тому

    Great stuff. this channel always has top notch content. thanks 🤓

  • @zapposh
    @zapposh 5 років тому +7

    The download contains your previous switching method from part 1. Will you also be making the state machine scripts from part 2 available to follow along? Would be of great help.

  • @zekiozdemir420
    @zekiozdemir420 3 роки тому

    thank you for this type of content, learning a lot

  • @TheCrXe
    @TheCrXe 4 роки тому

    Flawless as always!

  • @Alluvian567
    @Alluvian567 4 роки тому

    Very nice. Like this a lot. I think I would prefer an enum of some type for the states though, this is the kind of thing where I am CONSTANTLY forgetting what I named stuff.

  • @Dxpress_
    @Dxpress_ 5 років тому +13

    25:42 I'm curious as to why you have a public setter for Target here when earlier in the video you mentioned how you made it's property use a private set because you don't want it to be set from outside the class.

  • @vima9046
    @vima9046 Рік тому

    Hello Jason! I have a couple of doubts. First i want to make sure that i didn't miss anything in this video for mine inattention but it looks like in the StateMachine class you are not using OnStateChanged event because anything has subscribed that event. Am i wrong? Second just to notify i dont't know why but in the downloadable project all scripts are missing! It contains only the old Drone.cs. Apart this i love your way to explain and i definetly would like to see more about state machines. Maybe even more complex AI behaviour in order to see the most of the potential of state machines! Great content and great teacher!

  • @matthewjaffe3507
    @matthewjaffe3507 3 роки тому

    This video helped me a lot. For my purposes though I think it's actually better to make the states MonoBehaviours because I have a bunch of data that I want to serialize on each state and I don't want some other MonoBehaviour to have to serialize all that data and pass it in to the constructor of each state. Having a bunch of states thrown on a gameobject is a little annoying but I am putting all of them on a child gameobject of my AI called states so it is a bit more organized.

  • @kidsteveee
    @kidsteveee 5 років тому +1

    Right now ChaseState returns the typeof AttackState. If you were to implement something more data driven, how would you go about returning a more generic indicator so that one type of drone could dance after "catching" the target vs attacking? Would you return an OnCaughtState enum, and then add or depending on the drone? Or is there a better way to handle this using callbacks or something?

  • @had1t1x85
    @had1t1x85 5 років тому +4

    "I'll do a little cut here... *clap clap*" xDD

    • @Unity3dCollege
      @Unity3dCollege  5 років тому +2

      lol i think i figured out how to remove it finally without replacing the video :) should be gone soon (sorry for everyone who wanted to see me clapping like a goofball :)

  • @synystersocks4275
    @synystersocks4275 3 роки тому

    thanks dude, lovely work ^^ this was very helpful :D

  • @alberto-martino
    @alberto-martino 5 років тому

    Another great video! Thank you 👏🏼👏🏼

  • @blind_neighbourhoodNerd
    @blind_neighbourhoodNerd 4 роки тому

    Wow this is awesome!!

  • @mohokhachai
    @mohokhachai Рік тому

    The men who give me lightning

  • @CheeseChuckie
    @CheeseChuckie 5 років тому +11

    You really need to mute your discord dude :P Otherwise great vid!

  • @johnlane440
    @johnlane440 5 років тому +2

    another great Video, learning so much, But quick Question, in WanderState script , line 85 private Transform CheckForAggro(), is there anything after line 104, since getting error not all code paths return a value. Tried to download project but only shows first AI in video for 2 bots

    • @JohnnyThousand605
      @JohnnyThousand605 5 років тому

      I've done my best to transpose the scripts from screen, got the system working and shared them via dropbox in an above comment =)

  • @Programm4r
    @Programm4r 5 років тому

    So I managed to make it so my states have modular conditions. The conditions are inherited objects, each have an abstract bool called "EvaluateCondition()." If the condition returns true, then the current state will transition to the next state. I can add as many conditions as I like before firing the actions. I can also set it so All, Any, or None of the conditions must be met before firing the action. I simply drag and drop the conditions into each state's condition properties, modify the conditions, and set the action. I'm thinking about adding this to a library name space and building it into Unity itself so my finite state machine acts as a real component.

  • @JohnnyThousand605
    @JohnnyThousand605 5 років тому +1

    Great video. I've been struggling with State Machines and saw it as 'too hard, I'll do it later' type of thing, but your example and descriptions are really good. Will you be uploading the final scripts to your website?

  • @Bramoldinho
    @Bramoldinho 5 років тому +1

    Just a question: Why would you use the GameSettings thing over something like a scriptable object? Is it faster? Or just a different way to essentially do the same thing?

  • @JohnnyThousand605
    @JohnnyThousand605 5 років тому +7

    Here's my version of the scripts in the above video. +Unity3D College let me know if you want me to take this down ;-)
    I've changed some of the variable/class names to suit my purposes and also, as my game is 2D, I've modified the movement from transform.forward to transform.up. Without being rude, if you're looking at this level of scripting you should be able to figure what equates to what. That being said EnemyStateMachine, Drone and IndividualAISettings all go on your drone/enemy. I've also included a couple of new states that I need, Retreat and Escape. You'll probably need those in your project even if you're not using them or you'll have to modify the dictionary. Anyway, hope this helps.
    www.dropbox.com/sh/de47ghhhrd8r6a0/AAAfumYQYgCr5C6GPxKBTamwa?dl=0

    • @ravanin
      @ravanin 5 років тому +1

      thank you for these!! I was looking for a more readable alternative than the video.

    • @JohnnyThousand605
      @JohnnyThousand605 5 років тому

      @@ravanin No problem man. =) They may need some tweaking because I'm making a 2D game ;-)

    • @kielblock
      @kielblock 5 років тому +1

      Thanks a lot for these, was trying to implement the code as in the video, but never got it right, thanks again :-)

    • @JohnnyThousand605
      @JohnnyThousand605 5 років тому

      @@kielblock No probs, good luck =)

    • @CyberMan14
      @CyberMan14 4 роки тому +1

      @@JohnnyThousand605 Thank you so much for your help, I really appreciate it :)
      Just wanted to ask how to implement the "NPCWeaponSystem" if I wanna shoot projectiles? Again thank you so much

  • @danielsturton4793
    @danielsturton4793 4 роки тому +2

    Jason Weimann The download link seems to just have one file in still?
    I am in the process of building the scripts from the video but would love to see the originals to compare how I did :) Thanks

  • @connorwendt8683
    @connorwendt8683 5 років тому +6

    Awesome tutorial! I noticed that the download only contains the first scene you presented with the single "Drone" script not the full FSM example. Figured I'd check to see if it was a problem on my end or yours. Thanks!

  • @maxim25o2
    @maxim25o2 3 роки тому

    thats greate, please do more.

  • @SealDev
    @SealDev 4 роки тому

    Helpful video! Thanks

  • @jose_develaw9021
    @jose_develaw9021 5 років тому +1

    First of all, thank you for such a great work and congrats! Now one question. Maybe Im loosing the basics, but I dont get why you didnt use the Animator for building the state machines. Thanks in advance and please, keep bringing nice content!!

  • @moha0961
    @moha0961 5 років тому

    Thank you for the great tutorial

  • @joshodom9046
    @joshodom9046 5 років тому +5

    There's a bit of a hidden bug:
    CurrentState = _availableStates.Values.First();
    The issue with this, is a Dictionary doesn't have a guaranteed order.

    • @Unity3dCollege
      @Unity3dCollege  5 років тому +4

      Great catch, I completely missed that! (anyone implementing this, take note and be more specific about the initial state when setting up) :)

  • @trookie2179
    @trookie2179 3 роки тому

    Hey Jason, are you able to please edit the link to include the "good project"? Currently, only the "bad project" is linked
    Cheers for everything you do btw, I'm really enjoying your course, haven't had time to check the updates to it yet, but I'm keen as! :D

  • @SendarkWoW
    @SendarkWoW 5 років тому

    Hi Jason -
    Yet another great tutorial, as usual, and definitely helped me a lot in breaking my own monster FSM Update() class down into something a bit more manageable. One question: I noticed that you store variables related to each state within the state (for example, the _attackReadyTimer variable). How would you handle a case where you needed to show this information on the screen (e.g., an indicator showing how much time is left until the drone is ready to attack again?)
    One way to handle it would be to put the _attackReadyTimer variable into the Drone.cs class, but that could potentially lead to bloating the "main" class with variables specific to each state, thereby reintroducing a lot of the complexity you wanted to avoid in the first place.

  • @pimpace
    @pimpace 5 років тому

    Awesome tut Mate! Can you point me in the right direction what coding pattern should I follow for strategy game? (space simulations, war between two fraction, battles between groups, etc) Is there a video you've already made for this maybe? Or maybe a tutorial for strategy games coding style/pattern/practice? Thanks in advice!

  • @holoemiter
    @holoemiter 5 років тому

    Quick question, on Awake within the GameSettings class, should the else condition be removed? It appears we are destroying the instance if it happens to not be null but never replacing it

  • @joaniepepin4968
    @joaniepepin4968 5 років тому +6

    Thank God you did not use the animation state machine for the AI, this horrible practice makes me want to throw my monitor every times I see it shown in a 'tutorial'!

  • @ravanin
    @ravanin 5 років тому

    At various points in the video you mention using initialization/constructors for data caching to increase performance. Is there some recomended reading on this topic? I kinda wanna understand more about that.

  • @autorotate1803
    @autorotate1803 5 років тому +2

    Is there a Behavior Tree Tutorial coming?? :D

  • @jakobjenbo8780
    @jakobjenbo8780 2 роки тому

    thank you for teaching os stuff :)

  • @ForgottenMovieGems
    @ForgottenMovieGems 4 роки тому +6

    Loved the video, but please turn off the notifications next time. It's incredibly distracting D:

  • @Tymon0000
    @Tymon0000 5 років тому +4

    That discord notifications :D

  • @ZoidbergForPresident
    @ZoidbergForPresident 5 років тому

    Interesting, but is it a good idea to have references to BaseState children types in each state?
    I guess, you could add a parameter to the constructor for a default switch over to type then? What do you think?

  • @RaPL123
    @RaPL123 5 років тому

    Hi, how do you combine State Machine and Component approach? Because State Machine force you to write code into Tick methods. Or not?

  • @danixadem
    @danixadem 2 роки тому +1

    You're doing an absolutely great job in explaining the stuff. I have a question, and will appreciate if you reply: what if we seperate data and logic of State classes; then keep the StateData instances unique for each drone game object (because each drone will be chasing different targets etc), and make state logic methods (which takes StateData and game object parametres) as static methods? Would static StateLogic classes provide some memory saving, compared to creating multiple instances for each drone object?

    • @safwatahmad7672
      @safwatahmad7672 Рік тому +1

      Memory footprint of a method is generally quite small compared to data it operates on. thus memory saved here would likely be minimal.

    • @danixadem
      @danixadem Рік тому

      @@safwatahmad7672 thanks mate

  • @chadm6777
    @chadm6777 Рік тому

    Hi @Unity3dCollege I'd like to see you offer a master class on GOAP AI

  • @phobos2077_
    @phobos2077_ 5 років тому

    Also do you think FSM can handle simple RTS unit AI or I need full Behavior Trees for this purpose? What about FPS AI?

  • @In-N-Out333
    @In-N-Out333 5 років тому +21

    I see you changed your mind about using underscores lol

    • @Unity3dCollege
      @Unity3dCollege  5 років тому +13

      I did :)

    • @JohnnyThousand605
      @JohnnyThousand605 5 років тому

      @@Unity3dCollege Hi Jason, cool video, not sure if you'll see this but can you have a look at the question I've posted up the top? My implementation is hanging at run time =\

  • @Irategamefan
    @Irategamefan 3 роки тому

    I have to ask why give us the Simple code when you talk about your complex one so to speak? I've been trying to fallow along with your AI and when I got stuck and went to read it, and all that's in the "Download" link was the simple code. Is there something I'm missing or what?

  • @aoberthuer
    @aoberthuer 5 років тому

    Great video!!

  • @Kreesty
    @Kreesty 4 роки тому

    Honestly, this method is almost impossible for debugging. The more complex the AI gets, the harder it is to work with. Also if you need Coroutines and such, you're gonna have to create them in the main enemy script anyway, so there's not much reusability after that (that being the main goal of this method). It also makes a lot of scripts in your assets folder which gets messy. And you'll want to implement your own Start and OnDisable-like methods for each state if you want to really make this usable. At least that's my view on it, feel free to correct me if i'm wrong.

  • @longlevan92
    @longlevan92 5 років тому

    Hey, Jason,
    Now your private field are using underscore prefix :D

    • @dalton-lima
      @dalton-lima 5 років тому +1

      I am following the Raider's suggestions:
      * without underscore for a [SerializeField] private field
      * with underscore for a 'regular' private field

    • @longlevan92
      @longlevan92 5 років тому

      that coding styles are good, I am following too :D

  • @Ferenc-Racz
    @Ferenc-Racz 3 роки тому

    Hi! What is I introduce the DamagedState and the drone get damaged by a drone, but the drone also do attack an other drone? How should I handle dris mixed state? (Literally how should I compose different states?)

  • @iguessimagamer3018
    @iguessimagamer3018 3 роки тому

    Love you sir ❤️

  • @josemodz4713
    @josemodz4713 5 років тому

    Please do a video explaining how to do a truck with trailer with hinge joints, I've been trying for a long time to do it and it's impossible for me...

  • @DavidPatMathis81
    @DavidPatMathis81 4 роки тому

    This is a great video, but it would be infinitely easier to follow if you didn't include all the drone code and just showed changing of states at the press of a button.

  • @ravanin
    @ravanin 5 років тому

    About this type of state, im thinking of making a point'n'click state machine that has diferent interfaces like Iattackable, Iinteractable, Italkable, is it possible to make all these inculde an onclick type? my original idea was to use a string identifier and use that to switch to the correct state.

  • @Kramlets
    @Kramlets 5 років тому

    OnStateChanged?.Invoke(CurrentState);
    This will only invoke OnStateChanged if it exists, right? I never knew you could do this with the conditional operator. Where do you learn this stuff?

  • @NaruHinn
    @NaruHinn 5 років тому +1

    Thank you for the great tutorial
    Can you please make a one for 2d platformer ai pathfinding

  • @DerClaudius
    @DerClaudius 3 роки тому

    Not bad... but I'd probably want configurable States, so I can reuse StateTypes multiple times per Machine..
    So you can't use the type as the key of the state dictionary .. but something like this:
    {States.Idle, new WaitState(this, 3/*seconds*/)},
    {States.Sleep, new WaitState(this, 30/*seconds*/)},
    ...

  • @liamhouston8001
    @liamhouston8001 5 років тому

    Love you videos, have you ever considered making like a bigger game system process rundown/implementation and making it into a Udemy course or something. I'd buy it, just saying.

  • @containedhurricane
    @containedhurricane 4 роки тому

    How to show those "usages" and "overrides" information on top of each function in JetBrains Rider?

  • @dreamcatcherstudio5841
    @dreamcatcherstudio5841 5 років тому

    Love your tutorials! Do you do freelance work? We really need help on our project.

    • @Unity3dCollege
      @Unity3dCollege  5 років тому +2

      I generally don't have enough time to take on more work, but I can definitely recommend a few great developers I'd hire personally if you wanna send over details. :)

    • @dreamcatcherstudio5841
      @dreamcatcherstudio5841 5 років тому

      @@Unity3dCollege thank you very much! I would love that. We are working on a title called INTERSTELLAR PRIME and need help with C# in general.

  • @Exodus000191
    @Exodus000191 4 роки тому

    What final project, where is this final project? Is it the one in your $1500 dollar class?

  • @JoseLopez-oz5tn
    @JoseLopez-oz5tn 5 років тому

    Is there a way I can do something similar but for 2D? Mostly having enemies jump on top of platforms?

  • @tophatx4598
    @tophatx4598 5 років тому +5

    The download link doesn't seem to include all of the scripts :(

    • @JohnnyThousand605
      @JohnnyThousand605 5 років тому +1

      Yeah, I noticed that too. It's got the 'basic' scripts from the beginning of the tut but not the new & improved ones from the end =(

    • @taylorgriffin6269
      @taylorgriffin6269 4 роки тому +1

      @@JohnnyThousand605 write them yourself he goes in to great detail

    • @JohnnyThousand605
      @JohnnyThousand605 4 роки тому

      @@taylorgriffin6269 I already have (a while ago) and have included a link to the scripts in another comment ;-)

    • @luckyducky7819
      @luckyducky7819 4 роки тому +1

      @@JohnnyThousand605 I can't seem to find your other comment. Can you link to the improved scripts? If not, its fine.

    • @JohnnyThousand605
      @JohnnyThousand605 4 роки тому

      @@luckyducky7819 Not sure how to link to the specific comment but if you sort the comments by date my comment is about 8 months ago =)

  • @maxwellprince5742
    @maxwellprince5742 5 років тому

    Hey thanks for teaching us! How to I get my IDE to say "Set By Unity" next to Serialized fields?