Is it good practice to create a class that inherits from GameplayStatics for your project and use it as a public library of static functions?
You can then facilitate access to basic classes, such as the character class of a given project, and with one function return the appropriate reference - without additional casting outside the function.