ZERSTORENGAMES

OCEAN AND BOATS SIMULATOR / GUIDE 1 OF 5

Quick start

Five minutes from adding the plugin to sailing, then the sea and a boat in your own level, wind, packaging and FAQ.

On this page

Ocean and Boats Simulator is an ocean and boat-handling system for Unreal Engine 5.7 and 5.8.

The sea is driven by the wind. It runs from a flat calm to a hurricane, with swells, rogue waves, breaking bars and five named wave forms. The same maths runs on the GPU for the picture and on the CPU for the physics, so a boat floats on exactly the waves you see.

Boats float, roll, pitch, plane and steer from their own hull shape. Every triangle of a simple buoyancy hull feels the water: pressure, slamming and drag. The plugin also gives you:

  • propellers, outboards, pods and thrusters, with a helm that works like a real one (levers or telegraph, wheel, autopilot);
  • the wake, spray and foam each hull throws;
  • a multifunction helm display, a boat picker and a wave tank to test your boats in regular waves.

Four ready-made boats are included: a centre console, a planing yacht, a yacht support vessel and a power catamaran. Your own boat is a data asset: no code is needed.

This page takes you from zero to sailing, then to your own level.

For step-by-step guides to common tasks (your own level, the sea's look, options, effects, several boats, your own maps, taking the helm in your own game), see HowTo.md.

1. Requirements

  • Unreal Engine 5.7 or 5.8, Windows (DirectX 12).
  • The engine plugins Enhanced Input and Geometry Processing (enabled automatically with this plugin).
  • Recommended: Lumen global illumination and reflections, Virtual Shadow Maps and Shader Model 6. The ocean uses the engine's Single Layer Water shading.
  • Optional: Ultra Dynamic Sky and Ultra Dynamic Weather. When they are in your project, the sea follows their wind. They are never required.

2. Add the plugin to your project (2 minutes)

  1. Close the editor.
  2. Install the plugin to your engine from the Epic Games Launcher (Fab library). Or copy the NavalArchitect folder into the Plugins folder of your project; create Plugins next to your .uproject if it does not exist.
  3. Open the project. If the editor asks to rebuild modules, answer Yes.
  4. Edit > Plugins: search "Ocean and Boats", check that it is enabled, and restart if asked.
  5. In the Content Browser, click Settings (gear) and enable Show Plugin Content. The provided content is in Plugins > Ocean and Boats Simulator Content (shown as NavalArchitect Content when the Content Browser shows folder names).
  6. Recommended project settings: add these lines to your project's Config/DefaultEngine.ini, or set them in Project Settings > Rendering, and restart: ``` [/Script/Engine.RendererSettings] r.DynamicGlobalIlluminationMethod=1 r.ReflectionMethod=1 r.Shadow.Virtual.Enable=1 r.GenerateMeshDistanceFields=True

    [SystemSettings] r.Water.SingleLayer.Reflection.Denoising=1 r.Water.SingleLayer.Reflection.ScreenSpaceReconstruction=1 ``` The last two lines filter the sea's reflections. Without them, the rough sea's reflections sparkle from frame to frame.

3. Sail (1 minute)

Open one of the example maps in Plugins > Ocean and Boats Simulator Content > NavalArchitect > Maps and press Play:

MapWhat it is
L_NA_StartThe start screen: the full experience, from the boat picker to the place, its sea and the open water.
NA_Map_DemoAn island with a small harbour under a clear sky.
NA_Map_OpenOceanOpen deep water to the horizon: the sea states and the wave forms.
NA_Map_WaveTankRegular waves on deep water, set from a panel. It measures her speed, pitch, heave, roll and the blows on her bow.

A map opened on its own sails the boat picker's first boat (the lowest Sort Order); press B twice at sea for the shipyard and pick another.

At the helm:

ControlKeyboardGamepad
Throttle(s) ahead / asternW / S, Up / Downright / left trigger
Port / starboard lever (twin engines)R / F, T / G
Wheel port / starboard; amidshipsA / D, Left / Right; Xleft stick; X
All stopSpaceA
Bow thruster; stern thrusterQ / E; Z / Cshoulders; D-pad left / right
Autopilot on / off; heading -1 / +1 deg (Shift: 10 deg)P; comma / periodY
Trim tabs bow down / up; lift port / starboard sideI / K; J / LD-pad up / down
HornHright stick click
Lights: auto, navigation, all (where she has deck lights), off; searchlightN; Y
Wipers: off, slow, fast (where fitted)U
Camera: chase, bridge, drone, sea level, freeVB
Look round, zoomright mouse button held, mouse wheelright stick
Camera kit: next camera; its next angleF5; F6
Helm display: full, minimised, iconTab
Sea down / up; long ocean swell on / off; rogue wavePage Down / Up; F7; F8
Wave tank on / off; its panel; longer / shorter wavesEnd; M; Insert / Delete
Restart the run; back to the shipyard (press twice)Home; BView button
Pause menuEscMenu button
Hide the interface; film cameras; slow motion; photoF2; F3; F4; F9
HelpF1

F5 goes through the camera kit's cameras (chase, bridge, beside her, drone, deck, the ship's own cameras) and back to the game's camera; F6 picks the kit camera's next angle. V or F3 gives the view back to the game's cameras.

The mouse works the helm display directly:

  • click the rudder bar to set the wheel;
  • click a lever's slot to set that lever;
  • click the telegraph to give an order;
  • click the trim tab and thruster controls to work them;
  • click the page buttons at the bottom to change pages;
  • drag a window's title bar to move it; its _ button folds it, and - and + size it.

4. Put the sea in your own level (3 minutes)

  1. Open your level. Delete any other water body or ocean plane in the area: the plugin draws its own sea.
  2. Drag NA Ocean (ANAOcean) into the level. It follows the camera and covers the whole view, so one is enough.
  3. In its Details panel, set the sea:
    • Preset: Beaufort (a wind sea), Zone (a sea area), one of the five wave forms, or Custom;
    • Beaufort (0-12);
    • Wave Direction Deg.
  4. Your level needs a sun and a sky: a Directional Light (Atmosphere Sun Light on), a Sky Atmosphere, a Sky Light (real-time capture) and optionally Volumetric Clouds and Exponential Height Fog. The sea reflects and refracts them.
  5. Shallow water and coasts: the sea reads the depth from the map's depth asset, so waves shoal, steepen and break over a coast that rises out of the water. You make that asset from your ground with the NA Map Setup actor (HowTo.md, guide 12); without it the sea is deep everywhere. The sea level is world Z = 0: the ocean actor always stands at Z 0 (it puts itself back there if moved up or down), so place your landscape and coast around that height.

5. Put a boat in your level (2 minutes)

  1. Place Actors: search NA Boat and drag it into the level, near the sea's surface.
  2. In its Details panel, set Boat Mesh Set to a boat definition from NavalArchitect > Boats, for example DA_NA_Boat_CentreConsole. She floats at her own draught when you press Play.
  3. To take her helm with the plugin's controls and interface, set World Settings > GameMode Override to NA Sea Trials Game Mode: its pawn takes the helm of the first NA Boat in the level (and launches one if there is none). To drive her from your own pawn or code, call the helm functions of her NA Ship Motion component; see BlueprintAPI.md. To let a character of your own board her and take the helm, call Take Helm (HowTo.md, guide 13).

The boat picker is in the shipyard: open L_NA_Start and press Play, or press B twice at sea. It lists every boat definition in your project that can sail, including your own, with its configurations and upgrades.

6. Wind, and Ultra Dynamic Sky / Weather

The wind drives the sea state, and it pushes every boat's hull and superstructure.

  • By default the wind is the ocean actor's own setting.
  • If Ultra Dynamic Weather is in the level, the plugin reads its wind automatically (no setup, no hard link).
  • Any actor of yours can be the wind source too: add an NA Wind Source component, or implement the plugin's wind interface (see Customizing.md).
  • To make the sea build and fall with the wind, switch on Sea Follows Wind on the ocean. The sea eases from one force to the next over Wind Follow Seconds.

7. Packaging your game

  • The plugin's own content (materials, sounds, boats, interface) is cooked by itself: its Config/Game.ini adds those folders to the directories to cook. The example maps are cooked only if you list them in Project Settings > Packaging > List of maps to include in a packaged build (or open them from your own maps). So are the maps you add to the places table (HowTo.md, guide 12).
  • Your own boats: a boat definition outside the plugin is cooked only when a packaged map uses it, or when its folder is in Project Settings > Packaging > Additional Asset Directories to Cook. Its buoyancy mesh needs Allow CPU Access to float in a packaged game.
  • Languages: in Project Settings > Packaging > Localizations to Package, set Internationalization Support to All and add the cultures you ship (it, de, fr, es, pl, pt-BR) to Cultures to Stage. The language menu offers only the languages the packaged game holds.

8. Performance

  • The ocean is one mesh that follows the camera. Its detail fades with distance.
  • Each boat's physics, wake and spray run on the game thread. The wake and the spray are the costly parts, and they grow with the boat's speed. Measure your own scene with stat game and stat unit. A packaged build runs faster than Play In Editor.

FAQ

My boat sinks or flies out of the water. Its buoyancy hull is open or its mass is wrong. Select the NA Boat: Boat > Particulars shows what she floats on, her measured numbers and what to fix. Check her Buoyancy mesh (closed, Nanite off, Allow CPU Access on) and her Mass. See Customizing.md, "Your own boat".

My boat is not in the boat picker. A definition with Listed off is left out, and so is one that cannot sail (no hull mesh, nothing to float): the Output Log says why, on a line tagged [NABOAT]. In a packaged game, check that she is cooked (step 7).

The sea is flat in my level. Check the ocean's Preset and Beaufort. With Sea Follows Wind on, also check the wind: an Ultra Dynamic Weather actor with no wind, or a wind override of 0, calms the sea.

The sea's reflections flicker. Add the two Single Layer Water lines from step 2.6.

A hull shows a jagged fringe in its shadows. Virtual Shadow Maps look shadows up very close to the surface, and a hull lit at a grazing angle can show a saw-tooth fringe under its rubbing strake. Add r.Shadow.Virtual.NormalBias=4 under [SystemSettings] in your project's Config/DefaultEngine.ini, as the demo does.

How big is the ocean, and where is the sea level? The sea follows the camera everywhere, so it has no edge and one NA Ocean is enough. On the NA Ocean, category Ocean, Surface Extent is the detailed area (its half size in metres; 2000 by default) and Horizon Extent is the flat outer ring that carries the sea to the horizon (its half size in metres; 40000 by default). To make the sea bigger, raise them on the NA Ocean actor. The sea level is world Z = 0 in this version: place your map around it.

What are the Water sliders in the pause menu? At sea, Esc > Sea and wind has a Water group (Colour, Clarity, Foam) for trying the look of the water out, as in the demo. A game sets its water in the ocean's material instance instead (HowTo.md, guide 2), and switches the sliders off in Project Settings > Plugins > Ocean and Boats Simulator > Interface > Pause Menu Entries > Water Look.

How do I add my own map, or take one out? Maps are the rows of a data table, and the NA Map Setup actor writes a row for you. See HowTo.md, guide 12.

Can I use another water plugin's ocean? The boats float on this plugin's ocean, whose waves the physics reads exactly. Another plugin's water can still be used for lakes and rivers elsewhere in the level.

Which languages are included? English, Italian, German, French, Spanish, Polish and Brazilian Portuguese for all player-facing text. See Customizing.md, "Languages".

Cookie preferences

Choose whether to allow YouTube videos. You can change your mind at any time using Cookie settings at the bottom of every page.

Cookie policy · Privacy policy