The caching status is returned from IsTrue() along with the result: FWorldConditionResult FWorldConditionFoo::IsTrue(const FWorldConditionContext& Context) const { FWorldConditionResult Result(EWorldConditionResult::IsFalse, bCanCacheResult); ... return Result; }