The term “Finite State Machine” sounded really intimidating to me. But it’s like switch statements and with some extra flair haha. An FSM has a set of cases (“states”). Those states can change depending on whatever is being input.

FSMs are commonly used in video games. For example, a character needs to switch between different states such as running, jumping, and idling.

On the other hand, serialization is turning an object into data (like bytes) to store it somewhere (like a file or database) in order to recreate/save the state of the object when needed… which is pretty useful!

That’s basically the gist of it. I’m trying to understand their usage in Unity as I type this 🙂

I think this was a valuable lesson to not let jargon and other technical terms scare me away. Just dive in!

Sources:

Brilliant – Finite State Machines

Microsoft Documentation – Serialization (C#)

Unity Docs – Scripting API: SerializeField