<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Unreal Engine Issues - Latest Bugs]]></title><description><![CDATA[Latest Bugs and Feature Requests For Unreal Engine.]]></description><link>https://issues.unrealengine.com</link><image><url>https://issues.unrealengine.com/favicon.png</url><title>Unreal Engine Issues - Latest Bugs</title><link>https://issues.unrealengine.com</link></image><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 11:14:42 GMT</lastBuildDate><atom:link href="https://issues.unrealengine.com/bugs" rel="self" type="application/rss+xml"/><item><title><![CDATA[Blueprint Independent Rig Modules fail to keep changes to public variables inside of Modular Rigs after closing and reopening the editor]]></title><description><![CDATA[<p>The problem is that when adding modules in modular control rig, I can not change values for module variables - as soon as I close and reload the Unreal Editor, values snap back to default values.</p>

<p>I created new module and modular rig and by default it seemed to be working fine. Then I copied over some variables from my own module, added some nodes and the bug started happening also in the new test modular rig. I removed everything I did trying to find the culprit, but the modular rig stayed broken even with just single float variable.</p>

<p>In 5.7 it worked fine.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-391404</link><guid isPermaLink="false">UE-391404</guid></item><item><title><![CDATA[Mutable COIs built from ChildCustomizableObjects are engine only but do not denote that in anyway.]]></title><description><![CDATA[<p>When creating a Mutable setup with nested Child COs, COIs can result with Editor-Only references, which will cause the COI not appear in the build manifest and the appearance to now spawn in game.</p>




<p><b>Example Setup:</b></p>

<p>CO_Main &#8211; Adds a Cube SK; Adds a 'Children' Object Group</p>

<p>CO_Child &#8211; Adds another SK to the Cube SK Component and attaches itself to CO_Main</p>




<p>When creating a COI from CO_Main the reference to CO_Main for Game and Editor exist &#8211; all good.</p>

<p>When creating a COI from CO_Child the reference to CO_Child is Editor-Only &#8211; it will not appear in the build.</p>




<p>Not knowing which COs would create proper COIs that would build and which COs and COIs would have to be re-created because they are missing Game References causes us some trouble.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-391214</link><guid isPermaLink="false">UE-391214</guid></item><item><title><![CDATA[Notifies placed on the first frame of a montage using root motion don't fire]]></title><description><![CDATA[<p>This is a regression in 5.8 caused by 47265321.   It's because we now perform the montage update and dispatch the queued notifies via CharacterMovementComponent::TickCharacterPose.  But that all happens before the graph has updated.  So FAnimInstanceProxy::IsSlotNodeRelevantForNotifies fails for the notify that is gathered from the montage on the first frame, because the slot hasn't updated.  Then later in the frame, we do the regular graph update which calls FAnimInstanceProxy::UpdateSlotNodeWeight and makes the slot node relevant, since InMontageLocalWeight is now 1.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-391029</link><guid isPermaLink="false">UE-391029</guid></item><item><title><![CDATA[Root motion extraction fails on blendspaces with bShouldMatchSyncPhases set]]></title><description><![CDATA[<p>There’s a bug with the bShouldMatchSyncPhases codepath in UBlendSpace::TickAssetPlayer.  That codepath calls ResetBlendSamples to give a deterministic output when advancing time on the animations owned by the blendspace.  But this also resets FBlendSampleData::PreviousTime on all the sampled animations, which means we have no delta time when it comes to calculating root motion.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-390760</link><guid isPermaLink="false">UE-390760</guid></item><item><title><![CDATA[Editor crashes when overriding Texture Collection in Material Instance]]></title><description><![CDATA[<p>When a Material uses the DefaultTextureCollection and a Material Instance overrides it - or vice versa - the Editor will crash.</p>

<p>Note: bindlessconfiguration=Minimal or higher must be enabled to use Virtual Texture Collections.  </p>

<p>Example DefaultEhgine.ini</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>[PCD3D_SM6]
BindlessResources=Enabled
BindlessSamplers=Enabled

; The lines below fix 5.7 bindless in materials
[ShaderPlatformConfig PCD3D_SM6]
bindlessconfiguration=Minimal
;end fix

[/Script/Engine.RendererSettings]
rhi.Bindless.Resources=Enabled
rhi.Bindless.Samplers=Enabled
rhi.Bindless=Enabled</pre>
</div></div>]]></description><link>https://issues.unrealengine.com/issue/UE-390625</link><guid isPermaLink="false">UE-390625</guid></item><item><title><![CDATA[Incorrect rendering result on some geometry and materials in grouped components in SKP imports]]></title><description><![CDATA[<p>Reported in SF [Link Removed]</p>

<p>In Twinmotion 2026.1, when importing certain SKP files with grouped components, materials may render incorrectly on some grouped components and will appear with a dark, metallic color instead.</p>

<p>This is a regression from Twinmotion 2025.</p>

<p>This does not occur for Datasmith imports.</p>]]></description><link>https://issues.unrealengine.com/issue/TM-23757</link><guid isPermaLink="false">TM-23757</guid></item><item><title><![CDATA[FEvaluateActorReferenceChannels don't run on GameThread]]></title><description><![CDATA[<p>When playing back sequences on a character that is bound users will sometimes run into an ensure from FEvaluateActorReferenceChannels.</p>

]]></description><link>https://issues.unrealengine.com/issue/UE-390076</link><guid isPermaLink="false">UE-390076</guid></item><item><title><![CDATA[Shadows become disabled for Datasmith imported lights on resync]]></title><description><![CDATA[<p>Reported in SF [Link Removed]</p>

