A new C++ version called Fluid Flux Plugin is currently being developed. The new version is nearly complete, and it will be available early next year (2025).

For now, I can only present a short list of differences in the first release of the Plugin:

  • Improved usability, enhanced editor tools, and better integration with Unreal Engine UI
  • Simulation domain implemented in Niagara and new spline modifier
  • Whole blueprints code rewritten to C++ (Github access)
  • Improved performance (mainly CPU related)
  • Better sequencer support

The Fluid Flux Plugin will be primarily targeted at larger studios and experienced developers, and it will be released as a separate product on FAB. While it’s not exclusive, please note that modifying the C++ version will require programming skills and some extra work on transferring existing projects, which I did not want to force on current Fluid Flux users.

What about Blueprints after the Plugin release

Many concerned developers ask about the blueprint branch of the Fluid Flux. The excellent information is that The new programmer has joined to work on C++, so I can still focus on updating blueprints. 
I plan to continue adding new features and enhancing tools as long as possible.

However, I am unable to tell for how long I can support two different branches of the product. I will evaluate the situation after one year from the Plugin release (early 2026). A possible scenario is that I will switch focus to the C++ version and only provide minor improvements and engine-related updates to the blueprints. However, my final decision depends on many factors, such as:

  • Interest in Pluign in comparison to the Blueprint version. If most users decide to switch and prefer to use Plugin, then there is no reason to continue development.
  • Whether the BP version can still evolve, the blueprint’s limitations block many features, and at some point, adding another workaround may be too problematic.
  • The complexity of transferring asset-related changes between the two versions. It may be exaggerated significantly when the differences between the two branches of the project are growing.

This information may concern those who have already invested in the Blueprints version of my product and are now interested in using the Plugin. I understand that, and I am looking into possible discounts for current owners of Fluid Flux.

However, there are also some voices of dissatisfaction in reviews that I feel obligated to address by reminding that:

I sell the products ‘as is,’ and customers should base their decision on the product’s current state (demo and feature set), not on theirs future expectations or announced features.

I don’t sell promises, future versions, my free time, or lifetime updates. I also don’t work for markeptlace clients. Please avoid basing your project’s timeline on unreleased features.

Every update is an additional effort driven by my passion for creating. Being obligated to complete something by a specific deadline can cause stress, and I prefer to avoid it.

 

Thank you for understanding

This document provides essential guidance on reporting system errors. Learn how to identify, report, and analyze bugs to ensure smooth support.

Before requesting support

Most of the issues are already known and can be easily avoided by you, which is why I prepared this checklist.

  1. Check the product’s limitations; there is a chance that your use case is not handled yet.
  2. Ensure that the bug is not listed in the ‘known issues’ of the product. 
  3. Read the documentation, mainly focusing on the chapters titled ‘Solving issues‘, which cover the most common problems.
  4. Check the marketplace launcher and ensure you use the newest version of the product.
  5. Ensure you are my client and use the product from legal sources; support may require verification.

Discord support threads

The support channel is based on thread conversations. Every question/request will start from a new thread, which makes it easier to follow separate discussions and provide direct support.

  1. Use the support channel ONLY if you have bought my product and need my help.
  2. Use a general channel to talk with other people on Discord.
  3. The bot will create a new thread after you send a question to the support channel.
  4. Add more details in your thread per the chapter “Preparing bug report.”
  5. Don’t stack multiple questions at once. Let’s focus on a single problem and solve it one by one.
  6. Write only in your thread; don’t start another thread conversation until your problem is solved.

Please obey the thread’s rules; otherwise, you will not get my support and can be suspended for a while.

Preparing bug report

I’m doing my best to help everyone, fix all bugs, and work around the engine limitations, but some configurations may still cause problems. Reporting issues helps improve the product. Preparing a precise bug report is crucial in increasing my response time and chances that I will solve the problem and show professionalism. 

  1. Write information about your configuration.
    • The Unreal Engine version you use
    • List of specific config settings enabled in the project (Lumen, Ray Tracing, Path Tracing, Forward Shading, Nanite, Substrate, and everything that you think could cause the issue)
    • Development Platform (Windows, Linux, MacOS)
    • Target Platform  description(VR device, Mobile, MacOS)
    • Add information if you can see the same issue in the example demo maps
  2. Prepare visual materials presenting the problem
    • short video
    • screenshots
  3. Write a clear and detailed explanation with the steps needed to recreate the problem on my machine. 
  4. Explain the result you want to achieve after solving the issue.
  5. Attach a minimal project presenting the issue (see below for a description of how to do it).

