<?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>Mon, 02 Nov 2026 10:25:38 GMT</lastBuildDate><atom:link href="https://issues.unrealengine.com/bugs" rel="self" type="application/rss+xml"/><item><title><![CDATA[Mutable Make mesh - Higher level LODs meshes appearing in lower LODs]]></title><description><![CDATA[<p>Due to 5.8 changes of the node Skeletal Mesh Make where it used to have the option of either automatically collect the LOD meshes from the Section skm or to use manually where it new to use the skm LOD mesh selected by the Mesh Section node and sent into the LOD input only, now since that option seems gone, instead it always assumes the all the subsequent LODs should be used from the section. This leads up to duplication of the Meshes in the Mesh Make not where the manually defined LODs are stored on top of all their subsequent LOD meshes.</p>

<p>I can see that using Max LOD on each section to be the value of the LOD that you selected, eg getting mesh LOD 0 you set 0 as max LOD in the details works but it seems like a completely pointless feature to allow for duplication like this, and it seem more like an oversight. At the very least I would expect the the mesh section had a check box, default off called "include subsequent LODs" for some edge case where anyone would want that.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-407283</link><guid isPermaLink="false">UE-407283</guid></item><item><title><![CDATA[Iris: CurrTimeMS in FReplicationReader::ResolveAndDispatchUnresolvedReferences saturates on ARM64, so unresolved handles never move to the cold cache]]></title><description><![CDATA[<p>In <tt>FReplicationReader::ResolveAndDispatchUnresolvedReferences</tt>, <tt>CurrTimeMS</tt> is computed as <tt>static_cast&lt;uint32&gt;(FPlatformTime::Seconds() * 1000.0f)</tt>. <tt>FPlatformTime::Seconds()</tt> includes <tt>GetSecondsTimeOffset()</tt> (16777216.0 on Apple and Windows), so the value always exceeds <tt>UINT32_MAX</tt> and the conversion is undefined behaviour. x64 happens to wrap, but ARM64 saturates to <tt>0xFFFFFFFF</tt>. As a result, handles never move from <tt>HotUnresolvedHandleCache</tt> to <tt>ColdUnresolvedHandleCache</tt> and are retried on every call.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-405915</link><guid isPermaLink="false">UE-405915</guid></item><item><title><![CDATA[Missing textures on FBX import]]></title><description><![CDATA[<p>Reported in SF [Link Removed]</p>

<p>When importing some FBX files, the materials may be missing textures when using the Interchange importer. The attached model was created in Bentley Microstation as a .dgn file and exported as an FBX file. When importing into TM 2026.1 or 2026.2 Preview (Interchange), the model will appear without the associated texture.</p>

<p>This issue does not occur using the legacy importer, and does not occur when using prior versions of Twinmotion, such as 2025.2.</p>

<p>This issue does not affect all FBX files.</p>]]></description><link>https://issues.unrealengine.com/issue/TM-23804</link><guid isPermaLink="false">TM-23804</guid></item><item><title><![CDATA[BundledPSOs crash in 5.8 when trying to load .spc file]]></title><description><![CDATA[<p><b><ins>POST LINK</ins></b>: <a href="https://forums.unrealengine.com/t/bundledpsos-crash-in-5-8-when-trying-to-load-spc-file/2746430" class="external-link" rel="nofollow noreferrer">https://forums.unrealengine.com/t/bundledpsos-crash-in-5-8-when-trying-to-load-spc-file/2746430</a></p>



<p><b><ins>POST BODY</ins></b>:</p>

<ul>
	<li>Summary<br>
Game packaging crashes at the PSO step. It worked fine in 5.7. I tried everything from deleting the Saved and Intermidiate folder and nothing works</li>
</ul>


<ul>
	<li>What Type of Bug are you experiencing?<br>
Other</li>
</ul>


<ul>
	<li>Steps to Reproduce<br>
Create a PSOBundle and package the game</li>
</ul>


<ul>
	<li>Expected Result<br>
It works</li>
</ul>


<ul>
	<li>Observed Result<br>
It doesn't work</li>
</ul>


<ul>
	<li>Affects Versions<br>
5.8</li>
</ul>


<ul>
	<li>Platform(s)<br>
Windows</li>
</ul>


<ul>
	<li>Upload an image<br>
<span class="image-wrap" style="">[Link Removed]</span></li>
</ul>


<h6><a name="%7B%7DPOSTAUTHOR%7B%7D%3AMattDalpe"></a><b><ins>POST AUTHOR</ins></b>: MattDalpe</h6>
<h6><a name="%7B%7DCREATEDAT%7B%7D%3A08%2F25%2F202601%3A25PMEDT"></a><b><ins>CREATED AT</ins></b>: 08/25/2026 01:25 PM EDT</h6>
<h6><a name="%7B%7DUPDATEDAT%7B%7D%3A10%2F23%2F202610%3A18AMEDT"></a><b><ins>UPDATED AT</ins></b>: 10/23/2026 10:18 AM EDT</h6>]]></description><link>https://issues.unrealengine.com/issue/UE-405764</link><guid isPermaLink="false">UE-405764</guid></item><item><title><![CDATA[Crash when CharacterMovementComponent's CapsuleTouched processes overlap with a GeometryCollectionComponent]]></title><description><![CDATA[<p><b><ins>POST LINK</ins></b>: <a href="https://forums.unrealengine.com/t/crash-when-charactermovementcomponents-capsuletouched-processes-overlap-with-a-geometrycollectioncomponent/2763431" class="external-link" rel="nofollow noreferrer">https://forums.unrealengine.com/t/crash-when-charactermovementcomponents-capsuletouched-processes-overlap-with-a-geometrycollectioncomponent/2763431</a></p>



<p><b><ins>POST BODY</ins></b>:</p>

<ul>
	<li>Summary<br>
When a Character's CapsuleComponent begins overlapping a Geometry Collection that has generate overlap event on, the engine crashes with an EXCEPTION_ACCESS_VIOLATION. The crash occurs inside UCharacterMovementComponent::CapsuleTouched, which calls GetBoneName() on OtherComp using the overlap's body index. his code path appears to assume any component with a valid multi-body index (OtherBodyIndex) is a USkinnedMeshComponent, which is true for Skeletal Mesh ragdolls but not for UGeometryCollectionComponent — a different class that also exposes multiple physics bodies per component. The resulting type confusion leads to invalid memory being read and interpreted as a UObject pointer, which crashes inside OutdatedKnownSkinnedAssetDetected() while building a diagnostic string via GetFullName().</li>
</ul>


<ul>
	<li>What Type of Bug are you experiencing?<br>
Simulation</li>
</ul>


<ul>
	<li>Steps to Reproduce</li>
</ul>


<p>1. Create a new Third Person Template project (Blueprint), default settings, engine version as above.<br>
2. Add a cube (or any simple mesh) to the level and convert it to a Geometry Collection.<br>
3. Set collision response with Pawn to Overlap and enable Generate Overlap Events.<br>
4. Position the Geometry Collection so the default Character will walk directly into it (or drop it near the player start).<br>
5. Play in Editor (PIE) and walk the Character into the Geometry Collection.</p>

<ul>
	<li>Expected Result<br>
The Character's capsule overlaps the Geometry Collection normally; OnComponentBeginOverlap fires without error.</li>
</ul>


<ul>
	<li>Observed Result</li>
</ul>


<p>The Editor/game crashes immediately on first overlap with: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000012</p>

<ul>
	<li>Affects Versions<br>
5.8</li>
</ul>


<ul>
	<li>Platform(s)<br>
Windows</li>
</ul>






<ul>
	<li>For crash reports, include your callstack<br>
UnrealEditor-CoreUObject.dll!UObjectBaseUtility::GetFullName(TStringBuilderBase &amp; ResultString, const UObject * StopOuter, EObjectFullNameFlags Flags) Ligne 117	C++<br>
UnrealEditor-CoreUObject.dll!UObjectBaseUtility::GetFullName(const UObject * StopOuter, FString &amp; ResultString, EObjectFullNameFlags Flags) Ligne 108	C++<br>
UnrealEditor-CoreUObject.dll!UObjectBaseUtility::GetFullName(const UObject * StopOuter, EObjectFullNameFlags Flags) Ligne 98	C++<br>
UnrealEditor-Engine.dll!USkinnedMeshComponent::OutdatedKnownSkinnedAssetDetected::__l2::::operator()() Ligne 6050	C++<br>
UnrealEditor-Engine.dll!USkinnedMeshComponent::OutdatedKnownSkinnedAssetDetected() Ligne 6062	C++<br>
UnrealEditor-Engine.dll!USkinnedMeshComponent::GetSkinnedAsset() Ligne 2842	C++<br>
UnrealEditor-Engine.dll!USkinnedMeshComponent::GetBoneName(int BoneIndex) Ligne 2502	C++<br>
UnrealEditor-Engine.dll!UCharacterMovementComponent::CapsuleTouched(UPrimitiveComponent * OverlappedComp, AActor * Other, UPrimitiveComponent * OtherComp, int OtherBodyIndex, bool bFromSweep, const FHitResult &amp; SweepResult) Ligne 11694	C++<br>
UnrealEditor-Engine.dll!UCharacterMovementComponent::execCapsuleTouched(UObject * Context, FFrame &amp; Stack, void * const Z_Param__Result) Ligne 454	C++<br>
UnrealEditor-CoreUObject.dll!UFunction::Invoke(UObject * Obj, FFrame &amp; Stack, void * const Z_Param__Result) Ligne 7595	C++<br>
UnrealEditor-CoreUObject.dll!UObject::ProcessEvent(UFunction * Function, void * Parms) Ligne 2234	C++<br>
<span class="error">&#91;Inline Frame&#93;</span> UnrealEditor-Engine.dll!TScriptDelegate::ProcessDelegate(void *) Ligne 1016	C++<br>
UnrealEditor-Engine.dll!TMulticastScriptDelegate::ProcessDelegate(void * Parameters) Ligne 1441	C++<br>
<span class="error">&#91;Inline Frame&#93;</span> UnrealEditor-Engine.dll!UE::Core::Private::TDelegateFunctionWrapper::CallWrapperImpl(const TDynamicMulticastDelegate &amp;) Ligne 454	C++<br>
<span class="error">&#91;Inline Frame&#93;</span> UnrealEditor-Engine.dll!UE::Core::Private::TDelegateFunctionWrapper::CallWrapper(const TDynamicMulticastDelegate &amp;) Ligne 478	C++<br>
<span class="error">&#91;Inline Frame&#93;</span> UnrealEditor-Engine.dll!TDynamicMulticastDelegate::Broadcast(UPrimitiveComponent *) Ligne 1504	C++<br>
UnrealEditor-Engine.dll!TSparseDynamicDelegate::Broadcast(UPrimitiveComponent * , AActor * , UPrimitiveComponent * , int , bool , FHitResult ) Ligne 333	C++<br>
UnrealEditor-Engine.dll!UPrimitiveComponent::BeginComponentOverlap(const FOverlapInfo &amp; OtherOverlap, bool bDoNotifies) Ligne 4137	C++<br>
UnrealEditor-Engine.dll!UPrimitiveComponent::UpdateOverlapsImpl(const TArrayView * NewPendingOverlaps, bool bDoNotifies, const TArrayView * OverlapsAtEndLocation) Ligne 4494	C++<br>
UnrealEditor-Engine.dll!USceneComponent::UpdateOverlaps(const TArrayView * PendingOverlaps, bool bDoNotifies, const TArrayView * OverlapsAtEndLocation) Ligne 1096	C++<br>
UnrealEditor-Engine.dll!USceneComponent::EndScopedMovementUpdate(FScopedMovementUpdate &amp; CompletedScope) Ligne 1307	C++<br>
UnrealEditor-Engine.dll!FScopedMovementUpdate::~FScopedMovementUpdate() Ligne 79	C++<br>
UnrealEditor-Engine.dll!UCharacterMovementComponent::PerformMovement(float DeltaSeconds) Ligne 3109	C++<br>
UnrealEditor-Engine.dll!UCharacterMovementComponent::ControlledCharacterMove(const UE::Math::TVector &amp; InputVector, float DeltaSeconds) Ligne 6458	C++<br>
UnrealEditor-Engine.dll!UCharacterMovementComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction * ThisTickFunction) Ligne 1759	C++<br>
<span class="error">&#91;Inline Frame&#93;</span> UnrealEditor-Engine.dll!FActorComponentTickFunction::ExecuteTick::__l2::::operator()(float) Ligne 1701	C++<br>
<span class="error">&#91;Inline Frame&#93;</span> UnrealEditor-Engine.dll!FActorComponentTickFunction::ExecuteTickHelper(UActorComponent *) Ligne 4891	C++<br>
UnrealEditor-Engine.dll!FActorComponentTickFunction::ExecuteTick(float DeltaTime, ELevelTick TickType, ENamedThreads::Type CurrentThread, const TRefCountPtr &amp; MyCompletionGraphEvent) Ligne 1699	C++<br>
<span class="error">&#91;Inline Frame&#93;</span> UnrealEditor-Engine.dll!FTickFunctionTask::DoTask(ENamedThreads::Type CurrentThread, const TRefCountPtr &amp;) Ligne 334	C++<br>
UnrealEditor-Engine.dll!TGraphTask::ExecuteTask() Ligne 703	C++<br>
UnrealEditor-Core.dll!UE::Tasks::Private::FTaskBase::TryExecuteTask() Ligne 524	C++<br>
<span class="error">&#91;Inline Frame&#93;</span> UnrealEditor-Core.dll!FBaseGraphTask::Execute(TArray&gt; &amp;) Ligne 493	C++<br>
UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread(int QueueIndex, bool bAllowStall) Ligne 807	C++<br>
UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksUntilIdle(int QueueIndex) Ligne 707	C++<br>
<span class="error">&#91;Inline Frame&#93;</span> UnrealEditor-Core.dll!FTaskGraphCompatibilityImplementation::ProcessThreadUntilIdle(ENamedThreads::Type) Ligne 1447	C++<br>
UnrealEditor-Core.dll!FTaskGraphCompatibilityImplementation::ProcessUntilTasksComplete(const TArray,TSizedInlineAllocator&lt;4,32,TSizedDefaultAllocator&lt;32&gt;&gt;&gt; &amp; Tasks, ENamedThreads::Type CurrentThreadIfKnown, const TFunction &amp; IdleWorkUpdate) Ligne 1620	C++<br>
UnrealEditor-Engine.dll!FTickTaskSequencer::ReleaseTickGroup(ETickingGroup WorldTickGroup, bool bBlockTillComplete, TArray&gt; &amp; TicksToManualDispatch) Ligne 1040	C++<br>
UnrealEditor-Engine.dll!FTickTaskManager::RunTickGroup(ETickingGroup Group, bool bBlockTillComplete) Ligne 2134	C++<br>
<span class="error">&#91;Inline Frame&#93;</span> UnrealEditor-Engine.dll!UWorld::RunTickGroup(ETickingGroup) Ligne 786	C++<br>
UnrealEditor-Engine.dll!UWorld::Tick(ELevelTick TickType, float DeltaSeconds) Ligne 1750	C++<br>
UnrealEditor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Ligne 2171	C++<br>
UnrealEditor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Ligne 546	C++<br>
UnrealEditor.exe!FEngineLoop::Tick() Ligne 5859	C++<br>
<span class="error">&#91;Inline Frame&#93;</span> UnrealEditor.exe!EngineTick() Ligne 60	C++<br>
UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Ligne 190	C++<br>
UnrealEditor.exe!GuardedMainWrapper(const wchar_t * CmdLine) Ligne 123	C++<br>
UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Ligne 277	C++<br>
UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Ligne 338	C++<br>
<span class="error">&#91;External Code&#93;</span></li>
</ul>


<ul>
	<li>Additional Notes</li>
</ul>
<ul class="alternate" type="square">
	<li>The local variable dump at the crash frame shows `this = 0x0000000000000002` for the `UObjectBaseUtility` pointer passed into `GetFullName`. This is clearly an invalid address, consistent with a small integer or enum member being read from the wrong byte offset and misinterpreted as a `UObject*`.</li>
	<li>We suspect `CapsuleTouched`'s handling of a valid `OtherBodyIndex` (indicating a multi-body `OtherComp`) does not verify that `OtherComp` is actually a `USkinnedMeshComponent` before calling bone-resolution functions on it, causing a type-confused read when `OtherComp` is instead a `UGeometryCollectionComponent`.</li>
	<li>This did NOT reproduce with a Static Mesh using identical collision settings (single-body, so this code path is presumably not entered).</li>
</ul>


<h6><a name="%7B%7DPOSTAUTHOR%7B%7D%3AAestarion"></a><b><ins>POST AUTHOR</ins></b>: Aestarion</h6>
<h6><a name="%7B%7DCREATEDAT%7B%7D%3A09%2F07%2F202601%3A43PMEDT"></a><b><ins>CREATED AT</ins></b>: 09/07/2026 01:43 PM EDT</h6>
<h6><a name="%7B%7DUPDATEDAT%7B%7D%3A10%2F23%2F202610%3A13AMEDT"></a><b><ins>UPDATED AT</ins></b>: 10/23/2026 10:13 AM EDT</h6>]]></description><link>https://issues.unrealengine.com/issue/UE-405763</link><guid isPermaLink="false">UE-405763</guid></item><item><title><![CDATA[Editor crash (unhandled assert) when changing blend mode on a material assigned to a Nanite static mesh]]></title><description><![CDATA[<p><ins><b>POST LINK</b></ins>: <a href="https://forums.unrealengine.com/t/editor-crash-unhandled-assert-when-changing-blend-mode-on-a-material-assigned-to-a-nanite-static-mesh/2764048" class="external-link" rel="nofollow noreferrer">https://forums.unrealengine.com/t/editor-crash-unhandled-assert-when-changing-blend-mode-on-a-material-assigned-to-a-nanite-static-mesh/2764048</a></p>

