Hi again @Krileon!
You are correct- there is no DIRECT communication from material to Niagara system (at least not to my knowledge.) That being said, there are a lot of ways to get around this limitation depending on what you’re trying to accomplish.
First of all, if all you need to do is set your particle system to your new dynamic material, you can do that pretty easily via blueprint.
If you’re generating a dynamic material instance with custom parameters, then you must be setting these values via Blueprint. Blueprint and Niagara can communicate via Data Channels or setting Niagara parameters, so ideally you can handle it that way if you need specific variable information.
Another, clunkier, method is to directly pull out variable information from your material. I am not familiar with C++, but these are some of the functions available via Python (not executable at runtime) so I have to imagine they have a C++ equivalent. I don’t really see you needing this though, since it can only read variables which should be set via Blueprint anyways.
If you need to pull out a specific calculation, that’s a lot trickier. I would say replicate it in a blueprint or your Niagara System if possible. If NOT possible, there are ways for Niagara to read color information, so your best bet is probably to send it through the material base color and reassign the material to the correct one after the calculation’s values are stored in the system.
Let me know if you want help with any of these ideas, and I’ll see what I can do. Otherwise, if these solutions won’t help you out, give me a little more information on the exact problem you’re trying to solve and I’ll try my best to guide you through a solution.