Can someone explain soft variable references?

  1. They are made to keep refrences to objects or assets that may not exist and referencing assets without loading them. Soft object variables also wont create hard references to blueprint. While normally object references would throw you errors, if you would delete asset and dont fix refrences that could damage the blueprint. In technical terms, they hold path to the object or asset, similar way as ini config does or data tables.
  2. Same as object reference practically, blueprint will auto cast to object refrence if you want to call function on asset or send it, when used asset will be automatically loaded. If object won’t exist the cast would give null, you can check validity beforehand too
  3. As side of refrencing assets that may not exist at runtime, many possibile reasons, one is to reference asset without loading it when it not really needed, can be used for optimization. You can actully (and i didn’t know that myself checked that just now) reference objects on the level, without it needed to be loaded. You can actually make soft reference and set actor on the level as default. Any reason you can think of when object may not need to be loaded and or asset may not exist at the time of the use
  4. I don’t use them much myself so i don’t have any, but i can explain what they do.
12 Likes