<p><ins><b>POST BODY</b></ins>:</p>

<ul>
	<li>Summary<br>
Changing a material's Blend Mode crashes the editor when that material is currently assigned to a Nanite-enabled static mesh (visible in the level or in the Material Editor preview). The engine correctly logs a warning that the blend mode is unsupported on Nanite, but then proceeds into a Lumen scene card capture path that asserts instead of failing gracefully.</li>
</ul>


<ul>
	<li>What Type of Bug are you experiencing?<br>
AI</li>
</ul>


<ul>
	<li>Steps to Reproduce<br>
Create or use a static mesh with Nanite enabled.<br>
Assign a material to it (in the level, or set as the Material Editor's preview mesh).<br>
Open the material and change its Blend Mode.<br>
Editor crashes immediately.</li>
</ul>


<ul>
	<li>Expected Result<br>
Editor should not crash. Ideally it should block or gracefully reject the invalid blend mode/Nanite combination, consistent with the warning it already logs.</li>
</ul>


<ul>
	<li>Observed Result<br>
Editor crashes with an unhandled assertion.</li>
</ul>


<ul>
	<li>Affects Versions<br>
5.8</li>
</ul>


<ul>
	<li>Platform(s)<br>
Windows</li>
</ul>


<ul>
	<li>For crash reports, include your callstack<br>
LogStaticMesh: Warning: Invalid material <span class="error">&#91;NewMaterial&#93;</span> used on Nanite static mesh <span class="error">&#91;SM_Drone_Two_Mats&#93;</span>. <br>
Only opaque or masked blend modes are currently supported, <span class="error">&#91;BLEND_TranslucentColoredTransmittance&#93;</span> blend mode was specified.</li>
</ul>


<p>LogWindows: Error: appError called: Assertion failed: Nanite::IsSupportedBlendMode(ShadingMaterial) </p>

<p>[[Link Removed]:\build++UE5\Sync\Engine\Source\Runtime\Renderer\Private\Lumen\LumenSceneCardCapture.cpp] <span class="error">&#91;Line: 312&#93;</span></p>

<h6><a name=""></a></h6>]]></description><link>https://issues.unrealengine.com/issue/UE-405757</link><guid isPermaLink="false">UE-405757</guid></item><item><title><![CDATA[(Linux) - Editor crashes out when any change in project files]]></title><description><![CDATA[<p><b><ins>POST LINK</ins></b>: <a href="https://forums.unrealengine.com/t/linux-editor-crashes-out-when-any-change-in-project-files/2733237" class="external-link" rel="nofollow noreferrer">https://forums.unrealengine.com/t/linux-editor-crashes-out-when-any-change-in-project-files/2733237</a></p>



