Recently I started tinkering with the buoyancy system out of curiosity and after a while I've figured out a way to make it work. There are some good tutorials on youtube but there are some key aspects that get overlooked, so here is a quick breakdown of how I got it to work:
First go to the content browser settings and show plugin and engine content.
(I'm assuming you have enabled the water plugin and created an ocean or river for your meshes to float on ).
Look for the Buoyancy example BP and open it.
Create a blueprint containing the mesh you want to float on the water, then you can either add a buoyancy component to your own blueprint or copy paste the one from the example.
Select the buoyancy component and in the details/buoyancy data drop down menu you will find the pontoons, this are invisible reference points that will make your mesh float on the water so make sure to adjust them so they cover a rectangular area around your mesh, the z value will determine where the water level will be relative to your mesh. You can add an arrow component to the blueprint to get some reference xyz values to use for the pontoons.(if there is a way to visualize the pontoons let me know I couldn't find one).
Now that you have your buoyancy set up select your mesh and check Simulate Physics and Mass, you can adjust the Mass later but I would leave it on the default value.
And finally the Key information that was missing from other forum posts and tutorials is that you have to make sure that the pivot point is centered on your mesh and that the collision is as simple as possible, a cube or rectangle works best and the more complex it is the more probable it is that your object will sink.
This is a trial and error process so start with a basic cube or prism and slowly adjust the size and test it to make sure it works.
Also make sure to place your blueprint mesh a couple of meters above the water before simulating/playing, otherwise it will sink to the bottom of the ocean and end up in Davy Jones's locker, or so I'm told. Again this is trial and error so start higher and slowly try to get it as close to the water as possible.
Hope this was useful and if I missed something let me know!
PS:
Another important factor regarding buoyancy is the waves, you can use the ocean or lake waves, make a copy of the original one and adjust the min max amplitude, small values like 2-4 or 4-8 should make it easier for your objects to have a stable floating movement.







































