[quote=“faetell, post:2403, topic:30020”]
thank you for the quick reply!
Per your recommendation I did test with a single string value, and it worked! To be more specific I set the session property string in the extra settings of “Create Advanced Session”, and then in Find Sessions Advanced I used an equal comparison op. I tested with the same string value and the server was found, and a different string value and the server was not found - perfectly as expected.
I also tested with a single int session attribute (since < and > ops are critical to skill based matchmaking), and that also seemed to work.
In my original version I had the following sessions properties: 2 string, 2 byte (for enum values), 1 bool. I haven’t been able to root out what was causing it to not work in the first place for me, but I will continue to test as soon as I have time. If the bytes and bool are the cause of the problem it shouldn’t be to hard to switch those over to strings.
Some additional info I probably should have included up front: I’m using UE 4.24.1 installed from the launcher, which looks like it has v146 of the steamworks SDK bundled in.
Ah, actually I just checked and the only subsystem currently even using that property for filtering is the steam one, and it only implements Int32,String,Float,Byte values (everything is converted to string in the end anyway). I implemented the full FVariantData as that is what Epic uses on the back end so a subsystem “can” use the full range, and their own subsystem coming up in fact may support all types.
I’ll make a note about which types steam supports for searching in the source, but just use something other than bool.
You should still be able to retrieve values just fine, its just the filtering.