一个模拟器项目,cs模式,客户端通过socket发送指令让管理端执行unity打包的功能 。
首先创建一个批处理.bat文件,用来做命令执行:
echo off
@set outPath="你要输出的绝对路径"
@set unityPath="unityEditor下的可执行文件目录"
@set scenes="要打包场景的名称,可以是多个,如ascene,bscene"
echo "packaging......"
%unityPath% -quit -batchmode -executeMethod BuildEditor.BuildPacage -logFile d:\1\debug.log -projectPath “unity工程文件路径” %outpath% %scenes%
Unity工程上需要的步骤,创建一个脚本BuildEditor,放在需要打包的工程的Editor文件夹下。具体代码如下:
public Class BuildEditor:Ediotr{
private static string[] s; //定义一个字符串数组,存放命令行字符串
//打包接口
static void BuildPackage()
{
s=System.Environment.GetCommandLineArgs(); //返回包含当前进程的命令行参数的字符串数组
BuildForStandaloneWindows();
}
//打包windows端
[MenuItem("a/b")]
static void BuildForStandaloneWindows()