When an instanced static mesh component with a material using a PerInstanceCustomData node has its data floats pasted in, the editor crashes with an "Array index out of bounds" error.
The licensee was able to resolve it internally by changing the check in UInstancedStaticMeshComponent::PostEditChangeChainProperty to "if (ensure(NumCustomDataFloats > 0) && ChangedCustomValueIndex != INDEX_NONE)"
Steps to Reproduce:
1. Create a new material:
Add a PerInstanceCustomData node and connect the output to base color
2. Create a new Blueprint of type Actor
3. Add a instanced static mesh component
4. Select a mesh (I used Plane)
5. Compile BP
6. Set the material to the one created earlier
7. Select instanced static mesh component
8. Add 4 instances
9. Set "Num Custom Data Floats" to 1
10. Right click "Custom data" array and select copy
11. In a text editor past the array contents
12. Change any of the numbers (eg. (0.10000,0.23000,0.030000,0.000000))
13. Copy the changed array string
14. Right click on "Custom data" array and select paste
How do I set a material as a post-processing material?
How does TextureRenderTarget2D get TArray<uint8> type data?
Why does the REMOVE method of map container remove elements have memory leaks?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
What is the difference between Camera and CineCamera?
UMG RichText not appear image when packaged
How to delete some elements correctly when deleting an array loop?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-220973 in the post.
0 |
Component | UE - Gameplay - Components |
---|---|
Affects Versions | 5.4 |
Target Fix | 5.6 |
Created | Aug 5, 2024 |
---|---|
Updated | Oct 1, 2024 |