Importing realistic water to unity/unreal

i know that unity is a very old engine, so i thought to myself why even bother making realistic water on blender or if its even possible to import at least some of it to unity. i saw the water you can make in unity and i really dont like it. it looks like something from 2007, i want to make realistic ocean, do you think that its even possible or at least in unreal you can export all what you can do in blender to that engine? if so. how do i do that?

Water in games is still a challenge to this day, it requires complex shaders to get right. For an ocean, there is no point trying to import from Blender, the systems aren’t compatible. The game engines will have to use their own systems and generate their own displaced waves and their own foam and splashes.

There is pretty much no way around it, you will need either to do quite a bit of research and work or use a paid asset someone else made.

I have just looked and didn’t manage to find a truly realistic example of an ocean in Unity.

This is the best I found in Unreal (a paid asset).

But even then, I wouldn’t guarantee something this advanced has a performance as good as a simpler solution.




There is one way you could import water from Blender to a game engine. You can use an Alembic file to transfer a fluid simulation, both Unity and Unreal should be capable of doing this.

But that isn’t without problems either. You will be limited by Blender’s fluid domain and won’t be able to make a looping simulation, so this could only be used for a one time, localized splash of fluid. It could be useful for a one time cinematic event in a game, but never for an ocean or river.

An other problem this technique has: the game engine’s materials will never allow a water simulation to look as good as it could in Blender. You get only an approximate refraction and no way to add foam.

1 Like

well i checked and i saw there is a new water thing in unity as well and what i’ve seen in unreal (not that video) was good enough as well. i mean even gta v had good ocean and it was released in 2013 so its not the problem of getting a good ocean for a game, its more of a problem of you need to build your models in blender (i’m making a huge landcape of arctic sea with icebergs and snowy terrain but that means i would need to import each landscape sepretly to unity/unreal (because those softwares does not have the right tools to make them) and bake every texture for each iceberg/landscape and import the shaders for each one. (and it will probably be downgraded from how it looks on blender) i just dont know what to do because i want to build everything on blender first because this is where i have the most tools. so if lets say i make the water/ocean as simple as possible, will i be able to import it to unity/unreal? i mean without the ocean simulation of course.

I have been experimenting with making a landscape in Unreal myself. The way I modelled the water in Blender is this:

This is a plane that gains increasingly more resolution as you reach the center. It can be made easily, with multiple insets and then subdivide. That way, I can have more detailed waves at the coastline and have the detail reduce in the distance, but the ocean can stretch a huge distance and still have some waves very far away (which will be less detailed, but you won’t see them up close).

Then, I use some moving noise and sine waves textures in Unreal to displace the surface and make waves. Because of the increasing detail of the mesh, the waves naturally get more intricate close to the landscape. I don’t claim to be an expert in making water and my result isn’t the best you will ever see in a game, but it’s reasonably easy to do it this way and get a somewhat decent result.

But if you intend to make the final water with an effect done entirely in engine, you can just use a simple plane for preview and replace it easily with the final effect.




For this particular project, I also made the landscape in Blender like you plan on doing instead of Using Unreal’s terrain tools. This allowed me to get more details than Unreal’s terrains could get. Here is the way I did it.

As you can see, the terrain is divided into a grid. Each square is a separate object. There are a lot of them, but you could use fewer, my dividing turned out to be more severe than it needed to be.

I first modeled the terrain in high detail, but keeping a resolution that can still be worked in Blender without crashing, which gave me about 10 million triangles for this full terrain. I made it using a complicated sequence of modifiers and displacements, but you could also sculpt it.

Then, I split the mesh into sections. This allows each part of the terrain to have its own LODs (or in Unreal, use the Lumen system properly), allowing the huge terrain to run well in a game engine. The lod’s need to be able to keep their original borders for this to work, or you will see cracks between the pieces.

Every object has its origin in the same spot, so I can put them all at 0,0,0 in Unreal and they just align themselves correctly. In fact, that’s something you can just generally do if you import a whole environment: put the origins of every static object at 0,0,0 and you can easily keep everything together after the transfer to the game engine.


For such huge object, you can’t bake the textures and expect to get good resolution. You have to use multiple repeating textures and blend between them on different parts of the landscape.

I texture the terrain in engine using a triplanar mapping setup in the material. This allows all the textures to automatically project themselves onto any shape in world space, no UVs required. It would be too difficult making clean, continuous UVs for such a huge object.

I then vary the texture between grass, rock, gravel, dirt and snow using masks which I baked/hand painted in the vertex colors, as well as normals direction and altitude (I use altitude to make snow appear on the peaks, but limit it to upward facing geometry using normals).

Finally, I add vegetation and clouds and surround the landscape in far away mountains (that share the same smart material as the main landscape), and I have my full, giant landscape which I fully transferred from Blender.

I added an arch, because that’s something UE5’s terrain tools cannot do.

The central mountain, to give an idea of what size I managed to reach.

You were talking about icebergs, well here is a mountain glacier in my landscape. The material changes depending on the normal of the surface. The sides are blue ice, the top facing surfaces are white snow. No UVs required.