Also, I've noticed that some people spawn a bearded dummy character with the start point, but mine always spawn one of the origin characters. Is there a way to control who gets spawned at a start point?
I'm currently in the process of trying to find out more about this topic as well but I believe you are encountering this because when you created a new project, you selected "Load Data From Story". This appears to load up the scripts for spawning those characters. Without loading the data from the story, the engine will create a Dummy character for each player.
I'm still trying to figure out where the scripts are that spawn and assign the dummy character (with the intent of changing the character that gets assigned).
Edit: I've been able to have some success in modifying the party, thought I'd share here. I create a new goal in the script editor
IF
GameEventSet("GAMEEVENT_GameStarted")
THEN
CharacterAddToParty(CHARACTERGUID_Animals_Dog_B_000_d0718df4-06ac-4724-8e78-e9851b8e465e, CHARACTERGUID_S_GLO_CharacterCreationDummy_001_da072fe7-fdd5-42ae-9139-8bd4b9fca406);
CharacterMakePlayer(CHARACTERGUID_Animals_Dog_B_000_d0718df4-06ac-4724-8e78-e9851b8e465e);
CharacterRemoveFromParty(CHARACTERGUID_S_GLO_CharacterCreationDummy_001_da072fe7-fdd5-42ae-9139-8bd4b9fca406);
CharacterMakeNPC(CHARACTERGUID_S_GLO_CharacterCreationDummy_001_da072fe7-fdd5-42ae-9139-8bd4b9fca406);
When the game starts, this will fire. First it adds a dog to the same party as the dummy character. Then it converts the dog into a player. Then it removes the dummy from the party and makes the dummy an NPC.
This process still leaves the dummy in the level, I haven't found a way to remove him yet but this is a crude way to customize what character your player starts with.
I would much rather find the script that spawns the dummy and assigns the player but .. this is a trial/error process.