As far as I’ve gathered, different DMs and GMs handle player creation separately. Some prefer to be as involved as possible, and individually chat with the players and make up a character for them. Others expect players to make their own characters at home, and bring them to the first game, and some ask players what race and class they want to play, and make the rest up themselves. Me? I’m in favour of holding a Session Zero. A Session Zero is a whole session (Usually 2 or 3 hours, sometimes a bit more if the need arises) where the DM and players will get together, and sit down to make characters as a group. I find that Session Zeroes are the most effective, and generally fun way of starting out a campaign.
In terms of timing, I usually run my Session Zero during the time the group will normally meet to play. That way people don’t have to find or make time that they didn’t anticipate they’d need. I like to start my Session Zero by introducing the players to the general mood/setting of the game we’re going to play, be it a pre-written adventure or a homebrew, I also like to cover any restrictions on races and classes that will be in place (e.g. for new players, I usually only allow PHB player options). This basically lets the players know what to expect, firstly so they can create a character that suits the tone of the game, and secondly it eliminates that awkward “Well, I thought we’d be playing this kinda game, but actually we’re doing something totally different” discussion that inevitably arises when one player arrives with their Monty Python-esque character when everyone else has prepared for a Lord of the Rings style story. I then like to take a bit of time to find out what the players themselves want from the game, whether they’d rather play an RP heavy game, or a hack’n’slash style Dungeon Delver, so I can accommodate what I write for them.
In terms of character creation, I think Session Zeroes are the most roundabout way of doing it. Firstly, the DM is there to give a hand if a player ever needs it, but more so, it allows players a chance to come up with a generally satisfying starting point- Are they all already friends? If so, it’s a great chance to share the basics of your characters, so you all feel as though you know each others characters going into the game, or if you’re starting as strangers, it gives you the opportunity to discuss how you will all come to be at the one place at the one time- i.e. if you’re starting at a tavern in a huge city, what brings each character there on each specific night, it also lets the DM take notes on your characters, and start planning out how to use your back story as the game goes on.
I tend to run very role-play heavy games, and to me, one of the most important functions of a Session Zero is to establish boundaries for said roleplay, in what I allow as DM, but more to the point, what the players are comfortable. I’ve played with groups where the characters would bicker among one another, and in come cases, proper in character arguments. These can be very fun games, however, different players have different levels of comfort- Some actively avoid inter-player conflict, so having a session zero enables the players and DM to establish this amongst one another- Which players can you argue with, which players genuinely don’t like it. Further, it allows you to work out other kinks in the story. I once ran an evil game, in which all the players played characters that fell on the evil end of the spectrum. This was a lot of fun, because we established boundaries in the session zero- We established how much evil was okay- Murder and theft are generally considered okay in most games, but what about more sensitive topics like torture- Is it okay, and how much is okay? Do the players want to describe what they do in detail, or would they rather just fade to black and roll a die to determine the outcome. There are always sensitive topics in a game, good or evil, but more so in an evil game, and without establishing boundaries, it’s very easy for players to inadvertently cross some kind of line.
Session Zeroes also help with Party Balance. I personally don’t believe in it—but that’s aside the point— A lot of parties like to have some level of balance, if not just variety in their story- They want a warrior, a cleric, a mage, and a thief of some kind. If the players make their own characters at home, there is a genuine chance that 50% or more will come as similar classes (I once ran a wizard, a sorcerer, a bard, and a druid in the one party), and whilst I don’t mind this, and am happy to run a game for that group, players occasionally have an issue with this- They want to be unique, not just 1 of 4 spellcasters, but THE spellcaster, or THE fighter, or THE rogue. Having a session zero lets you discuss how much variation or sameness your party is comfortable with, and then create a party that they feel works best as a group.
Okay, so at this point, you could be thinking a few different things- Can’t I just send out a one page document to each of them explaining what’s allowed, and let them work the rest out amongst themselves? Or why don’t you set up a Facebook group, or something like that, and the reality of it is, much like playing the game, half the fun is actually being around the people and sharing in an experience, and personally, I believe that the benefits of having a Session Zero outweigh any downsides you may think of. That said, I’d be interested to hear what other people have to say about it, let me know in the comments.