Working With Object/Actor References

As with traditional programming, we need to avoid errors in our code that can occur from trying to access null variables. In Blueprints, there are a few ways in which we can make sure a variable is valid before using it:

  • Depending on the context, we may just need true or false (uncommon, but may be required in an if statement before a function call, for example).
  • The second method uses an IsValid function call with two outputs. Both of these can be found by typing valid in the search box.
  • The third method, which I prefer, is to use a Validated Get, which can be created by right-clicking on a normal Get node and clicking on Convert to Validated Get. This is essentially the same as the second method, but keeps the code cleaner:

Using a validated GET is the same as this snippet of code:

if ( MyActorReference != null )
{
// This is the Is Valid output.
}
else
{
// This is the Is Not Valid output.
}

The Is Valid output ensures that the MyActorReference variable isn't null, and you won't get any errors trying to access its variables and functions: