Unity3D日常BUGUnity3D中出现“unsafe code 不安全的代码”的错误时的解决方法

Posted 恬静的小魔龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3D日常BUGUnity3D中出现“unsafe code 不安全的代码”的错误时的解决方法相关的知识,希望对你有一定的参考价值。

推荐阅读

大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。

一、前言

今天遇到一个错误,就是提示使用了不安全的代码,如下图所示:

这应该是插件或者自己脚本中使用了不安全unsafe的代码。

二、什么是unsafe

2-1、什么是unsafe不安全代码

默认情况下,C#是不支持 指针 的,unsafe 关键词用于在C#表示不安全的上下文,如果想要在C#中进行任何和指针相关的操作,就必须配合unsafe关键词使用。

在公共语言运行时(CLR)中,不安全代码是指无法验证的代码。

C# 中的不安全代码不一定是危险的,只是 CLR 无法验证该代码的安全性。因此,CLR 将仅执行完全信任的程序集中的不安全代码。

如果你使用不安全代码,你应该负责确保代码不会引发安全风险或指针错误。

2-2、解决报错

在菜单栏找到File→Build Setting→Player Setting→Other Setting下的Allow unsafe Code选项:


勾选该选项后,我们就可以在Unity中使用unsafe关键词了。

2-3、如何使用unsafe

用于修饰变量,给变量用上指针:

public class Testunfofa : MonoBehaviour

    void Start()
    
        Fun();
    

    private unsafe void Fun()
    
        int i = 3;
        int* x = &i;
        Debug.Log((int)x);
    


注意:unsafe 的使用虽然能让我们在C#中使用指针,但是会存在安全风险和稳定性风险,如果没有特殊需求,请尽量避免在C#中使用 unsafe。

三、后记

你的点赞就是对博主的支持,有问题记得留言:

博主主页有联系方式。

博主还有跟多宝藏文章等待你的发掘哦:

专栏方向简介
Unity3D开发小游戏小游戏开发教程分享一些使用Unity3D引擎开发的小游戏,分享一些制作小游戏的教程。
Unity3D从入门到进阶入门从自学Unity中获取灵感,总结从零开始学习Unity的路线,有C#和Unity的知识。
Unity3D之UGUIUGUIUnity的UI系统UGUI全解析,从UGUI的基础控件开始讲起,然后将UGUI的原理,UGUI的使用全面教学。
Unity3D之读取数据文件读取使用Unity3D读取txt文档、json文档、xml文档、csv文档、Excel文档。
Unity3D之数据集合数据集合数组集合:数组、List、字典、堆栈、链表等数据集合知识分享。
Unity3D之VR/AR(虚拟仿真)开发虚拟仿真总结博主工作常见的虚拟仿真需求进行案例讲解。
Unity3D之插件插件主要分享在Unity开发中用到的一些插件使用方法,插件介绍等
Unity3D之日常开发日常记录主要是博主日常开发中用到的,用到的方法技巧,开发思路,代码分享等
Unity3D之日常BUG日常记录记录在使用Unity3D编辑器开发项目过程中,遇到的BUG和坑,让后来人可以有些参考。

以上是关于Unity3D日常BUGUnity3D中出现“unsafe code 不安全的代码”的错误时的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D日常BUGUnity3D中使用高亮插件Highlighting出现的错误:Parameter name:shader

Unity3D日常BUGUnity3D中出现“unsafe code 不安全的代码”的错误时的解决方法

Unity3D日常BUGUnity3D中出现“unsafe code 不安全的代码”的错误时的解决方法

Unity3D日常BUGUnity3D中出现“unsafe code 不安全的代码”的错误时的解决方法

Unity3D日常BUGUnity3D中导入Obi插件出现的错误:DLLNotFouindException:libOni

Unity3D日常BUGUnity3D 中听不到声音解决方案