Using a class to control two "player" objects

Hi all!
I’m working on some homework and i’m looking for a little guidance. Anyone that’s been through the forums and/or YouTube has seen the “roll-a-ball” tutorial. For my intro to c# class, i’m having to create my own modified version of this game.
I already have one version with a single player, 3 enemies, and a win condition. That version works. My task in this version is to add a second player that moves using separate inputs, and i have to create classes for my two players and enemies. What is the best way to approach this? I want to only focus on the player at the moment. Once i figure out what i need to do i can apply it to the enemies later.

  1. I have several triggers within my current playerController script that i need to function. Can that be part of the class? It will need to be part of both players interaction with the environment.
  2. Since both of my players will be receiving different inputs to govern their movements, should i create a simple script for both that only handles the movement of the players and let the playerController/class script handle everything else? My assignment does specifically say “these classes should have the ability to move in the world”. How do i designate different inputs for two objects of the same class?

Also, can input manager be used to solve some of my questions? I’ve been looking through it but all the settings seem to be general settings that apply to all objects, not just a single object.

I hope you guys can point me in the right direction.

//tag each gameobject in hierarchy & test its tag in the same script:
if (this.gameobject.tag == “player”)
{
//do something
}

if (this.gameobject.tag == "enemy")
{
      //do something
}