UNET - Connecting to specific users + Inventory / Saving (NOT FPS)

I am working on a new RPG game which will involve 3 main characters, the idea is that a user can control 1 of the 3 characters, therefore through networking 3 friends can play the same campaign mode, whilst having full control of their character, including inventory on their device.

I am thinking of using UNet as this seems the best option moving forward, however I have a few queries which I am not 100% sure about, with no knowledge of networking, any guidance or tutorials would be much appreciated:

1 - Is it possible to connect and control a specific user. This is not a FPS therefore I do NOT want to create a spawn random players.
2 - What is the best approach to store the individual player inventories (I was considering doing this locally on the users device)
3 - Can I get it so that the games are essentially saved so that when all 3 users can re-connect to the game in the same place that they last saved it
4 - If one of the users is not available to play then the party leader would take control of the missing character (the missing character would essentially just follow the main character).

I have found a few tutorials in regards to creating a FPS, however nothing for my particular needs. I would also like to mention this game will have an offline campaign mode (single player), this is 75% complete and the online version will just be a clone of this with the added networking side of things.

1 - There are many ways to approach this. For example, I am working on a game where player can build their ship using built-in modules, and then play it online. As for now (is really early stage), player can send a spawn request using custom NetworkMessage, which contains IDs of modules it wants to spawn, and then server handles the spawn. But really, there are many ways to do it, it is possible.
2 - This depends on your needs. And there are many ways for doing this, too. One I can think of is that server holds the inventory data, and sends it to the client whenever it is needed.
3 - Yes, and again… many ways. You can save player data server side. And then load it on demand, and make changes as needed.
4 - this can be done using server-side scripts. Here I have no idea yet, but I’m sure you’ll work it out. And yes, it’s certainly possible.

And side-note. Depends how you want to approach this, but you can also store player data (such as inventory when they go offline) on some master server of your design - and the host could send requests to it and load it on demand.

Programming is beautiful cause most things can be done. You just need to think of the way.