How to have different classes in multiplayer?

I set up multiplayer and got it to work with steam, I also have several “special abilities” like a jet pack, speed boost, stealth generator, and a shield generator. However when a friend and I load into my server to test out the game, we spawn in with all of the abilities. How would I go about setting up a UI before you click spawn that would allow you to pick one of those abilities?

I would suggest looking into UMG UMG UI Designer Quick Start Guide | Unreal Engine Documentation for the UI.

The UMG/Widgets will facilitate in allowing the Player to communicate with its corresponding owner(PlayerController), to let the Server side PlayerController(Server owns a copy of all playercontrollers, while client only owns its own) to change the data regarding abilities,classes that you should store in a custom PlayerState.

When the Player is ready to spawn, press some sort of spawn button, letting the corresponding owner(PlayerController) tell the Server’s PlayerController that it wants to spawn and do so accordingly with the proper settings based on the custom PlayerState. That could be spawning different Pawns/Characters, or having a Pawn/Character with different settings to specify which abilities it has, such as some, all or none.