<p><b><ins>POST BODY</ins></b>:</p>

<ul>
	<li>Summary</li>
</ul>


<p>Ue 5.8 Fresh install and basically fresh project. Any time Ue detects a change in the project files it crashes after bringing up the message about a change.</p>

<p>Linux Mint, 96gb ram, 4080super.</p>

<ul>
	<li>What Type of Bug are you experiencing?</li>
</ul>


<p>Editor</p>

<ul>
	<li>Steps to Reproduce</li>
</ul>


<p>Open project in Unreal Editor, adjust a project file i.e. re-export in blender.</p>

<ul>
	<li>Expected Result</li>
</ul>


<p>Program doesnt crash.</p>

<ul>
	<li>Observed Result</li>
</ul>


<p>Program crashes.</p>

<ul>
	<li>Affects Versions</li>
</ul>


<p>5.8</p>

<ul>
	<li>Platform(s)</li>
</ul>


<p>Linux</p>

<ul>
	<li>For crash reports, include your callstack</li>
</ul>


<p>It juts instantly crashes, doesnt mention a crash report.<br>
EDIT: found some kinda Log file in the projest, is attached.</p>

<p><span class="error">&#91;Chamkopolis.log|attachment&#93;</span>(upload://5QnZnZt9XWbKuqpqeuZT8W0hbUx.log) (304.4 KB)</p>

