I spent yesterday and today learning how to use the Animator component in Unity. It’s really simple and I found myself enjoying fiddling with the timelines and working on transition parameters, so that’s mostly all this post will cover. Using the pixel art editor program Aseprite, I edited my Player sprite and turned it into more of a sprite sheet with multiple actions on it.

After that I used Unity’s Sprite Editor tool to “slice” this image into 6 separate sprites. This is the most convenient feature of Unity that I’ve discovered so far. Rather than making 6 .png files for each individual frame of an animation, I draw everything on one sheet and Unity splits them into separate images automatically.
So I drew all the frames, stitched them together using the Unity Animator, and then I had to edit my code, in order to tell the game which animations to play depending on what the player does. Through this process I learned about something HUGE; you can use Unity components in your code if you identify them. Then I learned about [SerializeField] and started getting really excited about how deeply you can customize Unity, in order to fit the rules and needs of your specific project. After this, all the future programming that I’m terrified of feels a little less scary.
After all of that excitement and supposed triumph, it didn’t work. My character was endlessly trapped in a jumping position regardless of whether or not they were in the air. I guess you could call this the first ever bug-fix of my career. I searched my code endlessly yesterday, but I decided to give up for the night. I went on Reddit, watched YouTube videos, went on Unity Learn, and ultimately realized that the code I wrote for character movement and collision was pretty weird and overly complex.
Today I completely rewrote my movement code, and not only is it more concise, it also feels smoother. I can easily edit the speed at which my character moves and their jump height. I also programmed in a double-jump, but I’m not sure if I’ll use it. After that, I programmed in the animations, crossed my fingers, and:

It actually works! If I wanted, I could be completely done with this character right now, but I have way bigger plans for him. I’m really excited to have climbed this wall, and I feel like animation will be a breeze for me compared to the other aspects of the game.
I think next I will try to bring our friend The Guard to life. I want him to start walking towards the player after two seconds with his spear forward. If the player touches the spear they die. This will teach me how to implement player death, and enemy AI!