Unity 会自动检测嵌入式 Linux 的插件。导入插件时,Unity 会为每个插件创建元数据文件。例如,共享对象和共享库的 .so 以及存档文件的 .a。这些元数据文件包含插件信息,例如目标架构和平台。Unity 构建系统引用这些元数据文件来跟踪需在构建过程中复制的文件。
一个项目中可以有多个同名的共享库。例如,在同一个项目中,您可以拥有 x86_64 的 libFoo.so 和 ARM64 的 libFoo.so,Unity 会为您的构建目标检测正确的 libFoo.so 并将其复制到播放器构建中。
您可以在 Unity Editor 中手动编辑这些文件。但无需手动将插件添加到项目的 Plugins 文件夹中。您只需将它们放在项目目录中项目 Assets/Plugins/EmbeddedLinux 文件夹下的特殊文件夹中,以便 Unity 在导入时自动检测并设置它们的平台和架构。
Unity 根据以下规则自动检测嵌入式 Linux 的插件:
特定于架构的文件夹:将插件放在 Assets/Plugins/EmbeddedLinux/<arch> 下,其中 <arch> 为 x86、x86_64、ARM 或 ARM64。Unity 仅在为相应目标架构构建应用程序时才会复制它们。例如,如果将插件放在 Assets/Plugins/EmbeddedLinux/x86_64 下,Unity 仅在为 x86_64 进行构建时才会将其复制到播放器构建中。
没有架构的插件:将没有架构的插件放在 Assets/Plugins/EmbeddedLinux 下,并确保通过各自的 ELF 标头检查它们是否符合目标架构,同时分配适当的架构。