Make a realistic boat in Unity with C#

1. Introduction

In this tutorial you will learn how to make a realistic boat in Unity. There are multiple ways to make a boat in Unity, and so far I've identified the following:

  • Just add a box collider to your boat, and place it so it will look like the bottom of the boat is below the water line.

  • Use Unity's built-in wheel colliders. You can find a good explanation of the basic idea here: Physics-based Ship Movement.

  • Create a model that looks realistic, but is fake (as explained here: Floating an object on water)

  • Create a model using the real physics equations from mother nature. We will focus on this method in this tutorial. It will be slower but look much more realistic.

Unity boat tutorial scene

To create a realistic boat, we have to go through the following steps:

  1. Create the basic scripts so an object can just float
  2. Create a sea
  3. Make what is now just floating float more realistic
  4. Add an engine to the boat
  5. As the boat is interacting with the water, it will create foam, so we need to add that as well