- An open-source API for 3D visualization of underwater environment
- A library of 3D assets of marine life and environments
- A framework that can be extended to visualize more marine ecosystems
- Built on top of the Unity game engine
Split-screen: Visualize up to 4 scenarios - or up to four time slices of a single scenario - simultaneously by varying species densities and water quality, providing immediate visual impact how ecosystem states differ:

Realism: The environment is generated from a library of assets based on rules to create a rich and believable world:

Performance: Uses numerous SofA techniques to ensure high performance even with massive numbers of fish on-screen:

Programmable: Uses simple JSON data structure to drive the visualization:

Asset Library: Over 50 ready-to-use entities including fish, mammals, birds, invertebrates, and manmade objects:

Ocenviz3.Introduction.Video.V6-h265-25.mp4
- Unity LTS Release 2022.3.20f1
- Unity will also install Visual Studio which is needed for software development
- Blender 4.3
- This is needed if you want to make changes or additions to 3D assets library
- Development is done on Windows 10/11, but the source code is cross-platform since Unity itself runs on Windows, MacOS, and Linux.
- X64 architecture Quad Core Intel i5 or Ryzen 5 processor
- 8GB of RAM, 16GB preferred for development
- DirectX12 capable GPU with 4GB of video RAM (Geforce 20xx+ or Radeon RX 50xx+ or higher)
- Integrated graphics are also supported if it's relatively modern (Intel Iris Xe or AMD Radeon)
- Install Unity Hub launcher and the corresponding version of Unity outlined in the Software Stack section.
- Clone or download this repository
- Add the project folder
Oceanviz3from this repository to Unity Hub, then double click the project to launch the editor. - Initial loading of the project will take 3-5 minutes since Unity has to build a lot of cache files.
- Once the Unity editor is open, Open the
/Oceanviz3/Assets/Scens/mainscene. This is the basis for our underwater environment. - Press the triangle 'Play' button at the top of the screen to start the visualization.
- Once the visualization is loaded, use the on-screen UI on the left side to add/remove species, and change environment.
Because Oceanviz is designed to be an open-ended framework, the source provided acts as a starting point for you to build your own ecosystem.
There are 2 primary ways to control Oceanviz:
- Via the on-screen UI
- Via an API by feeding the visualization a JSON data structure.
More detailed documentation for developers can be found in the /docs directory.
Oceanviz3 was developed by the Ecopath International Initiative, with contributions from Paweł Łyczkowski, Pietro di Chito, Mike Pan, and Jeroen Steenbeek.
OceanViz development acknowledges funding from projects MarinePlan (Improved transdisciplinary science for effective ecosystem-based maritime spatial planning and conservation in European Seas; European Union's Horizon Europe research and innovation programme HORIZON-CL6-2021-BIODIV-01-12 under grant agreement #101059407) and NECCTON (New Copernicus Capabilities for Trophic Ocean Networks; European Union's Research & Innovation Action under grant number #101081273)
