Trace for Objects - BlockingHit is always true

Not that the behaviour is exclusive, but the blocking/non blocking is a purview of the trace by channel system.

Thats because in theory the object trace will return any object in its path.

The channel system will not flag a hit on an object who’s settings are such as not to flag the hit.

Open the trace object blueprint node in visual studio or any c++ editor to read how the code handles things.
Potentially, you could copy over the function to your own plugin and make modifications to add a working block result that matches the collision settings (by just testing the settings before assinging the bool).

Note:
The hit result is a standard steucture, so it contains parameters which may not necessarily be set in the code that gets you that return value.
That is likely what is going on here.

I’d suggest just merging your own custom version of the 2 traces to use in BP as you need…