第 1 天:UE5 C++ 开发环境搭建,全流程指南
🎯 目标:搭建 Unreal Engine 5(UE5)C++ 开发环境,配置 Visual Studio 并成功运行 C++ 代码!
1️⃣ Unreal Engine 5 安装
🔹 下载与安装 Unreal Engine 5
步骤:
- 注册并安装 Epic Games Launcher
- 访问 Unreal Engine 官网 下载 Epic Games Launcher。
- 运行安装程序,完成后 登录你的 Epic 账户。
- 安装 Unreal Engine 5
- 在 Epic Games Launcher 左侧导航栏,点击 Unreal Engine → 进入 库(Library)。
- 点击 + 号 添加 UE5 版本(建议选择最新版,如 5.3+)。
- 选择 安装位置 并等待下载完成(建议 SSD,至少 50GB 空间)。
- 勾选 C++ 开发相关组件
- 在安装时,点击 选项(Options),勾选:
✅ Engine Source Code(引擎源码)
✅ Starter Content(示例内容)
✅ Editor Symbols for Debugging(调试符号,适用于 C++)
- 在安装时,点击 选项(Options),勾选:
✅ 完成后,启动 UE5 以确保安装成功! 🎮
2️⃣ 安装 Visual Studio 并配置 C++
UE5 C++ 需要 Visual Studio(VS),推荐使用 VS 2022(兼容性更好)。
🔹 下载与安装 Visual Studio
- 访问 Visual Studio 官网,下载 Visual Studio 2022 Community 版(免费)。
- 运行安装程序,在“工作负载”页面,勾选 C++ 游戏开发 和 .NET 框架开发。
- 额外勾选 UE5 需要的组件:
- ✅ MSVC v143(C++ 编译工具)
- ✅ Windows 10/11 SDK
- ✅ C++ CMake 工具
- ✅ C++ 代码分析工具
安装完成后,重启计算机! 🔄
3️⃣ 配置 UE5 C++ 开发环境
🔹 关联 Unreal Engine 与 Visual Studio
4. 打开 Unreal Engine 5,点击 编辑(Edit)→ 项目设置(Project Settings)。
5. 在 “平台”→“Windows” 下,找到 编译器(Compiler) 选项,确认已选择 Visual Studio 2022。
6. 在 编辑(Edit)→ Editor Preferences(编辑器偏好设置),找到 Source Code(源代码),选择 Visual Studio 2022。
7. 重启 UE5 以应用更改。
4️⃣ 创建你的第一个 UE5 C++ 项目
🔹 新建 UE5 C++ 项目
- 打开 UE5,点击“创建新项目”。
- 选择 游戏(Game) → 空项目(Blank)。
- 项目类型选择 C++(不要选蓝图),名称改为 MyFirstCppGame。
- 选择 启用 Starter Content(带基础资源)。
- 点击创建(Create),等待项目加载。
✅ 你已成功创建 UE5 C++ 项目!🎉
5️⃣ 测试 C++ 代码,确保开发环境正常
🔹 创建并运行一个 C++ 类
- 在 Unreal Editor 左侧,点击 “C++ 类” → 选择 Actor,命名为 MyFirstActor。
- 点击创建并打开 Visual Studio,编辑 MyFirstActor.cpp:
#include "MyFirstActor.h"
#include "GameFramework/Actor.h"
#include "Engine/Engine.h"AMyFirstActor::AMyFirstActor()
{PrimaryActorTick.bCanEverTick = true;
}void AMyFirstActor::BeginPlay()
{Super::BeginPlay();UE_LOG(LogTemp, Warning, TEXT("Hello Unreal Engine C++!"));
}void AMyFirstActor::Tick(float DeltaTime)
{Super::Tick(DeltaTime);
}
- 返回 UE5,点击“编译”按钮(或按 Ctrl + Shift + B 进行编译)。
- 将 MyFirstActor 拖入场景,点击 “运行(Play)”。
- 打开 Output Log(输出日志),如果看到 “Hello Unreal Engine C++!”,说明 C++ 代码成功运行!🎉
6️⃣ 遇到问题?常见错误排查
| 错误 | 解决方案 |
|---|---|
| 无法创建 C++ 项目 | 确保安装 Visual Studio 2022 + C++ 组件 |
| 编译失败(Missing Modules) | 右键 .uproject 选择 Generate Visual Studio project files |
| 运行时报错 | 检查代码拼写,并在 UE5 重新编译 C++ |
| 代码修改后无效 | 在 UE5 点击编译,确保代码已生效 |
🎯 总结:今天你学到了什么?
✅ 安装 Unreal Engine 5 并配置 C++ 开发环境
✅ 安装 Visual Studio 2022 并关联 UE5
✅ 创建 UE5 C++ 项目,编写 & 运行第一个 C++ 代码
✅ 解决常见开发环境问题
👏 恭喜!你已经成功完成 UE5 C++ 开发环境搭建,明天我们将进入 C++ 代码结构解析!💻🎮
🚀 👉 记得收藏本专栏,每天进步一点,最终掌握 UE5 C++ 开发! 🎯
相关文章:
第 1 天:UE5 C++ 开发环境搭建,全流程指南
🎯 目标:搭建 Unreal Engine 5(UE5)C 开发环境,配置 Visual Studio 并成功运行 C 代码! 1️⃣ Unreal Engine 5 安装 🔹 下载与安装 Unreal Engine 5 步骤: 注册并安装 Epic Game…...
axios如何利用promise无痛刷新token
目录 需求 需求解析 实现思路 方法一: 方法二: 两种方法对比 实现 封装axios基本骨架 instance.interceptors.response.use拦截实现 问题和优化 如何防止多次刷新token 同时发起两个或以上的请求时,其他接口如何重试 最后完整代…...
玉米苗和杂草识别分割数据集labelme格式1997张3类别
数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):1997 标注数量(json文件个数):1997 标注类别数:3 标注类别名称:["corn","weed","Bean…...
【自学笔记】GitHub的重点知识点-持续更新
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 GitHub使用指南详细知识点一、GitHub基础与账户管理1. GitHub简介2. 创建与管理GitHub账户3. 创建与配置仓库(Repository) 二、Git基础与Git…...
string例题
一、字符串最后一个单词长度 题目解析:由题输入一段字符串或一句话找最后一个单词的长度,也就是找最后一个空格后的单词长度。1.既然有空格那用我们常规的cin就不行了,我们这里使用getline,2.读取空格既然是最后一个空格后的单词,…...
算法基础——一致性
引入 最早研究一致性的场景既不是大数据领域,也不是分布式系统,而是多路处理器。 可以将多路处理器理解为单机计算机系统内部的分布式场景,它有多个执行单元,每一个执行单元都有自己的存储(缓存),一个执行单元修改了…...
【数据采集】案例01:基于Scrapy采集豆瓣电影Top250的详细数据
基于Scrapy采集豆瓣电影Top250的详细数据 Scrapy 官方文档:https://docs.scrapy.org/en/latest/豆瓣电影Top250官网:https://movie.douban.com/top250写在前面 实验目的:基于Scrapy框架采集豆瓣电影Top250的详细数据。 电脑系统:Windows 使用软件:PyCharm、Navicat Python…...
设计模式 - 行为模式_Template Method Pattern模板方法模式在数据处理中的应用
文章目录 概述1. 核心思想2. 结构3. 示例代码4. 优点5. 缺点6. 适用场景7. 案例:模板方法模式在数据处理中的应用案例背景UML搭建抽象基类 - 数据处理的 “总指挥”子类定制 - 适配不同供应商供应商 A 的数据处理器供应商 B 的数据处理器 在业务代码中整合运用 8. 总…...
Spring Boot框架下的单元测试
1. 什么是单元测试 1.1 基本定义 单元测试(Unit Test) 是对软件开发中最小可测单位(例如一个方法或者一个类)进行验证的一种测试方式。在 Java 后端的 Spring Boot 项目中,单元测试通常会借助 JUnit、Mockito 等框架对代码中核心逻辑进行快…...
git中文件的状态状态切换
在 Git 中,文件的状态是指文件相对于 Git 仓库的当前情况。以下是一些常见的文件状态及其含义: 未跟踪(Untracked): 这是新创建的文件或从其他位置复制过来的文件,Git 还没有开始跟踪这些文件的更改。 这些…...
基于脉冲响应不变法的IIR滤波器设计与MATLAB实现
一、设计原理 脉冲响应不变法是一种将模拟滤波器转换为数字滤波器的经典方法。其核心思想是通过对模拟滤波器的冲激响应进行等间隔采样来获得数字滤波器的单位脉冲响应。 设计步骤: 确定数字滤波器性能指标 将数字指标转换为等效的模拟滤波器指标 设计对应的模拟…...
RabbitMQ快速上手及入门
概念 概念: publisher:生产者,也就是发送消息的一方 consumer:消费者,也就是消费消息的一方 queue:队列,存储消息。生产者投递的消息会暂存在消息队列中,等待消费者处理 exchang…...
自动化构建-make/Makefile 【Linux基础开发工具】
文章目录 一、背景二、Makefile编译过程三、变量四、变量赋值1、""是最普通的等号2、“:” 表示直接赋值3、“?” 表示如果该变量没有被赋值,4、""和写代码是一样的, 五、预定义变量六、函数**通配符** 七、伪目标 .PHONY八、其他常…...
计算机网络之计算机网络的分类
计算机网络可以根据不同的角度进行分类,以下是几种常见的分类方式: 1. 按照规模和范围: 局域网(LAN,Local Area Network):覆盖较小范围(例如一个建筑物或校园)…...
MySQl的日期时间加
MySQL日期相关_mysql 日期加减-CSDN博客MySQL日期相关_mysql 日期加减-CSDN博客 raise notice 查询目标 site:% model:% date:% target:%,t_shipment_date.site,t_shipment_date.model,t_shipment_date.plant_date,v_date_shipment_qty_target;...
响应式编程与协程
响应式编程与协程的比较 响应式编程的弊端虚拟线程Java线程内核线程的局限性传统线程池的demo虚拟线程的demo 响应式编程的弊端 前面用了几篇文章介绍了响应式编程,它更多的使用少量线程实现线程间解耦和异步的作用,如线程的Reactor模型,主要…...
智能小区物业管理系统推动数字化转型与提升用户居住体验
内容概要 在当今快速发展的社会中,智能小区物业管理系统的出现正在改变传统的物业管理方式。这种系统不仅仅是一种工具,更是一种推动数字化转型的重要力量。它通过高效的技术手段,将物业管理与用户居住体验紧密结合,无疑为社区带…...
从Proxmox VE开始:安装与配置指南
前言 Proxmox Virtual Environment (Proxmox VE) 是一个开源的虚拟化平台,基于Debian Linux,支持KVM虚拟机和LXC容器。它提供了一个强大的Web管理界面,方便用户管理虚拟机、存储、网络等资源。Proxmox VE广泛应用于企业级虚拟化、云计算和开…...
【Docker项目实战】使用Docker部署MinIO对象存储(详细教程)
【Docker项目实战】使用Docker部署MinIO对象存储 前言一、 MinIO介绍1.1 MinIO简介1.2 主要特点1.3 主要使用场景二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、下载MinIO镜像五、…...
【C++】B2115 密码翻译
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目解析💯1. 老师的做法代码实现:思路解析: 💯2. 我的做法代码实现:思路分析: 💯3. 老师…...
02.04 数据类型
请写出以下几个数据的类型: 整数 a ----->int a的地址 ----->int* 存放a的数组b ----->int[] 存放a的地址的数组c ----->int*[] b的地址 ----->int* c的地址 ----->int** 指向printf函数的指针d ----->int (*)(const char*, ...) …...
Leetcode—598. 区间加法 II【简单】
2025每日刷题(206) Leetcode—598. 区间加法 II 实现代码 class Solution { public:int maxCount(int m, int n, vector<vector<int>>& ops) {int ans m * n;int x ops.size();if(ops.empty()) {return ans;}int xm ops[0][0], ym …...
AI浪潮下的IT从业者:危机、机遇与进化之路
目录 0. 前言1. 当前形势:站在十字路口1.1 AI的突飞猛进1.2 行业现状分析 2. 核心应对策略2.1 技术深度与广度的平衡2.2 人机协同的工作模式2.3 持续学习与创新 3. 结语 0. 前言 在人工智能快速发展的今天,IT从业者面临前所未有的挑战与机遇。本文将从实…...
OpenCV:图像轮廓
目录 简述 1. 什么是图像轮廓? 2. 查找图像轮廓 2.1 接口定义 2.2 参数说明 2.3 代码示例 2.4 运行结果 3. 绘制图像轮廓 3.1 接口定义 3.2 参数说明 3.3 代码示例 3.4 运行结果 4. 计算轮廓周长 5. 计算轮廓面积 6. 示例:计算图像轮廓的面…...
洛谷P11655「FAOI-R5」Lovely 139
P11655「FAOI-R5」Lovely 139 题目背景 Update:数据有 0 0,答案为 1,请选手特判以正常通过。 Height ≤ 139 \text{Height}\leq139 Height≤139。 题目描述 对于一个 01 \tt 01 01 串 S S S(下标从 1 1 1 开始)…...
文字显示省略号
多行文本溢出显示省略号...
Windows图形界面(GUI)-QT-C/C++ - QT Tab Widget
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 一、概述 1.1 什么是 QTabWidget? 1.2 使用场景 二、常见样式 2.1 选项卡式界面 2.2 动态添加和删除选项卡 2.3 自定义选项卡标题和图标 三、属性设置 3.1 添加页面&…...
C++11 多线程 锁与条件变量:mutex、lock_guard、unique_lock 和 condition_variable
文章目录 mutex核心成员函数使用场景 lock_guard功能和特性构造函数使用场景 unique_lock功能和特性构造函数核心成员函数使用场景 lock_guard对比unique_lockcondition_variable核心成员函数使用场景 mutex std::mutex 是 C 标准库中提供的一种互斥量,用于在多线程…...
【Proteus】NE555纯硬件实现LED呼吸灯效果,附源文件,效果展示
本文通过NE555定时器芯片和简单的电容充放电电路,设计了一种纯硬件实现的呼吸灯方案,并借助Proteus仿真软件验证其功能。方案无需编程,成本低且易于实现,适合电子爱好者学习PWM(脉宽调制)和定时器电路原理。 一、呼吸灯原理与NE555功能分析 1. 呼吸灯核心原理 呼吸灯的…...
Cosmos - 世界模型开发平台
文章目录 一、关于 Cosmos主要特点模型家族 二、使用示例1、推理2、后训练 许可证和联系方式 一、关于 Cosmos NVIDIA Cosmos是开发者第一的世界基础模型平台,旨在帮助物理AI开发者更好、更快地构建他们的物理AI系统。宇宙包含 预训练模型,可通过拥抱脸…...
