Unlike the other variables related to incremental garbage collection, gc.IncrementalGatherTimeLimit seems to be disabled in shipping builds. Is there a reason why?
#if UE_BUILD_SHIPPING
static constexpr float GIncrementalGatherTimeLimit = 0.0f;
#else
static float GIncrementalGatherTimeLimit = 0.0f;
static FAutoConsoleVariableRef CVarIncrementalGatherTimeLimit(
TEXT("gc.IncrementalGatherTimeLimit"),
GIncrementalGatherTimeLimit,
TEXT("Override Incremental Gather Time Limit (in seconds)."),
ECVF_Default
);
#endif
To be honest I don’t exactly recall why I submitted it this way but it could’ve been to stress the experimental nature of the feature. Note that it has since then been completely disabled (CL 33716368) because of thread safety concerns related to FUObjectItem::IsUnreachable() which, unlike the other reachability flags is often checked by things like weak object pointers and other utility classes and functions.
Ok thanks for the clarification. It’s unfortunate it had to be disabled completely but that makes sense. Hopefully it can come back online in the future