Minimal project

The easiest way to receive fast and direct support is to send me a minimal project demonstrating the problem. This reduces the time needed to reproduce the issue on my PC, which is often the most challenging part. Please read the description below to ensure that the minimal project aligns with the requirements:

  1. Download my product into the small (empty) project and reproduce the bug.
  2. Prepare repro steps.
    • Add information on which level should be opened
    • Add a list of steps to repeat to see the bug in your map
    • Add details on testing the target platform
  3. Minimalize the size of the project:
    • Remove all content (textures/meshes) that are not crucial for the presentation of the bug,
    • Remove “Intermediate”, “Saved”, and “Build” folders,
    • Disable all external plugins and ensure the project does not depend on them.
  4. I do not download files from unknown sources, so you must verify yourself by sending me the order ID via email or private conversation/email.
  5. Make sure that the bug can be reproduced with your description. Test it!
  6. Pack it (zip), upload it on the server, and send the link to me via support email at imaginaryblend@gmail.com. 

Don’t share minimal projects publicly on Discord or the marketplace questions tab. Always use the support email for sending the files imaginaryblend@gmail.com.

Reducing support response time

I receive numerous support requests and questions daily. Good communication practices and rules can simplify our work, reduce stress and irritation, and save time.

  1. Please use the support email or marketplace questions tab (I prefer it to Discord). Don’t ask for support in the YouTube/X comment section.
  2. Be precise and professional. Please give me as much information as possible (read: preparing bug report). I always respond faster to requests when they are clear and easy to understand.
  3. Be polite and patient; support may take a few days. If you don’t hear back, please send your request again or message me on the Marketplace Questions Tab. Your message might have gone to spam, or I missed it.
  4. I do not download files from unknown sources, so you must pass verification. The only way to verify is by sending me the order ID via email or private conversation/email.

Now you can report this bug by sending an e-mail to imaginaryblend@gmail.com

Introduction

 
Fluid Flux Update 2.1 brings a set of important bug fixes, stability improvements, and modifications added as a direct response to support requests, which makes the user experience even better. The new version of the pack is compatible with Unreal Engine versions 4.26 – 5.3. A detailed list of changes and a roadmap presenting what is planned can be found on Trello.
 

Before updating the Fluid Flux in your project please read carefully the Package Update Process. Following the update procedure ensures a smooth transition and minimizes the risk of potential issues arising during the update process.


Infinite Ocean example map

A new example map in Fluid Flux 2.1. The new map showcases the infinite ocean setup and large-scale stormy waves. This simple example does not use any domains, which makes it super efficient.

TSR Motion Vectors

I’ve improved motion vector generation in surface material, significantly improving water rendering quality. I’ve also added slope velocity, which fixes noisy smearing on the waterfalls. The new motion vectors generated from world position offset work well in Unreal Engine 5.3, so I recommend switching to the latest engine version). For the best experience, use this configuration in your project settings:

  • Velocity Pass = Write During Base Pass
  • Default Renderer Motion Vector Settings = Precise

Minor issues and bugs may still occur on distant water, and I will work on them in future updates.

Underwater shaders

  • replaced old nosy random-based circle blur with a 5×5 Gaussian blur.
  • Fixed underwater post-process masking. Now, the post-process disappears when the camera is under the ground map.
  • Added underwater visibility enum in the surface actor that allows forcing visibility of underwater post process. The new InsideContainer mode allows rendering post-process through glass (an example of use with glass material will be presented in the next update).

Ground and Domains

  • fixed foliage filtering, UseFoliageMeshes works properly now.
  • Improved the ground map and phantom meshes debug rendering.
  • Enhanced performance of ground map rendering and building the visibility list.
  • Fixed rendering of distant landscapes with a lower level of detail.
  • The coastline domain can now cut out fragments of the ocean on the landscape.
  • Fixed brush editing when the initial state is active.
  • The “Current state” in domains changed to transient fixes memory crashes.
  • Domains will not update when dragging actor move, only after the drop.
  • Fixed simulation streaming on a separate level.