<p>For Datasmith models containing lights, resynchronizing the model after any changes will cause any lights that had shadows enabled prior to the sync to have that setting reverted to Disabled.</p>

<p>This is a regression and did not occur in Twinmotion 2025.2.</p>]]></description><link>https://issues.unrealengine.com/issue/TM-23756</link><guid isPermaLink="false">TM-23756</guid></item><item><title><![CDATA[WP: Using Make Writable when deleting actors from scene does not delete the actors]]></title><description><![CDATA[<p>When working in a World Partition level using OFPA,  trying to use the "Make writable" option instead of checking the asset out will result with the actor coming back to the map after restarting the editor.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-389928</link><guid isPermaLink="false">UE-389928</guid></item><item><title><![CDATA[FGameplayTagCountContainer::Reset() leaves explicit tag state and causes counts to accumulate]]></title><description><![CDATA[<p><b><span class="error">&#91;Summary&#93;</span></b></p>

<p>In UE 5.7 and later, if a tag is added once to an <b>FGameplayTagCountContainer</b>, the container is reset, and the same tag is added once more, <b>GetExplicitTagCount()</b> returns 2 instead of the expected value of 1.</p>

<p><b>Reset()</b> clears only the hierarchical <b>GameplayTagCountMap</b>. It does not clear <b>Items</b>, which stores explicit tag counts, or <b>ExplicitTags</b>. Consequently, explicit state from before the reset survives and is accumulated by subsequent updates.</p>

<p>The <b>TagCountReset</b> sample project linked below calls the reproduction function automatically from the default Character's <b>BeginPlay ()</b>. The issue can therefore be reproduced by opening the project and starting PIE.</p>




<p><b><span class="error">&#91;Description&#93;</span></b></p>

<p>In UE 5.6.1, <b>FGameplayTagCountContainer:: Reset()</b> clears all three state containers:</p>

<p>1 <b>GameplayTagCountMap. Reset()</b>;</p>

<p>2 <b>ExplicitTagCountMap.Reset()</b>;</p>

<p>3 <b>ExplicitTags.Reset()</b>;</p>




<p>In UE 5.7, explicit count storage was changed from <b>TMap&lt;FGameplayTag, int32&gt;</b> <b>ExplicitTagCountMap</b> to <b>TArray&lt;FGameplayTagCountItem&gt;</b> <b>Items</b>. The updated <b>Reset()</b> implementation, however, clears only <b>GameplayTagCountMap</b>.</p>

<p><b>GetExplicitTagCount()</b> and <b>UpdateExplicitTags()</b> read and update <b>Items</b>, while <b>GetExplicitGameplayTags()</b> returns the separate <b>ExplicitTags</b> container. Because neither is cleared by <b>Reset()</b>, the old explicit count and tag remain. A subsequent <b>+1</b> update increments the stale count from 1 to 2.</p>

<p>At the same time, <b>GameplayTagCountMap</b> starts again from zero, leaving the hierarchical and explicit counts inconsistent within the same container.</p>