<h6><a name="%7B%7DPOSTAUTHOR%7B%7D%3AChrisCrinkle"></a><b><ins>POST AUTHOR</ins></b>: ChrisCrinkle</h6>
<h6><a name="%7B%7DCREATEDAT%7B%7D%3A07%2F03%2F202607%3A02AMEDT"></a><b><ins>CREATED AT</ins></b>: 07/03/2026 07:02 AM EDT</h6>
<h6><a name="%7B%7DUPDATEDAT%7B%7D%3A10%2F23%2F202608%3A42AMEDT"></a><b><ins>UPDATED AT</ins></b>: 10/23/2026 08:42 AM EDT</h6>]]></description><link>https://issues.unrealengine.com/issue/UE-405744</link><guid isPermaLink="false">UE-405744</guid></item><item><title><![CDATA[FFT bloom disappears for some kernel/viewport size combinations (survey grid sized for R instead of 2R)]]></title><description><![CDATA[<p>FFT bloom (convolution bloom) renders nothing for some combinations of kernel size, <tt>r.Bloom.ScreenPercentage</tt> and viewport sizes (e.g. 50% and 1024 x 768)</p>

<h2><a name="Rootcause"></a>Root cause</h2>

<p><tt>PostProcessFFTBloom.cpp</tt> computes <tt>SurveyGroupGridSize</tt> from <tt>ViewTexelRadiusInKernelTexels</tt> (R):</p>

<p><tt>2 * DivideAndRoundUp(CeilToInt(R) + 4, SurveyTileSize)</tt>(<a href="https://github.com/EpicGames/UnrealEngine/blob/396c9f059903aed5fec78ecd3d437a40c6415368/Engine/Source/Runtime/Renderer/Private/PostProcess/PostProcessFFTBloom.cpp#L406" class="external-link" rel="nofollow noreferrer">source</a>)</p>

<p>so the survey grid spans texel offsets <tt>-4*G .. 4*G-1</tt>, roughly <tt>R+4</tt>.</p>

<p><tt>BloomSurveyMaxScatterDispersion.usf</tt> however defines its center zone with <tt>2R + 1</tt> and edge zone with <tt>2R + 4</tt>, i.e. it surveys texels out to ~<tt>2R+4</tt>. For radii where little rounding up happens, the entire grid lies inside the center zone, the survey is empty and the max scatter dispersion is 0, which makes the bloom vanish.</p>

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

