NullReferenceException: Object reference not set to an instance of an object
常见原因就是start()和awake()顺序问题,像我就是这一句报错targetPlayer = GameObject.FindGameObjectWithTag("Player");
原因是我创建Player这个对象是在start中,放在awake中就不报错了
那么实际项目中的脚本会非常非常多,他们的先后顺序我们谁也不知道。所以我的建议一般在Awake方法中创建游戏对象或在Resources.Load(Prefab) 对象。在Start方法中去获取游戏对象,或者游戏组件,这样就可以确保万无一失了。 -----宣雨松
更详细的区别https://blog.csdn.net/puppet_master/article/details/50975186