Loading textures at runtime

Important caveat to anyone looking to use this approach:

Loading an asset from code in this fashion will not create a reference to it when dependencies are gathered at cook time. Meaning that once you cook your project, assets that are exclusively loaded in this fashion will not be included in your cooked build and will fail to load.

As described in the question, using ConstructorHelpers::FObjectFinder to assign to a hard pointer property will create a reference and the asset will be gathered. However, as mentioned, it has the downside that the asset will always be loaded along the object.

As per Ben’s answer, TAssetPtr is really what you want to use. It will create an assignable property and will be properly referenced, but is not loaded automatically.