![]() |
1
3
tl;dr-“auto-reference”仅适用于托管插件。这是一个.dll文件,它是用C编写的。非托管插件(用非C语言编写的DLL是非托管的,不能自动引用) 编辑:我刚注意到有更多隐藏的评论,其中一条可能是提到它在为托管DLL工作。 伊迪丝2:如果你想让这个项目测试一下,我可以上传。 在编辑器中进行检查时,我想检查托管和非托管DLL之间是否存在差异(在Unity 2019中进行测试,但我假设2018年也是如此)。 我创建了以下两个DLL。一个在C(托管)中,另一个在CPP(非托管)中。我为它添加了一些简单的功能,以确保它不会由一个空的dll引起。 托管C插件
将其编译成一个面向.NET 3.5框架的dll(Unity 2018和更高版本支持4.x,但希望在安全方面发挥作用),并将.dll文件放在/assets/文件夹中(显然assets/plugin文件夹将用于 本机/非托管 插件,而不是管理的)。 非托管/本地C++插件
还将其编译为一个dll,并将其放在/assets/plugin文件夹中。
我调用两个dll的内部
在编辑器中检查dll时,似乎是托管(C)插件
做
有选择权
另外,我决定运行一个基准测试two函数,令我惊讶的是,托管C插件实际上是 更快 而不是CPP。
结果:
对于任何希望自己查看差异/进行实验的人,我已经做了一个Git Hub回购 here 包含我上面使用的项目。 |
![]() |
2
1
@remy-rm很好地解决了这个问题。 编译的C DLL(“托管插件”)确实具有自动引用功能
实际的本机插件(“非托管插件”)执行 不是 具有自动参考功能
事实上,这同样适用于PC和Mac:
统一(有时)指:
(然而,在WWW上所有其他与Unity相关的写作通常将编译后的C_称为“dlls”,而本机插件称为“plugins”。) 自动参考系统仅用于编译C..托管插件”。 非常感谢@remy_rm花费数小时来解决这个问题。 Unity正在努力改进他们的漫画文档-还不完全是这样的:) |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |
![]() |
RavioliDish · 着色器没有纹理属性“\u MainTex” 2 年前 |
![]() |
Naffy · PlayerPref未正确存储 2 年前 |
![]() |
Gacut · 投掷物体时,它只会向右移动 3 年前 |
![]() |
bjy0212 · 协同程序运行时Unity游戏停止 3 年前 |
![]() |
Daniel Lip · 如何在没有父母的情况下获得所有孩子? 3 年前 |