You can define and use two Team Info blueprints with the same name, or maybe even use the same one twice.
I would change auto assign so that if it detects someone on team 0, put people on team 1, otherwise put someone on team 0.
Using different character blueprints is a bit harder, but a starting point is to define new behavior in BP_Deathmatch->RespawnPlayer and have it choose between different Pawn classes when spawning.
I just finished porting Generic Shooter to Android and iOS (No longer just an Nvidia Shield) and its completely playable with touch screens. Virtual joysticks had some issues so right now moving and aiming is pretty janky, but it works. When virtual joysticks/touch interfaces become more robust, I’ll improve this. This additional support for mobile will be added in Butchering Beagle, which will go out after a few more changes are done.
Mind if I do a tut on the subject of adding extended classes? I’m doing a class based shooter based on your framework, so I think others might find it useful to have that info.