The ActorPositionWS BP node calls GetActorWorldPosition() in HLSL which references Primitive.ActorWorldPosition. But GetActorWorldPosition() is not protected by an #if HAS_PRIMITIVE_UNIFORM_BUFFER check. This means it will compile even in cases when there is no primitive uniform buffer, and can lead to bad memory access.
NOTE: This was reported by a UDN user, and I did not reproduce the crash internally
To reproduce the dangerous material configuration:
create a new 3rd person blueprint project in UE4
select the floor actor
create a new material & open blueprint
add Coordinates -> ActorPositionWS
connect output pin to material's Emissive Color pin
change Material Domain to Post Process
-> this produces invalid configuration, but no error in stats
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-37425 in the post.
0 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 4.12 |
Target Fix | 4.15 |
Fix Commit | 3165809 |
---|---|
Main Commit | 3206922 |
Created | Oct 17, 2016 |
---|---|
Resolved | Nov 17, 2016 |
Updated | Apr 27, 2018 |