Engine should never crash if game’s logic fails. Simply because it wastes a lot of time for person who experiences crash. And if this person isn’t a programmer/scripter she would have idea what and why happened. Occasionally that person looses lot of work because somebody made a mistake in code long time ago. It can be incredibly annoying in case of frequent crash. And it’s never guaranteed that “author of bug” can fix it ASAP.
Also, undetected null reference would crash a game for person who bought the game. And that’s one the worst things, right?
Stability is one of the best features of “managed environments” like C# in Unity or blueprint in Unreal. It should be always a priority