当前位置: 首页 > news >正文

UE5学习笔记(1)——从源码开始编译安装UE5

目录

  • 0. 前期准备
  • 1. Git bash here
  • 2. 克隆官方源码。
  • 3. 选择安装分支
  • 4. 运行Setup.bat,下载依赖文件
  • 5. 运行GenerateProjectFiles.bat生成工程文件
  • 6. 生成完成,找到UE5.sln/UE4.sln
  • 7. 大功告成

0. 前期准备

0.1 在windows的话,建议装一个Git bash,同时还要有自己的github账号,注册github账号这里就不再赘述了,安装git bash后,设置自己的github账号。或者在windows装一个WSL。
0.2 把自己的github账号关联Epic官方,必须关联之后才能下载Unreal的源码。关联方式见官方教程
0.3 安装VS 2022,这里推荐2022,如果是想装5.2的话,就要2022,想装4的话也可以VS2019,在安装中选择要开发的内容,这里也是跟着官方的推荐就好。官方教程,不想看英语的小伙伴也可以右上角换成中文。

1. Git bash here

在准备放代码的文件夹下右键,选择Git bash here,会打开gitbash的窗口。推荐这里在固态硬盘里进行操作,建议固态最少最少要有300G的空闲空间。可以自己新建一个目录,也可以在bash窗口里mkdir创建目录。

2. 克隆官方源码。

可以先去浏览器中进入unreal的github首页,https://github.com/EpicGames/UnrealEngine,可以看到左边的分支默认是release,且是最新的,暂时先不用考虑版本问题,因为源码下下来的时候都一样。
在bash命令中,
git clone https://github.com/EpicGames/UnrealEngine
在这里插入图片描述
源码有20多G,慢慢等。
如果clone的时候太慢,或者直接没速度,建议科学上网,并在host文件里加上下面这行

13.226.17.97 cdn.unrealengine.com

在这里插入图片描述

3. 选择安装分支

进过漫长的等待,终于下载完了,进入目录

cd UnrealEngine

这里就要选择安装版本了,根据某老师的推荐,要安装UE5的话就装5.2,要UE4的话就4.27,我们需要切换到对应的版本的分支上进行安装。使用git checkout或者git switch命令来切换,如果你使用较新的git,那推荐选择switch命令,switch和checkout都能切换分支,他们的区别可以参考这篇文章。这里以5.2为例

git switch 5.2.1-release

4. 运行Setup.bat,下载依赖文件

bat是windows的批处理文件,所以不能直接在bash里运行setup.bat这个命令,要么就打开win的命令行窗口,进入相同的目录,再执行Setup.bat,要么就在bash里,通过直接执行cmd也可以。

cmd.exe /c Setup.bat --threads=200

在这里插入图片描述

5. 运行GenerateProjectFiles.bat生成工程文件

同上,要么在cmd里运行,要么在bash里运行。等待它慢慢完成。
在这里插入图片描述

6. 生成完成,找到UE5.sln/UE4.sln

在当前目录下,会生成UE5.sln,它是VS的工程项目文件,双击打开,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在左上方的解决方案配置那里选择下拉,选择开发者编辑器(Developer Editor)右边的解决方案平台选择Win64。
然后就可以在解决方案中右键UE5,选择Build(生成/构建)
在这里插入图片描述
开始编译,这里要编译6000多个文件,还是很耗时的,这就考验CPU的时候了,核多的CPU就有优势了,我的只是个8700,用了两个多小时。
在这里插入图片描述
不出意外的话,编译完成后就是这样。
在这里插入图片描述
然后就可以在UnrealEngine\Engine\Binaries\Win64目录下面看到UnrealEditor了。

在这里插入图片描述

7. 大功告成

到了这里,基本就算是安装完了。

http://www.lryc.cn/news/168297.html

相关文章:

  • DP读书:《openEuler操作系统》(二)操作系统的发展史
  • SQL sever中相关查询
  • Java手写IO流和案例拓展
  • Linux入门教程||Linux 文件与目录管理
  • MyBatis获取参数值的两种方式#{}和${} 以及 获取参数值的各种情况
  • (手撕)数据结构--->堆
  • [运维|数据库] MySQL 中的COLLATE在 PostgreSQL如何表示
  • 【Linux】tar 与 zip 命令
  • VS2015+opencv 3.4.6开发环境
  • [运维|数据库] 将mysql的null.unix_timestamp(now()) * 1000转为PostgreSQL的语法
  • springboot使用filter增加全局traceId,方便日志查找
  • 面经学习三
  • Open3D 点云配准——可视化匹配点对之间的连线
  • io多路复用之poll的详细执行过程
  • 网络安全深入学习第四课——热门框架漏洞(RCE— Log4j2远程代码执行)
  • 大数据Flink(八十一):SQL 时区问题
  • Input子系统 - Kernel驱动程序 - Android
  • MySQL里的查看操作
  • Vim的基础操作
  • 十天学完基础数据结构-第一天(绪论)
  • 神经网络 03(参数初始化)
  • div设置圆角#前端
  • Windows开机密码破解
  • Mobirise for Mac:轻松创建手机网站的手机网站建设软件
  • [npm] npx 介绍与使用说明
  • QT : 仿照QQ 完成弹出登录窗口,并实例化组件
  • typescrip接口 interface详解,以及ts实现多态
  • Vivado IP中Generate Output Products的设置说明
  • 9.3.5网络原理(应用层HTTP/HTTPS)
  • vue基础知识十一:Vue组件之间的通信方式都有哪些?