I’ve been teaching game development at the University level for a little over 4 years. As a generalist, I’ve taught a pretty wide variety of classes, from Level Design, to Scripting, to VR Design, to Project Management.
During the summers I often run summer camps for high school students, and during those camps I teach the full pipeline - concerting and iteration, sketching and planning, creating art assets (modeling, texturing, rigging, animating), world building, scripting, and integrating art/sound/VFX.
I remember my college days where I was told being a generalist was a bad idea, and that if I wanted to be successful I needed to choose an area to focus. Although most of my jobs have not utilized all of my skills, I have never struggled to find work in the game industry, and many of my employers have appreciated my ability to jump seamlessly into other roles when needed.
At my current University, the topic often comes up in discussion among faculty of how to get our students to focus, to keep them from becoming generalists.
Here’s my two cents - if you can code, you will always have that to fall back on, there will always be someone who will pay you to write code.
If you can make art, you will always be able to bring your ideas to life. There may be times when it will be hard to find someone to pay for your art, that comes with the territory, but that shouldn’t keep you from creating great things.
If you can lead a team, you will find ways to do so, even if you are not formally given positions of authority.
Don’t shy away from being a generalist, if you are passionate about many different things, lean into that passion and become great.
On the other hand, if you have strong skills in one area and no interest in strengthening the other areas, then by all means specialize. Being a generalist is not for everyone, and many game studios rely on having very specialized skills on their team.