<p>Size the grid from <tt>2R</tt>:</p>

<p><tt>2 * DivideAndRoundUp(CeilToInt(2.0f * R) + 4, SurveyTileSize)</tt></p>

<p>This guarantees <tt>4*G-1 &gt;= CeilToInt(2R) + 3</tt>, the last texel the shader can survey. <tt>BloomSurveyKernelCenterEnergy.usf</tt> masks by R and is unaffected by the larger grid.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-405641</link><guid isPermaLink="false">UE-405641</guid></item><item><title><![CDATA[UIScene support to 4.27+]]></title><link>https://issues.unrealengine.com/issue/UE-405329</link><guid isPermaLink="false">UE-405329</guid></item><item><title><![CDATA[Substrate Adaptive GBuffer: HWRT Hit Lighting drops indirect lighting from lights with a Light Function (GI / Reflections)]]></title><description><![CDATA[<p>The Light Function variant of the hit lighting miss shader is compiled as the Light Function material, so <tt>MATERIAL_IS_SUBSTRATE=1</tt>. This makes it read the ray hit surface from the payload incorrectly:</p>

<ul>
	<li>This shader permutation has <tt>SUBSTRATE_INLINE_SHADING=1</tt> and <tt>SUBSTRATE_DEFERRED_SHADING=0</tt>, the header/BSDF unpack from the payload is compiled out.</li>
	<li><tt>SubstrateGetBSDFSharedBasis</tt> takes the inline path and returns the zero-initialized <tt>SharedLocalBases</tt>, so the hit normal is 0 and the light contribution is 0.</li>
	<li>The LF material's <tt>SUBSTRATE_FASTPATH</tt> / <tt>SINGLEPATH</tt> / <tt>CLAMPED_CLOSURE_COUNT</tt> and the default <tt>SUBSTRATE_USES_FORCED_COMPLEXITY=1</tt> also drive how the hit surface is unpacked (the payload writer <tt>RayTracingMaterialHitShaders.usf:16-19</tt> uses <tt>SUBSTRATE_USES_FORCED_COMPLEXITY 0</tt>).</li>
</ul>


<p>Here is a work around:</p>

<p><span class="nobr">[Link Removed]</span></p>
]]></description><link>https://issues.unrealengine.com/issue/UE-405322</link><guid isPermaLink="false">UE-405322</guid></item><item><title><![CDATA[[PCG Mode] Tool actors spawned by PCG Editor Mode tools ignore the current level and are always created in the PersistentLevel]]></title><description><![CDATA[<h2><a name="Summary"></a>Summary</h2>

<p>In a non-World-Partition map with streamed sublevels, PCG Editor Mode interactive tools (Draw Spline / SpacingTool, Area, Paint, Volume, ...) spawn their new tool actor in the <b>PersistentLevel</b> instead of the <b>current level</b> (<tt>World-&gt;GetCurrentLevel()</tt>). This only happens when no compatible actor is selected when the tool is activated. Standard editor actor placement uses the current level (<tt>EditorActorSubsystem.cpp</tt>, <tt>ULevel* DesiredLevel = World-&gt;GetCurrentLevel();</tt>).</p>

<p>Reported by a licensee (EPS / SF case 27094155).</p>

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

<p>The tool actor is created in the current level (e.g. SubLevel_01).</p>

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

<p>The tool actor (e.g. "PCG Area Tool Actor") is created in the PersistentLevel and stays there after Accept.</p>

<h2><a name="Rootcause"></a>Root cause</h2>

<ol>
	<li><tt>UPCGInteractiveToolSettings::InitActorAndComponent</tt> (<tt>PCGInteractiveToolSettings.cpp</tt>) reuses a selected compatible actor if there is one; otherwise it calls <tt>UE::PCG::EditorMode::Actor::SpawnWorking(World, ...)</tt>. Every PCG Mode tool goes through this path.</li>
	<li><tt>Actor::Spawn</tt> / <tt>Actor::SpawnWorking</tt> (<tt>PCGEdModeActorHelpers.cpp</tt>) don't set <tt>FActorSpawnParameters::OverrideLevel</tt>. In Main (after [Link Removed]) <tt>SpawnWorking</tt> also hard-codes <tt>ULevel* Level = World-&gt;PersistentLevel;</tt> for the unique name and the external-actor decision.</li>
	<li><tt>UPCGActorHelpers::SpawnDefaultActor(const FSpawnDefaultActorParams&amp;)</tt> (<tt>PCGActorHelpers.cpp</tt>) falls back to <tt>SpawnParams.OverrideLevel = Params.World-&gt;PersistentLevel;</tt> when no override is given (since CL 33654117), so <tt>UWorld::SpawnActor</tt> never reaches its own CurrentLevel default.</li>
	<li>On Apply, the actor only has <tt>RF_Transient</tt> cleared and is never moved.</li>
</ol>


<p>Not a regression. [Link Removed] touches the same function (WP external packaging) but does not change the level.</p>

<h2><a name="Proposedfix"></a>Proposed fix</h2>

<p>In <tt>PCGEdModeActorHelpers.cpp</tt>, add a <tt>GetSpawnLevel(World)</tt> helper returning <tt>World-&gt;GetCurrentLevel()</tt> (falling back to <tt>PersistentLevel</tt>), set <tt>SpawnParams.OverrideLevel</tt> from it in <tt>Spawn</tt> and <tt>SpawnWorking</tt>, and use it for the existing <tt>ULevel* Level</tt> in <tt>SpawnWorking</tt> so name, external packaging and level stay consistent. <tt>SpawnDefaultActor</tt>'s fallback is left alone because it's shared with runtime/generation spawning. In WP maps the current level is the persistent level, so behaviour there is unchanged. Fix verified locally on 5.8.3.</p>

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

<ul>
	<li>Select a compatible actor that already lives in the target sublevel before activating the tool.</li>
	<li>After Accept, use Levels &gt; Move Selected Actors to Level, then regenerate.</li>
