I'm a little confused by your post, but am assuming you want to get from Vilshofen to Munich (not sure it's the city or the airport), after a Danube River Cruise.
Vilshofen Bahnhof (Train station is about a 10 minute, fairly flat walk from the cruise quays at Vilshofen. (take the pedestrian tunnel under the road, and follow the signs for the Stadtplatz/Altstadt/Ortsmitte. (about 500m) Once in the cobbled centre, head towards the church at the far end, follow the road across the bridge and up to the junction. Turn left and about 200m along on the right is the turning to the train station. (there is a McDonalds on the corner of this turning).
From Vilshofen it's a direct train into Munich main station (Hauptbahnhof).
If you are intending to go straight to the airport from Vilshofen, it's best to get off the train at Freising, then take the number 635 bus (runs every 20 minutes or so, from Frieisng station to the airport).
Buy a Bayern ticket for the entire journey (including the bus)
https://www.bahn.de/en/view/index.shtml - for train timetables, tick the local transport only option
To: München Flughafen Terminal 1
To: München Flughafen Terminal 2
Select "only local transport" to be on the safe side with a Bayern Ticket.
Flughafen is German for airport.
Bayern Ticket is always available and you can buy it on spot from the ticket machines at Vilshofen train station. If you want to buy online do this on rather short notice as the ticket comes with "no change, no refund".
Using the bus from Freising you can give as destination directly Terminal 1 or Terminal 2 with the DB timetable as the bos serves both. Bayern Ticket covers the complete trip incl. bus from Freising to the airport.
My sincere thanks. I will be going to the Muc airport from a river cruise. Sorry for the confusion I was using the airport code. 😀