<p><b><span class="error">&#91;Results&#93;</span></b></p>

<p>UE 5.8.1 prints:</p>

<p>1 Tag Count: 1</p>

<p>2 Tag Count: 2</p>




<p>Immediately after the first update and <b>Reset()</b>, the observable state is inconsistent:</p>

<p><b>GetTagCount(Tag)</b>: 0</p>

<p><b>GetExplicitTagCount (Tag)</b>: 1</p>

<p><b>GetExplicitGameplay Tags(). HasTagExact(Tag)</b>: true</p>




<p><b><span class="error">&#91;Expected&#93;</span></b></p>

<p>After <b>Reset()</b>, the hierarchical count, explicit count, and explicit tag list should all be empty.</p>

<p>Adding the same tag once more should make the second <b>GetExplicitTagCount()</b> return 1.</p>

<p>1 Tag Count: 1</p>

<p>2 Tag Count: 1</p>




<p><b><span class="error">&#91;Suggested Fix&#93;</span></b></p>

<p>Clear <b>Items</b> and <b>ExplicitTags</b> together with <b>GameplayTagCountMap</b>, preserving the complete-reset behavior from UE 5.6.</p>

<p><span class="image-wrap" style="">[Image Removed]</span></p>]]></description><link>https://issues.unrealengine.com/issue/UE-389901</link><guid isPermaLink="false">UE-389901</guid></item><item><title><![CDATA[Inconsistency between viewport and exported renders using Lumen and manual exposure]]></title><description><![CDATA[<p>Reported in SF [Link Removed]</p>

<p>Exported renders with Lumen can appear overexposed compared to the viewport renders, even when disabling auto-exposure and manually setting the exposure values.</p>

<p>This does not appear to occur on all scenes, and I was not able to reproduce on the New scene, however this occurs consistently on the client file.</p>]]></description><link>https://issues.unrealengine.com/issue/TM-23755</link><guid isPermaLink="false">TM-23755</guid></item><item><title><![CDATA[SplineMeshComponent resources leak]]></title><description><![CDATA[<p>A race condition occurs in the <tt>InitSplineVertexFactory_Internal }}function call, which is distributed across multiple threads. This causes {{FSplineMeshVertexFactory</tt> to be instantiated multiple times, each instance being stored in the same variable. As a result, all but the last instance leak.</p>

<p>A simple fix using a critical section for mutual exclusion, as shown below, suppresses the leak.</p>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-c++"><span class="code-keyword">static</span> FCriticalSection GInitSplineVertexFactoryCS;  <span class="code-comment">//work around - global critical section
</span> 
<span class="code-keyword">static</span> <span class="code-keyword"><span class="code-object">void</span></span> InitSplineVertexFactory_Internal(FStaticMeshVertexFactories&amp; VertexFactories, <span class="code-keyword">const</span> FStaticMeshVertexBuffers&amp; VertexBuffers, int32 LightMapCoordinateIndex, <span class="code-keyword">const</span> ERHIFeatureLevel::Type FeatureLevel, FColorVertexBuffer* InOverrideColorVertexBuffer)
{
	<span class="code-comment">// Skip LODs that have their render data stripped (eg. platform MinLod settings)
</span>	if (VertexBuffers.StaticMeshVertexBuffer.GetNumVertices() == 0)
	{
		<span class="code-keyword">return</span>;
	}
 
	<span class="code-keyword"><span class="code-object">bool</span></span> bOverrideColorVertexBuffer = !!InOverrideColorVertexBuffer;
 
	FScopeLock Lock(&amp;GInitSplineVertexFactoryCS); <span class="code-comment">// work around
</span> 
	if ((VertexFactories.SplineVertexFactory &amp;&amp; !bOverrideColorVertexBuffer) || (VertexFactories.SplineVertexFactoryOverrideColorVertexBuffer &amp;&amp; bOverrideColorVertexBuffer))
 </pre>
</div></div>]]></description><link>https://issues.unrealengine.com/issue/UE-389807</link><guid isPermaLink="false">UE-389807</guid></item><item><title><![CDATA[Color picker widget auto-closes unnecessarily]]></title><description><![CDATA[<p>A licensee reports that the color picket widget in Unreal Editor closes whenever a blueprint actor (map placed instance of an actor blueprint) receives a property changed event, even if the change event didn’t affect the dependency (target color property) of that actor. They report this as a UX problem, and would prefer the color picker widget to stay open and interactive.</p>

