When an FName is created with a trailing underscore and any number of digits in the range of 1-9 the trailing digits are used as the internal number value for the FName lookup. This results in the FName FNAME_Find test returning an incorrect value for None when a comparison or lookup is requested.
1. Create a C++ function
2. In that function, construct an FName in C++ with a trailing underscore followed by digits in the range of 1-9 for the first parameter and ‘FNAME_Find’ as the second parameter. e.g ‘FName Test(TEXT("Thisisatest_1234"), FNAME_Find);’
3. In that function add a check to compare the newly constructed FName against ‘NAME_None’ e.g ‘check( Test == NAME_None );’
4. Call the function during runtime
5. Observe the check failing
Expected Result: The FName has a value of “None”
Actual Result: The FName has a value of “None_1234”
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-272925 in the post.
1 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 5.4, 5.5 |
Created | Apr 15, 2025 |
---|---|
Updated | Apr 17, 2025 |