The best way is to create a child class from ALevelScriptActor and add this into it:
/** The default character class used by players on this team. */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Classes)
TSubclassOf<class ACharacter> DefaultCharacterClass;
Then open the level blueprint and reparent that blueprint with your new child class. Then you need to override the GetDefaultPawnClassForController function in your custom AGameMode class. Then in that function access the instance of your level using the Singleton pattern or however you choose to accomplish it and then return the DefaultCharacterClass attribute from that.
If you need more help, shoot me a message, but this is what we do in Black Sand Studio’s World at War.