image.png
The area is submerged below the ocean’s surface, yet a phantom mesh excludes the water, allowing players to access this region.

Other improvements

  • Adjustments for distant surface rendering. I added OceanWaveRange and OceanWaveFaloff parameters that give additional control.
  • Fixed weird overburned emissive when the camera is very high.
  • More than four buoyant pontoons have been supported since now.
  • Fixed all buoyancy problems in shipping builds.
  • Added the tag FluxBuoyancyOwner that allows specifying the target actor for pontoons attachment.
  • IsSpartiallyLoaded = false in all crucial Fluid Flux actors fixes world partition bugs.

Enhanced input

Switching to Unreal Engine 5 unlocks the possibility of using all of its goodies, and the Enhanced Input is one of them. The whole input implementation is now stored in data assets, which can be included in the product. Fluid Flux does not require downloading any additional config files.

I’ve also cleaned up the character implementation and moved world control to the player controller, making it easier for everyone to understand.

Demo on itchio

The executable demo was also updated and published on Itchio. There are many reasons for that change:

  • This platform is a bit more professional than Google Drive links and may feel safer for others.
  • I can send notifications about the new version to everyone who has my demo in the collection.
  • I can also push many builds (mobile, VR, PC, Linux, Mac, Vulcan) and manage them better without replacing links on the marketplace page and in my videos.
  • Everyone can comment, and I can see additional details about downloads/users.

What Next

This update will be the last one supporting UE 4.26 to UE 5.2. Moving forward, my focus will shift exclusively to updating the package for Unreal Engine 5.3+. I apologize to everyone who is unable to transition to UE5.3 at this time. There are several reasons for this decision:

  • TSR doesn’t look acceptable on early versions of Unreal Engine 5, which makes working with it uncomfortable. I highly recommend switching your projects to Unreal Engine 5.3.
  • Creating a package with backward compatibility for older versions of UE is time-consuming and requires excessive effort. I prefer to spend this time on improving the product.
  • This shift will open up many exciting possibilities for optimizations and improvements, making my work much more manageable.

Due to the extensive scope of package updates, certain aspects might have been overlooked during the development and testing phases and it may be dangerous for your project so make sure you will have at least a few days to fully integrate the new version with your project in case you will need my help.

Changes that update may include:

  • Adding new features and example maps
  • Enhancing memory management, fixing bugs, optimizing performance,
  • Ensuring compatibility with the latest technologies,
  • Providing a better user-friendly experience,
  • Improving quality and efficiency,

However, be mindful of potential issues when updating.

  • Removing, renaming, moving files and attributes,
  • Overriding your changes,
  • Adding new bugs,

I strongly recommend using a version control system (Perforce, GIT, SVN) for your projects which is the safest way to avoid unexpected problems and blackout changes. To ensure a smooth transition, Making a copy of your project before downloading the update is strongly recommended.

Please note that the removal or renaming of assets might not be automatically handled by me during the update process. Consequently, there is a possibility of “ghost files” from the previous version of the product. To mitigate any potential issues, it is recommended to follow these steps for updating:

  1. Make sure that the update is already available on the marketplace page for the engine version that you use.
  2. Navigate to the Content/UpdatedPackage folder in your project.
  3. Copy the Content/UpdatedPackage for backup in case of unexpected issues that may occur after the update.
  4. Remove or delete the entire old version of the product from the UpdatedPackage folder.
  5. Download the new version of the product and extract it into the UpdatedPackage folder, ensuring a fresh and clean update.
  6. Run your project test the example maps in the demo folder, and check if the product still works correctly with your project.

It’s best to avoid making modifications to the pack by yourself. If you need to make some changes then I recommend inheriting classes/materials and overriding functions. Store child classes and custom material instances outside the pack folder. If you need some small trivial modification that could improve usability then you can let me know we will figure out some solution and maybe put it into the next update.

In case of any problem contact me using the support email imaginaryblend@gmail.com.