Unity在其2019.3版本中引入了对Python的支持。

但这个功能是作为实验性功能提供的,需要从Unity Package Manager中下载安装。该功能使开发人员能够使用Python编写和执行脚本,以及在Unity中直接调用Python代码。
如今4年多过去了,Python Scripting 插件已经更新到7.x版本了

在PackageManager可以直接安装PythonScript插件。

在这里打开

下面可以进入python编辑器进行测试

在这里打开

关于python版本的说明

手动使用pip安装Python包:

如果你想要手动安装Python包,你可以通过终端使用pip命令来进行。首先,从Unity编辑器的主菜单中选择“Edit” > “Project Settings”,然后选择“Python Scripting”。接着,选择“Launch Terminal”,这将打开一个终端窗口。在终端中,使用pip命令来安装你想要的Python包,比如:python -m pip install PySide2。Unity将会把这个Python包安装到你的Unity项目的Library/PythonInstall/Lib/site-packages文件夹中。

自动化Python包安装:

当你需要与其他同事共享Unity项目,并确保每个人都使用相同的Python模块和包,并且版本兼容时,你可以使用自动化的方法来安装Python包。你需要在Unity项目的ProjectSettings文件夹中创建一个新的requirements.txt文件,并按照pip需求文件的格式列出你想要的Python包。然后,打开(或重新启动)你的Unity项目,以应用对requirements.txt文件的任何更改。需要注意的是,如果你使用了requirements.txt文件,单独从终端安装的Python包在下次打开项目时会被卸载,除非它们也在requirements.txt文件中列出了。

给Unity3d的python进行功能扩展

打开Unity中的Python脚本项目设置:

进入Unity编辑器的主菜单。

选择“编辑” > “项目设置”。

在项目设置窗口中,选择“Python脚本”。

在Python脚本项目设置中,你可以查看当前Python脚本包版本所使用的Python和Python for .NET版本。

通过安装额外的Python模块和包来扩展你的Unity项目中的Python能力。

这些设置允许你管理和定制Unity项目中的Python环境,提供了对Python脚本能力的灵活性和控制。

调用案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using Python.Runtime;
using UnityEditor;
using UnityEditor.Scripting.Python;

public class MyPythonScript
{
[MenuItem("MyPythonScripts/Log Python Version")]
public static void LogPythonVersion()
{
PythonRunner.EnsureInitialized();
using (Py.GIL())
{
try
{
dynamic sys = Py.Import("sys");
UnityEngine.Debug.Log($"python version: {sys.version}");
}
catch(PythonException e)
{
UnityEngine.Debug.LogException(e);
}
}
}
}

参考链接

官方文档:https://docs.unity3d.com/Packages/com.unity.scripting.python@7.0/manual/index.html