Water bubbles are created openVDB object by X-Particles. You can find bubble tutorial, Bob always introduces a nice tutorial. Not difficult.
Also, a top of the camera has animation water surface was created by Blender 2.8 fluid system. This water surface was used to generate animated caustics throughout the scene. Export alembic from blender and import to Cinema 4D.
As the bubble gets finer, more ray depth is needed otherwise, ray stoped and surface color get dark. If it needs to get more clean water required a lot of ray depth.
Of course, If need nice caustics details shooting a lot of photons each light and set to a properly radius is also required.