</ul>
]]></description><link>https://issues.unrealengine.com/issue/UE-404808</link><guid isPermaLink="false">UE-404808</guid></item><item><title><![CDATA[[5.8] Cherry-pick CL 55798320: re-precache PSOs in ULandscapeComponent and UGroomComponent OnRegister (fixes bPSOPrecacheCalled ensure on re-register)]]></title><description><![CDATA[<p>In 5.8, <tt>UPrimitiveComponent::OnUnregister</tt> resets <tt>FPSOPrecacheComponentData</tt>, which clears <tt>bPSOPrecacheCalled</tt> (regression from CL 48140040). <tt>ULandscapeComponent</tt> and <tt>UGroomComponent</tt> only call <tt>PrecachePSOs()</tt> in <tt>PostLoad</tt>. When either component re-registers without a new <tt>PostLoad</tt>, its scene proxy is recreated with no precache data and fires <tt>ensure(!IsComponentPSOPrecachingEnabled() || bPSOPrecacheCalled)</tt> in <tt>FPSOPrecacheComponentData::CheckPSOPrecachingAndBoostPriority</tt> (PSOPrecache.cpp:296). Examples of such a re-register:</p>

<ul>
	<li>a World Partition cell that unloads and is reactivated before GC runs</li>
	<li>a global re-register from a cvar sink such as <tt>r.CustomDepth</tt> or <tt>r.RayTracing.Geometry.InstancedStaticMeshes.EvaluateWPO</tt></li>
</ul>


<p>It only happens in cooked/game builds, because component PSO precaching is disabled in the editor.</p>

<p><b>Fix:</b> cherry-pick CL 55798320 (//UE6/Main) to //UE5/Dev-Release-5.8. It adds a guarded <tt>PrecachePSOs()</tt> at the end of both components' <tt>OnRegister</tt>, skipped when <tt>IsPSOPrecacheCalled()</tt> is still set. Pending CL 59512334 in Dev-Release-5.8.</p>

<p><b>Validation:</b> cooked Development Win64 builds from Dev-Release-5.8.</p>

<ul>
	<li>WP landscape map, player moves far away (cells unload) and back before GC: ensure fires in <tt>ULandscapeComponent::CreateSceneProxy</tt> without the fix, and doesn't with it.</li>
	<li><tt>r.RayTracing.Geometry.InstancedStaticMeshes.EvaluateWPO 1</tt>: same result.</li>
	<li>EngineTest <tt>Project.Functional Tests.Tests.Rendering.DebugViewModes.DebugViewModes.BufferCustomStencil</tt> on Vulkan SM6 ([Link Removed]): Fail without the fix (groom ensure), Success with it.</li>
</ul>


<p><b>Not covered:</b> <tt>UGeometryCollectionComponent</tt> has the same gap (it precaches in <tt>PostLoad</tt> only).</p>]]></description><link>https://issues.unrealengine.com/issue/UE-404796</link><guid isPermaLink="false">UE-404796</guid></item><item><title><![CDATA[[Gauntlet] TestExecutor does not clean up or release devices when a test's StartTest returns false, causing device starvation or a deadlock with -NoTimeout]]></title><description><![CDATA[<h2><a name="Summary"></a>Summary</h2>

<p>When <tt>UnrealTestNode.StartTest</tt> returns false (or throws), <tt>TestExecutor.ExecuteTests</tt> moves the test straight to <tt>CompletedTests</tt>. It never calls <tt>CleanupTest</tt> or <tt>StopTest</tt> on the node, so the devices reserved for that test are never released until <tt>DevicePool</tt> is disposed at the end of the whole run.</p>

<ul>
	<li>In 5.6 / 5.7 the devices are reserved in <tt>UnrealTestNode.IsReadyToStart</tt> (<tt>UnrealApp.TryReserveDevices()</tt>).</li>
	<li>In 5.8 / Main they are reserved by <tt>base.StartTest</tt> → <tt>UnrealSession.LaunchSession</tt>.</li>
</ul>


<p>Tests waiting for those devices fail with "Insufficient devices" after <tt>-wait</tt>. With <tt>-NoTimeout</tt> they hang forever while any other test keeps running (the <tt>MaxDuration</tt> check is disabled, and the insufficient-devices check only runs when no test is running or starting): a soft deadlock.</p>

<p>Reported by a licensee (SF 27104158).</p>

<h2><a name="Code%285.6%2CEngine%2FSource%2FPrograms%2FAutomationTool%2FGauntlet%29"></a>Code (5.6, Engine/Source/Programs/AutomationTool/Gauntlet)</h2>

<ul>
	<li><tt>Framework/Gauntlet.TestExecutor.cs</tt> — the <tt>Started == false</tt> branch in <tt>ExecuteTests</tt> (~:333-339 in 5.6, ~:384 in Main) only sets timestamps, sets <tt>Result = Interrupted</tt>, adds the test to <tt>CompletedTests</tt> and logs "failed to start". <tt>CleanupTest</tt> is only reached from <tt>TickTest</tt> (running tests) and the cancel path (starting tests). <tt>TestExecutor.Dispose</tt> is empty.</li>
	<li><tt>Unreal/RunUnreal.cs</tt> — <tt>DevicePool.Instance.Dispose()</tt> in the <tt>finally</tt> of <tt>ExecuteTests</tt> is the only place the leaked devices are released.</li>
	<li>The branch is the same in //UE5/Release-5.6, //UE5/Main and //UE6/Main; its base logic dates from CL 13149436.</li>
</ul>


<p>CLs 51897540 and 52028138 (5.8+) only partly mitigate it, by moving reservation out of <tt>IsReadyToStart</tt>. It still leaks:</p>

<ul>
	<li>when a derived <tt>StartTest</tt> returns false after <tt>base.StartTest</tt> succeeded;</li>
	<li>when <tt>LaunchSession</tt> returns null after exhausting its attempts (only problem devices are released).</li>
</ul>


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

<ul>
	<li>In the <tt>Started == false</tt> branch, call <tt>TestToStart.TestNode.CleanupTest()</tt> in a try/catch, and force the device release. This is needed for multi-pass tests, because <tt>CleanupTest</tt> only disposes <tt>UnrealApp</tt> on the last pass.</li>
	<li>Release devices in the failure paths of <tt>UnrealTestNode.StartTest</tt>.</li>
	<li>Don't call <tt>StopTest</tt> there: <tt>TestInstance</tt> is null after a failed launch.</li>