<p>They point out that CL 52639755 added window closing logic that is intended to close the picker on actor reinstancing, but that (according to the licensee) is triggering incorrectly when the actor reruns its construction scripts but without reinstancing.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-389761</link><guid isPermaLink="false">UE-389761</guid></item><item><title><![CDATA[Null FPhysicsActorHandle dereference in FBodyInstance::InitDynamicProperties_AssumesLocked when CreateShapes_AssumesLocked fails during async body init]]></title><description><![CDATA[<h2><a name="Summary"></a>Summary</h2>

<p>When <tt>CreateShapes_AssumesLocked</tt> fails during async body creation, the failed <tt>FBodyInstance</tt> is left in <tt>Bodies[]</tt> with a released actor handle. <tt>InitDynamicProperties_AssumesLocked</tt> is then called on it and dereferences the null handle.</p>

<p>Regression from 5.7. Reported against 5.8 (project upgrade from 5.7, CL 54667078) and confirmed present in <tt>//UE5/Main</tt>. Requires <tt>p.Chaos.EnableAsyncInitBody=true</tt>. The same content ran without incident in 5.7.</p>

<h2><a name="Callstack"></a>Callstack</h2>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>FChaosEngineInterface::SetSleepThresholdMultiplier_AssumesLocked   ChaosEngineInterface.cpp:1261
FBodyInstance::InitDynamicProperties_AssumesLocked                BodyInstance.cpp:4710
TInitBodiesHelperBase&lt;&gt;::InitBodies                               BodyInstance.cpp:1704</pre>
</div></div>

<p>(Line numbers are from the reporting CL; the code is unchanged in <tt>//UE5/Main</tt> — current locations given below.)</p>

<h2><a name="Cause"></a>Cause</h2>

<p>Three things combine.</p>

<p><b>1. The failure path leaves the instance in `Bodies[]`.</b></p>

<p><tt>BodyInstance.cpp:1577-1596</tt> — on <tt>bInitFail</tt>, the instance releases its actor handle and nulls <tt>BodySetup</tt>, then <tt>continue}}s without removing itself from {{Bodies[]</tt>/<tt>Transforms[]</tt>:</p>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-cpp">Instance-&gt;ReleasePhysicsActor();

Instance-&gt;OwnerComponent = <span class="code-keyword">nullptr</span>;
Instance-&gt;BodyInstanceOwner = <span class="code-keyword">nullptr</span>;
Instance-&gt;SourceObject = <span class="code-keyword">nullptr</span>;
Instance-&gt;BodySetup = <span class="code-keyword">nullptr</span>;
SetBodyInstanceExternalCollisionProfileBodySetup(Instance, <span class="code-keyword">nullptr</span>);

<span class="code-keyword">continue</span>;</pre>
</div></div>

<p>Contrast the "already got a body" branch at <tt>:1550-1559</tt>, which does <tt>Bodies.RemoveAt(...)</tt> / <tt>Transforms.RemoveAt(...)</tt>. <tt>InitBodies()</tt> subsequently iterates <tt>Bodies[]</tt> and calls <tt>InitDynamicProperties_AssumesLocked()</tt> on the failed instance.</p>

<p><b>2. The `BodySetup` guard no longer fires in 5.8.</b></p>

<p>5.7 guarded with <tt>if (!BodySetup.IsValid()) return;</tt>, which caught the nulled member. 5.8 guards with <tt>if (!GetBodySetup()) return;</tt>, and <tt>GetBodySetup()</tt> (<tt>BodyInstance.cpp:1380</tt>) now prefers the async creation inputs:</p>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-cpp">UBodySetup* FBodyInstance::GetBodySetup() <span class="code-keyword">const</span>
{
    if (<span class="code-keyword">const</span> FBodyInstancePhysicsCreationInputs* Cached = GetAsyncPhysicsCreationInputs())
    {
        <span class="code-keyword">return</span> Cached-&gt;ResolvedBodySetup;
    }
    ...
}</pre>
</div></div>

<p><tt>FBodyInstancePhysicsCreationInputs::ResolvedBodySetup</tt> is never reset on the failure path, so <tt>GetBodySetup()</tt> returns a live <tt>UBodySetup</tt> and the early-out is skipped. <tt>Instance-&gt;BodySetup == nullptr</tt> is no longer a reliable signal that physics creation failed.</p>

<p><b>3. `IsDynamic()` returns true for a null handle.</b></p>

<p><tt>FPhysicsInterface::IsDynamic()</tt> is <tt>!IsStatic()</tt>, and <tt>FChaosEngineInterface::IsStatic</tt> (<tt>ChaosEngineInterface.cpp:415</tt>) returns <tt>false</tt> for an invalid handle:</p>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-cpp"><span class="code-keyword"><span class="code-object">bool</span></span> FChaosEngineInterface::IsStatic(<span class="code-keyword">const</span> FPhysicsActorHandle&amp; InActorReference)
{
    if(FChaosEngineInterface::IsValid(InActorReference))
    {
        <span class="code-keyword">return</span> InActorReference-&gt;GetGameThreadAPI().ObjectState() == Chaos::EObjectStateType::Static;
    }

    <span class="code-keyword">return</span> <span class="code-keyword">false</span>;
}</pre>
</div></div>

<p>So the <tt>if (FPhysicsInterface::IsDynamic(GetPhysicsActor()))</tt> block is entered with a null handle, and <tt>SetSleepThresholdMultiplier_AssumesLocked</tt> dereferences it.</p>

<h2><a name="Reproconditions"></a>Repro conditions</h2>

<ol>
	<li><tt>p.Chaos.EnableAsyncInitBody=true</tt> — body initialized on a worker thread rather than the game thread.</li>
	<li><tt>CreateShapes_AssumesLocked</tt> returns failure (<tt>NumShapes == 0</tt>) — e.g. a component requesting collision from a mesh that has no collision geometry.</li>
</ol>


<h2><a name="Suggestedfix"></a>Suggested fix</h2>

<p>Early-out on an invalid actor handle at the top of <tt>InitDynamicProperties_AssumesLocked</tt>. The handle is the reliable failure signal now that <tt>BodySetup</tt> is not.</p>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-cpp"> <span class="code-keyword"><span class="code-object">void</span></span> FBodyInstance::InitDynamicProperties_AssumesLocked()
 {
+    <span class="code-comment">// Shape creation may have failed <span class="code-keyword">and</span> released the actor handle, leaving <span class="code-keyword">this</span>
</span>+    <span class="code-comment">// instance in Bodies[]. IsDynamic() returns <span class="code-keyword">true</span> <span class="code-keyword">for</span> a null handle.
</span>+    if (!FPhysicsInterface::IsValid(GetPhysicsActor()))
+    {
+        <span class="code-keyword">return</span>;
+    }
+
     UBodySetup* ResolvedSetup = GetBodySetup();
     if (!ResolvedSetup)
     {
         <span class="code-comment">// This may be invalid following an undo<span class="code-keyword"> if</span> the BodySetup was a transient object
</span>         <span class="code-keyword">return</span>;
     }</pre>
</div></div>

<p>Worth considering alongside this: clearing <tt>ResolvedBodySetup</tt> on the failure path, and/or removing the failed instance from <tt>Bodies[]</tt>/<tt>Transforms[]</tt> the way the <tt>:1550</tt> branch does — either would also close the hole, and the current asymmetry between the two bail-out paths is itself suspect.</p>

<h2><a name="Noteoncontent"></a>Note on content</h2>

<p>The triggering content is also wrong — a component requesting collision from a mesh with no collision geometry is meaningless, and that is being fixed separately. But the engine has already decided to fail that body and released its handle, so it should not then walk into a null dereference. 5.7 tolerated the same content silently.</p>

<h2><a name="Affectedcode"></a>Affected code</h2>

<ul>
	<li><tt>Engine/Source/Runtime/Engine/Private/PhysicsEngine/BodyInstance.cpp:1577</tt> — failure path</li>
	<li><tt>Engine/Source/Runtime/Engine/Private/PhysicsEngine/BodyInstance.cpp:1380</tt> — <tt>GetBodySetup()</tt></li>
	<li><tt>Engine/Source/Runtime/Engine/Private/PhysicsEngine/BodyInstance.cpp:4660</tt> — <tt>InitDynamicProperties_AssumesLocked()</tt></li>
	<li><tt>Engine/Source/Runtime/PhysicsCore/Private/ChaosEngineInterface.cpp:415</tt> — <tt>IsStatic()</tt></li>
</ul>
]]></description><link>https://issues.unrealengine.com/issue/UE-389735</link><guid isPermaLink="false">UE-389735</guid></item><item><title><![CDATA[The reverse side of two-sided clear coat materials are not properly lit]]></title><description><![CDATA[<p>Reported in SF [Link Removed]</p>

<p>Materials with the Clear coat property enabled and two-sided property enabled will not react properly to lighting on the “reverse” face of any geometry they are applied to. The reverse face will appear darker and in Path Tracer renders.</p>

<p>Attached a sample scene demonstrating this behavior. Tested using a Box 10m primitive with a Car Paint material, the reverse face on the interior of the box is lit by an area or omni light, but in Path Tracer the box interior will appear completely unlit.</p>

<p>Switching to a two-sided material with clear coat disabled will show proper lighting.</p>]]></description><link>https://issues.unrealengine.com/issue/TM-23754</link><guid isPermaLink="false">TM-23754</guid></item><item><title><![CDATA[Intermittant motion blur issues in content heavy scenes]]></title><description><![CDATA[<p>When using the following RHI/Render thread/GT sync configuration:</p>

