Failing "Cast To" blueprint as object

A Cast can also fail if the object passed into it, is None. I see you’re doing the Cast on BeginPlay. Is it possible that StartPointBp has not been initialized yet?

Actually, there should be no need to cast StartPointBp to class StartPoint because that’s what it already is. You could use an IsValid check instead.