Ah.
- Well first of all when it comes to remote events you can pass in more than just the input. You can also pass through the plane, input, player who controls the plane and you could also pass in more input for example lights that are on the plane.
It is very easy to forget that remote events are simply a way of communication between the player and the server
The player knows what seat he/she is sitting it.
The player can talk to the server
Therefore you can tell the server what seat the player is sitting in.
The server can use the seat to know which plane to move.
The server can change the properties which would be then replicated to all other clients.
Once you get more experience with programming you will also get more experience with Roblox’s API and be able to solve more complicated things in the future
Carry on !
2 USE BOTH! You don’t have to be picky about what services to use you can use whatever services feels right when you need it. I am sure there is a way to handle mobile devices however I would say for the first few weeks programming do not worry too much about making your games completely mobile friendly. Most games take a long time before they turn into mobile friendly ones.
That being said, it isn’t too much harm learning about it early on.
Just for clarity
Context Action Service is used when the player is in a specific state e.g. Equip a tool or sit in a seat or is swimming etc.
User Input Service is used for getting user input generally. These are more used usually through out the game and handle the functions that are constant e.g. Opening Shop Gui, Settings etc.
There are a bunch of things that they do that are unique to them
UIS can get VR input and device rotation also can get pointer location.
CAS can make mobile friendly onscreen buttons for the user can be set to enable on the equip of a tool and can be disabled and enabled very easily.
Most cases you should use CAS since it can be unbound. In your case CAS would be the best option to go with. If you still don’t understand how you can solve this just reply.
- This one might be a bit harder to explain. I think I should use pics
lets start from 2d first
What is a vector?
[1,2] <----This is a vector sometimes it is drawn from top to bottom.
Vectors can describe a Position Direction or Velocity

This here is a vector [1,1]
We are starting in 2d bc it is much easier to understand
Magnitude
The magnitude of a vector is the length of the line. You might even be able to work it out how long the line even is using a calculator.
If you took maths you may know that a^2 + b^2 = c^2 – Trigonometry
Thankfully we do not have to do this in Roblox
A quick look on Vector3 You might be able to see a property called Magnitude.Very convenient 
Okay next
Direction
You might be able to see that this vector is pointing in a different way
Now do you think the Vector for this will be? (A>C)

Click below to see the answer.
If you managed to get this right !!WELL DONE!!

If not that’s okay we all learn at different rates…
You might also be start to realize how changing a vector changes it’s direction.
A Unit Vector is what is used commonly to describe a direction. A unit vectors length is always 1
If you look at CFrame You may be able to see a property called lookVector Which is actually a unit vector which means we can use it for direction. Pretty handy!
Velocity
Now let’s say we have 2 Velocities
[3,3]
[5,1]
Which one do you think is faster?
At first you may think they are both the same however look at it on a graph.

The faster Vector is actually [5,1] !
The speed of the vector is actually the length of the Vector so Magnitude == Speed!
Once you start looking into Vectors more and using them more you should be able to understand them better.
…
I just read your post but I already wrote this so…Ah well. Ping me if you need me!