This is from the linked EPS case:
==============================
When 5.0 first introduced TObjectPtr, the guidance was that it would compile down to raw pointer access in Shipping builds to ensure identical performance.
Evidenced by the following quote from the documentation for 5.0:
UE5 introduces TObjectPtr, a template-based, 64-bit pointer system, as an optional replacement for raw object pointers in editor builds. This system adds dynamic resolution and access tracking in editor builds, while performing identically to raw pointers in non-editor builds.
In recent versions of the engine, this guarantee seems to have been silently dropped.
The introduction of incremental reachability analysis adds code to call ConditionallyMarkAsReachable, regardless of whether incremental GC is turned on.
This causes assembly instructions comparable to the following to be generated inline every time a TObjectPtr or TSubclassOf is assigned:
cmp byte ptr [UE::GC::GIsIncrementalReachabilityPending],r14b
je _____+16Fh
mov rcx,qword ptr [rbx+458h]
test rcx,rcx
je _____+16Fh
call UE::GC::MarkAsReachable
In our game, this adds several megabytes to our compiled binary size, putting pressure on the instruction cache and branch predictor.
Even though incremental GC is experimental and not even supported outside of single-threaded servers, right now every game is paying for the feature even when not enabled, due to `UE_OBJECT_PTR_GC_BARRIER` being unconditionally set to `1` in `ObjectPtr.h`.
My questions are the following:
Suggested by Claude Opus 5.5 (jira-repro-steps-auditor skill), for questions reach out to feature SME
Steps to Repro:
Expected Results:
In the packaged game, the log window shows a LogGarbage warning: "Trying to set gc.AllowIncrementalReachability to 1 in a build with the GC barriers compiled out (see UE_WITH_GC_BARRIER). Incremental reachability is not supported." The game keeps running. In the editor, no such warning appears.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-386406 in the post.
| 2 |
| Component | UE - Core - Systems |
|---|---|
| Affects Versions | 5.8 |
| Target Fix | 5.9 |
| Fix Commit | 58443255 |
|---|
| Created | Jul 13, 2026 |
|---|---|
| Resolved | Sep 23, 2026 |
| Updated | Oct 5, 2026 |