<ul>
	<li>r.OneFrameThreadLag 1</li>
	<li>r.GTSyncType 1</li>
</ul>


<p>The previous skinning bone data can be corrupted and introduce visual artifacts on everything using motion vectors, motion blur being the most visible.</p>

<p>This is hard to reproduce without specific/heavy content. But has been seen in the wild by several licensees.</p>

<p>Licensees have found that the issue comes from SupportsNoOverwriteBuffers() not being robust. The buffer queue is handled with a tick function, and under certain timing constraints will return a buffer that is still in use to be written to.</p>

<p>The issue was introduced in our 5.6 update with the parallel RHI command translate. (Disabling the parallel translate also fixes.)</p>]]></description><link>https://issues.unrealengine.com/issue/UE-389459</link><guid isPermaLink="false">UE-389459</guid></item><item><title><![CDATA[UGS "Copy to Workspace" copies a preset's categories but not its Custom View]]></title><description><![CDATA[<p>Options -&gt; Presets -&gt; Copy to Workspace copies the selected preset's category choices into the workspace sync filter but drops the preset's Custom View lines. Binding the same preset through the Sync Filter dropdown applies both categories and views, so the two paths give different results for the same preset.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-389421</link><guid isPermaLink="false">UE-389421</guid></item><item><title><![CDATA[UGS Sync Filter preset dropdown reverts to empty on reopen]]></title><description><![CDATA[<p>In the Sync Filter dialog (Options -&gt; Sync Filter -&gt; Current Workspace), selecting a preset and clicking OK saves the selection correctly and it is applied at sync time, but reopening the dialog shows the dropdown empty again.</p>

<p>The dialog reads the dropdown from the workspace-level preset field while the selection is saved to the project-level field, and the two are only synced when the workspace is first opened. Display only, but it caused the reporting licensee to doubt whether the setting was applied.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-389419</link><guid isPermaLink="false">UE-389419</guid></item><item><title><![CDATA[Virtual Texture Collection doesn't show correct mip level]]></title><description><![CDATA[<p>Textures from VirtualTextureCollections appear blurry because the correct mip level isn’t shown unless FVirtualTextureCollectionResource::InitRHI is modified in VirtualTextureCollection.cpp with</p>


<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>ProducerDesc.bPersistentHighestMip = true;</pre>
</div></div>]]></description><link>https://issues.unrealengine.com/issue/UE-389329</link><guid isPermaLink="false">UE-389329</guid></item><item><title><![CDATA[Values passed through VertexInterpolators are incorrect in the pixel shader on Niagara mesh particles when material uses SubUV animation]]></title><description><![CDATA[<p>Passing through the vertex interpolator, the DebugFloat3Values output appears garbled, but if you remove the VertexInterpolator the particle’s position is accurately returned. This happens with Particle Position, or even a Constant3 vector.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-389234</link><guid isPermaLink="false">UE-389234</guid></item></channel></rss>