When you search modul (blueprint), you obtain the funciton “modulo: %”, but this function is not modulo, it is the remainder of a division. Rest and modulo are equals ONLY IN POSITIVE NUMBERS
This is working as intended, as the Engine’s modulo node returns the same value as the modulo math function in c++. Different programming languages handle modulo differently. Here is another post that discusses this issue, which you may find helpful:
Do you have any resource on why modulo is not the remainder of a division? I googled it and couldn’t find anything reliable, only things like “depends on the implementation for negative numbers”.
i agree with the other replies here in that it works as intended if you have a problem with it not being positive numbers then just use a absolute node.
Absolute node alone can not help here … You will also have to use a conditional node - if I want to do -4 Modulus 5 it’s not 4, it’s 1. I will have to first check if the number is negative then apply a different calculation.