1.Po co używać instrukcji [SerializeFiled] aby zmienna była publiczna jak można ustawić zmienną speed na publiczną.
To jej nie czyni publiczną z punktu widzenia kodu; sprawia tylko że np jest dostępna w panelu inspektora.
2.Dlaczego jak przypisałem warość zmiennej isRigidbody bezpośrednio w klasie a nie w funkcji Start która jest w tej klasie to wywala mi błąd.
Nie napisałeś jak to zrobiłeś i jaki błąd dostałeś.
Jeśli zrobiłeś to po prostu przenosząc linię z `TryGetComponent`, to to nie ma prawa zadziałać, bo nie można ogólnie mieć wykonywanego kodu poza metodami.
3.Dlaczego funkcja TrGetComponent wysyła pobrną klasę Rigidbody do zmiennej rb jak już znajduje się w zmiennej isRigidbody.
Niezbyt rozumiem... component trafia do pola `rb`, a do pola` isRigidBody` trafia informacja czy faktycznie taki component został znaleziony.
(w zasadzie to to pole `isRigidBody` nie jest potrzebne, bo jak nie ma komponentu rigidbody to `rb` będzie nullem, nie?).