have you tested if it works with single strings, instead of string arrays?
using local Variables inside a function, to store long term data, seems strange to me. in c++, local Variable data goes out of scope when the function ends. if you want to mix data and functions, usually you would use an Actor Blueprint. if you just want to store data, maybe you should use a CSV dataTable.
local variables are supposed to be temporary storage that only exists while the function is running.