</ul>


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

<p>In the <tt>UnrealTestNode</tt> subclass, call <tt>UnrealApp?.ReleaseSessionDevices()</tt> before returning false from <tt>StartTest</tt> (e.g. in a try/finally around <tt>base.StartTest</tt>). Throwing instead of returning false doesn't help; the executor catches the exception and takes the same path.</p>

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

<p>5.6, 5.7, 5.8, Main</p>]]></description><link>https://issues.unrealengine.com/issue/UE-404767</link><guid isPermaLink="false">UE-404767</guid></item><item><title><![CDATA[Distance field PrimitiveModifiedBounds grows unbounded when scene captures render with bDisableWorldRendering=true]]></title><description><![CDATA[<p>When <tt>UGameViewportClient::bDisableWorldRendering</tt> is true and the scene is rendered only through manually triggered scene captures, <tt>FDistanceFieldSceneData::PrimitiveModifiedBounds</tt> is never reset and grows without bound while primitives move (reported ~500 MB/h depending on the scene).</p>

<p><b>Cause:</b> the per-frame renderer cleanup <tt>CleanupViewFamilies_RenderThread</tt> (SceneRendering.cpp) is only queued from <tt>FRendererModule::BeginRenderingViewFamilies</tt>. With world rendering disabled, <tt>UGameViewportClient::Draw</tt> only calls <tt>PerFrameCleanupIfSkipRenderer</tt>, and scene captures (<tt>USceneCaptureComponent2D/Cube::CaptureScene</tt> -&gt; <tt>FScene::UpdateSceneCaptureContents</tt> -&gt; <tt>FSceneRenderBuilder::Execute</tt>) never run that cleanup. <tt>ResetAndShrinkModifiedBounds</tt> is only called from it, so the scene-level array is never reset. The other work in that cleanup (ray tracing scene/SBT EndFrame, <tt>IPersistentViewUniformBufferExtension::EndFrame</tt>, hair strands end-of-frame, <tt>PrevFrameViewInfo</tt> update) is also skipped on this path.</p>

<p>Related to [Link Removed], which covers the per-view-state <tt>ClipmapViewState.Cache[].PrimitiveModifiedBounds</tt> growth caused by the same setup (FrameNumber not incremented). Fixing [Link Removed] alone does not reset the scene-level array.</p>

<p><b>Workaround:</b> call <tt>ResetAndShrinkModifiedBounds</tt> on each <tt>Scene-&gt;DistanceFieldSceneData.PrimitiveModifiedBounds[]</tt> entry once per frame after captures (requires a local engine change), or leave <tt>bDisableWorldRendering</tt> false.</p>

<p>Present in 5.8 and in current UE5/Main and UE6/Main code.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-404496</link><guid isPermaLink="false">UE-404496</guid></item><item><title><![CDATA[Auto Size in Sequencer not working on MovieSceneSkeletalAnimationSection]]></title><description><![CDATA[<p>My understanding of the Auto Size feature on sections in Sequencer is that I should be able to auto size a section based on its contents. For example, if pressing auto size on an animation clip, it should expand or contract to the start/end of the animation without causing any looping or cutting short. This doesn't work, and isn't even accessible on MovieSceneSkeletalAnimationSections.</p>




<p>I've tried this on a Niagara Simulation Cache and it works as expected.</p>




<p>I'd expect this to work on MovieSceneSkeletalAnimationSections as well</p>]]></description><link>https://issues.unrealengine.com/issue/UE-404423</link><guid isPermaLink="false">UE-404423</guid></item><item><title><![CDATA[[UE 5.8][MediaViewer] Crash when switching Level Editor viewport type to Cinematic Viewport]]></title><description><![CDATA[<p><b><ins>POST LINK</ins></b>: <a href="https://forums.unrealengine.com/t/ue-5-8-mediaviewer-crash-when-switching-level-editor-viewport-type-to-cinematic-viewport/2747407" class="external-link" rel="nofollow noreferrer">https://forums.unrealengine.com/t/ue-5-8-mediaviewer-crash-when-switching-level-editor-viewport-type-to-cinematic-viewport/2747407</a></p>



<p><b><ins>POST BODY</ins></b>:</p>

<ul>
	<li>Summary<br>
The editor crashes when Media Viewer is viewing/capturing a Level Editor Viewport and the Level Editor viewport type is switched from Default Viewport to Cinematic Viewport. This is not caused by selecting a CineCameraActor itself; the crash happens specifically when switching the viewport type to Cinematic Viewport while Media Viewer is active.</li>
</ul>


<ul>
	<li>What Type of Bug are you experiencing?<br>
Rendering (Graphics / Niagara)</li>
</ul>


<ul>
	<li>Steps to Reproduce<br>
1. Open a UE 5.8 project.<br>
2. Enable/open the Media Viewer plugin.<br>
3. In Media Viewer, add or view a Level Editor Viewport.<br>
4. In the Level Editor viewport dropdown, keep the camera as needed, then change Viewport Type from Default Viewport to Cinematic Viewport.<br>
5. The editor crashes.</li>
</ul>


<ul>
	<li>Expected Result<br>
Media Viewer should display the Cinematic Viewport, or safely skip rendering/capturing that frame if the viewport render target is unavailable.</li>
</ul>


<ul>
	<li>Observed Result<br>
The editor crashes with an assertion in RenderTargetPool.cpp:</li>
</ul>


<p>Assertion failed: Texture<br>
File: Engine/Source/Runtime/RenderCore/Private/RenderTargetPool.cpp<br>
Line: 95</p>

<ul>
	<li>Affects Versions<br>
5.8</li>
</ul>


<ul>
	<li>Platform(s)<br>
Windows</li>
</ul>


<ul>
	<li>Upload an image<br>
<span class="error">Unable to render embedded object: File (attachment_1.png) not found.</span></li>
</ul>




<ul>
	<li>For crash reports, include your callstack<br>
UnrealEditor_Core<br>
UnrealEditor_RenderCore<br>
UnrealEditor_RenderCore<br>
UnrealEditor_Engine<br>
UnrealEditor_Engine<br>
UnrealEditor_Engine<br>
UnrealEditor_Engine<br>
UnrealEditor_MediaViewer<br>
UnrealEditor_MediaViewer<br>
UnrealEditor_MediaViewer<br>
UnrealEditor<br>
UnrealEditor<br>
UnrealEditor_RenderCore<br>
UnrealEditor_RenderCore<br>
UnrealEditor_RenderCore<br>
UnrealEditor_RenderCore<br>
UnrealEditor_Core<br>
UnrealEditor_Core<br>
UnrealEditor_Core<br>
UnrealEditor_RenderCore<br>
UnrealEditor_RenderCore<br>
UnrealEditor_Core<br>
UnrealEditor_Core<br>
kernel32<br>
ntdll</li>
</ul>


<ul>
	<li>Additional Notes<br>
Environment:</li>
</ul>
<ul class="alternate" type="square">
	<li>Unreal Engine: 5.8.0-55116800+++UE5+Release-5.8</li>
	<li>Platform: Windows 11 25H2</li>
	<li>GPU: NVIDIA GeForce RTX 4060 Laptop GPU</li>
	<li>GPU driver: 581.57</li>
	<li>RHI: D3D12</li>
	<li>Dedicated VRAM reported by UE: 7957 MB</li>
</ul>


<p>Notes from the crash log:</p>
<ul class="alternate" type="square">
	<li>MediaViewer is enabled and loaded.</li>
	<li>The crash is an Assert, not an out-of-memory crash.</li>
	<li>MemoryStats.bIsOOM is 0 in CrashContext.runtime-xml.</li>
	<li>Crash occurs in a Slate Paint context while MediaViewer is in the call stack.</li>
	<li>Original crash log contains user/session identifiers, so this report includes only the relevant sanitized details.</li>
</ul>


<h6><a name="%7B%7DPOSTAUTHOR%7B%7D%3Adanny6"></a><b><ins>POST AUTHOR</ins></b>: danny6</h6>
<h6><a name="%7B%7DCREATEDAT%7B%7D%3A08%2F30%2F202612%3A02PMEDT"></a><b><ins>CREATED AT</ins></b>: 08/30/2026 12:02 PM EDT</h6>
<h6><a name="%7B%7DUPDATEDAT%7B%7D%3A10%2F19%2F202612%3A48PMEDT"></a><b><ins>UPDATED AT</ins></b>: 10/19/2026 12:48 PM EDT</h6>]]></description><link>https://issues.unrealengine.com/issue/UE-404174</link><guid isPermaLink="false">UE-404174</guid></item><item><title><![CDATA[WorldSettings of each World Partition cell are replicated in cooked builds]]></title><description><![CDATA[<p>In a cooked package build, when the cell package is loaded, AActor::PostInitProperties (Actor.cpp:555) sets RemoteRole = bReplicates ? ROLE_SimulatedProxy : ROLE_None from the CDO default (bReplicates=true) before the saved bReplicates=false is deserialized. <br>
Nothing recomputes RemoteRole afterwards. </p>

