Is there a problem with FNAME_Find?

Hi,

I have inspected the source code and made the following observations.

When an FName is constructed a check is done to determine if the FName contains a value to be used as an instance id. This check is performed by parsing the FName for a trailing underscore followed by any number of digits in the range 1-9. ( see function parseNumber in UnrealNames.cpp ). If so, this trailing string of digits is used as an internal number for comparison and uniqueness.

This could very well be by design to allow for manually providing an instance id to the FName, however it does seem to break the isNone function and equality operator and may also result in returning a false negative when doing comparison so I have sent off a bug ticket to Epic. You can monitor progress at this link when it becomes publicly available.

In the meantime if you did want to test for the existence of an FName instance you could use the following methods:

`check(FName(“None”, NAME_EXTERNAL_TO_INTERNAL(2)) == TEST2);

check(TEST2.GetComparisonIndex() == FNameEntryId::FromEName(EName::None));`or begin the trailing number sequence with the zero character. e.g.

FName TEST2(TEXT("ThisDoesNotExist_02"), FNAME_Find);Kind Regards