The UE5.5 update is very powerful, but I have encountered some limitations that have made certain features unsatisfactory.
The main issue is with the Niagara system or emitter stage, specifically in CPU compilation. Occasionally, I need to write a for loop to batch write data using Custom HLSL. However, the number of iterations in the for loop must be a constant variable. If I use getArrayLength or other non-constant variables as the loop count, the compilation result becomes incorrect.
Additionally, when trying to read dataChannelRead in a GPU for loop, I found that it does not support Custom HLSL. Instead, I am only able to use node-based connections to perform the for loop, which is quite limiting.
This is a stupid way to bypass the hlsl can’t use the Datachannelread limit