The simplest way would be to attach the model to your player, turn the player invisible and enable flight for the player. Then you could adjust the player settings to tweak flying physics.
You can use the empty third person project as a base.
To get started, create a server context script and add these lines:
player:SetVisibility(false, false) -- turn player invisible, dont hide attached objects
Task.Wait() -- for some reason, ActivateFlying() didnt work without waiting a tick
Game.playerJoinedEvent:Connect(PlayerJoined) -- Call function for every player as they join
Then, add a client context script that attaches the object to your player:
local propShipModel = script:GetCustomProperty("shipModel")
local player = Game.GetLocalPlayer()
local ship = World.SpawnAsset(propShipModel)
You need to add a custom property to the client script and drag your plane template from your project content into it so the script can spawn the model into the game.
Thats how you can make a very basic flying plane with controls already working. Now you can adjust the camera position and player movement/turning speed and add extra scripts to rotate the model around more realistically.