<p>As a result, unlike in PIE, these WorldSettings are replicated.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-403997</link><guid isPermaLink="false">UE-403997</guid></item><item><title><![CDATA[Sequencer.AllowPausedClock makes Audio/Platform-clock sequences evaluate at a negative time after any earlier game pause]]></title><description><![CDATA[<p>5.8 added <tt>Sequencer.AllowPausedClock</tt> (on by default) in <tt>FMovieSceneTimeController_ExternalClock::OnRequestCurrentTime</tt> (<tt>MovieSceneTimeController.cpp</tt>):</p>

<p><tt>PausedTime = Context.World()<del>&gt;RealTimeSeconds - Context.World()</del>&gt;AudioTimeSeconds;</tt></p>

<p><tt>double CurrentSequenceTimeSeconds = UndilatedDeltaTime + AccumulatedDilation - PausedTime;</tt></p>

<p><tt>RealTimeSeconds - AudioTimeSeconds</tt> is the total time the world has been paused since it started, not since playback started. If the world was paused at any point before <tt>Play()</tt>, the first ticks return a time before the start frame.</p>

<p><tt>ShouldStopOrLoop</tt> only checks the upper bound in forward playback, so the player evaluates at that negative time. Everything active at frame 0 is unlinked right after being linked. For example, <tt>IMovieSceneEvaluationHook::End</tt> fires one frame after <tt>Begin</tt>. The sequence then holds before its start until the elapsed time catches up with the total paused time.</p>

<p>This affects the Audio, Platform and RelativeTimecode clocks.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-403947</link><guid isPermaLink="false">UE-403947</guid></item><item><title><![CDATA[Crash when merging a file containing an Orbit Rig]]></title><description><![CDATA[<p>Reported in SF [Link Removed]</p>

<p>Scenes containing Orbit Rigs will cause crashes when attempting to Merge with other files.</p>]]></description><link>https://issues.unrealengine.com/issue/TM-23791</link><guid isPermaLink="false">TM-23791</guid></item><item><title><![CDATA[MRG - Actors with deformers do not deform when holdout is enabled in Movie Render Graph]]></title><description><![CDATA[<p>Actors with deformers do not deform when holdout is enabled in Movie Render Graph</p>

<p>[Link Removed] <br>
From EPS:<br>
We use Movie Render Graph with multiple layer output and one of the layers is used to obtain a character matte. We collect character actors using a Collection and apply Holdout Modifier, so they render as a black hole.</p>

<p>However, we have noticed, that with the Holdout active on a layer, the geometry does not take deformers into account, such as squash and stretch. As a result, our character matte does not match the characters on the beauty layer and cannot be used in Post. This is serious, as we render a lot of cartoony animated movies and squash-stretch deformers are very common.</p>

<p>Please see the attached repro project. Made in UE 5.7, but issue has been encountered in 5.8 as well.</p>]]></description><link>https://issues.unrealengine.com/issue/UE-403701</link><guid isPermaLink="false">UE-403701</guid></item></channel></rss>