整理了一下Gpt给我的一大坨内容,但是我根据实际学习情况会添加笔记或者调整,文档会持续更新一直到我完全上手项目。
promt:我希望从小白成长为 UE AngelScript 高手,并且 UE5.5、TA、工具、游戏逻辑都要覆盖。
里面很多As官网内容比较难看懂,我看ue社区或者官方文档一般都能理解不需要翻译,但是不知道为什么As官网很难流畅读完,我后面发现了一个好用的网页翻译插件Lingocloud,可以side-by-side提供翻译。
现在完成了制作简单EUW的练习,之后不会新开文章了,会在这里持续更新
“UE AngelScript” 是什么?
目前社区最主流、资料最完整的一套 UE AngelScript,是 Hazelight 的 UnrealEngine-Angelscript(UE-AS):它通常不是“普通插件即插即用”,而是 需要源码引擎分支(或对源码有要求) 的方式来使用,因此你需要走 “源码编译 UE” 的路线。
UE5.5 与 UE-AS 分支对齐提醒: UE-AS 分支是否已追到 5.5,要以你拿到源码权限后实际看到的分支/tag 为准。工程上建议:编辑器工具链(EUW/Python/Editor Subsystem)与运行时(AngelScript)分开,以免版本差影响你工具开发。
1. 总学习路线(从最简单入门到高手)
√第 0 关:环境跑通(必须过)
目标: 能编译 UE,引擎能启动;能在项目里写 .as 并加载;VS Code 能补全/跳转。
建议练习:
- 成功启动 Editor
- 新建/打开项目,创建
Script/目录,放入.as文件并被加载(以 UE-AS 文档为准)
后面小练习就不到半小时,搞这个源码我想死的心都有了,这是最讨厌的一步!我再也不想编译ue源码了...但是完事开头难吧..
√第 1 关:写一个脚本 Actor(最小闭环)
目标: 脚本 Actor 能出现在编辑器(Place Actors 可搜到),能 BeginPlay 打印,能 Tick 更新。
- 入门示例页(强烈建议照抄跑通)

可以了,然后按照官网步骤一点一点来就行
第 2 关:像写 C++ 一样写 UE,但更快(蓝图互通 + 可维护代码)
目标:
- 属性能暴露到 Details 面板和蓝图
- 函数能在蓝图节点里调用
- Functions & Events / Blueprint:互通
- Function Libraries:映射蓝图函数库 → 脚本命名空间
- Actors & Components:脚本侧
- Properties & Accessors:属性暴露与访问器
建议练习:
- Moving Platform:属性可配置(速度/路径),可放进关卡跑
- Spawner:使用
TSubclassOf指向蓝图子类并 Spawn(按文档示例做)
第 3 关:架构三件套(高手分水岭)
这部分也是你截图里红框强调的重点:Delegates / Gameplay Tags / Subsystems
- Delegates / Events:事件驱动、解耦
- Gameplay Tags:全项目一致的语义标签
- Subsystems:模块化、可复用、生命周期清晰
建议练习:
- 写一个“交互系统”:触发 → 广播委托 → UI/音效/任务系统响应(完全解耦)
- 用 Tags 驱动状态机/输入/能力开关
- 用 Subsystem 管理全局系统(World/GameInstance 等)
√第 4 关:工具开发(TA 主战场)
前面的没有细看,我想尽快上手项目,先直接练习了
目标: 你能独立做出可落地的工具(面板 + 批处理 + 扫描/过滤 + 可扩展 UI)。
- Editor Utility Widgets(EUW):工作比较需要,我会先学这个 √
- Scripting & Automating the Unreal Editor(总览):总览
- Python 编辑器脚本:Python 编辑器脚本
- Asset Registry(扫描/查询未加载资产):扫描/查询未加载资产
- Slate(复杂工具 UI,可选但非常强):复杂工具 UI,可选但非常强
如果你还想“用 AngelScript 写编辑器侧系统”:
- Editor-only Script:
#if EDITOR
建议练习:
- 一个 EUW “资产批处理中心”:扫描 → 列表 → 批量改名/打标签/生成资产 → 输出日志
- 一个 Editor Subsystem:把工具能力做成系统模块(更易维护)
第一个实战小练习
基于 Unreal Angelscript Widget 教程做了个小练习,顺手把流程跑通了一遍。原文里有一句我很喜欢:
“In reality, I find that the best way results in a feedback loop between both of these approaches, refining the data and the interface as you work on it. Build, iterate, build, iterate!”
乍一看像一句“正确的废话”——毕竟做工具、做界面、做交互,哪件事不是 Build, iterate, build, iterate?
但放到 Unreal 的工具开发语境里,这句话其实挺准确:界面结构、数据组织、交互方式,往往不是一次定死的,而是在不断试错里一起长出来的。 多撞墙才是真的..
这次练习我做了什么
没有完全照抄教程里的例子,而是借着它的思路,做了一个更贴近自己使用场景的小实验。
整体目标很简单:
- 理解创建自己的父类
- 再在 Blueprint 里把界面结构搭起来并且联通
- 最后通过 Angelscript 里补上实际我想要的逻辑
Step1:先有一个自己的基类
这一步本质上是在确定“这个工具的逻辑外壳”。
参考文章里的做法,是先在 Angelscript 里定义一个 Widget 基类,再由 Widget Blueprint 去继承它,这样 Blueprint 负责界面,脚本负责行为。BindWidget 这套思路也很直观:哪些子控件是这个工具运行所必需的,就在基类里明确声明出来。
我这边的处理方式比较直接:
父类直接使用 UEditorUtilityWidget。
不过我这边实际操作时,创建体验比原文里还顺手一些。可能是版本更新后的缘故?我这里可以直接跳转创建,不需要完全按照文档里那种比较传统的路径一步步找....

Step2:搭建并且联通
到这一步就很有意思了。
一旦进入 Widget Blueprint,开始拖控件、配层级、调布局,整个体验会很像 Qt 那套 UI 编辑思,
先把容器关系理清楚,再把具体控件塞进去,最后让逻辑去接这些控件。
如果你本身做过 DCC 工具、编辑器扩展,或者接触过 Qt Designer 一类的工作流,这块上手会非常快。因为它的核心逻辑是相通的:
- Hierarchy 决定结构
- 命名决定绑定
- Blueprint 负责视觉组织
- Script 负责行为实现
但是我觉得有意思的地方是,我是先上手euw的连连看来理解qt,现在又通过qt理解了as的euw,有一种兜兜转转还是你的微妙感..

Step3:补逻辑
教程里的示例逻辑比较简单,是生成随机数、显示文本,再绑定一个按钮事件,属于很标准的入门演示。
但我这里不太需要“随机数演示”这种纯教学型逻辑,所以就换成了更符合自己场景的做法:直接尝试调用关卡相关功能。
这里 Angelscript 自带的Subsystems文档就很有用了。思路也不复杂:
- 先明确自己要操作的是哪类系统
- 再去查对应应该拿哪个 Subsystem
- 把需要的调用填进去
这一步的关键,不是“代码有多复杂”,而是怎么做想清楚:
- 这个 Widget 是展示信息?
- 还是触发什么操作?
- 它依赖的是编辑器级数据,还是关卡级数据?
- 应该向哪个 Subsystem 取能力?
想清楚这些之后,后面的实现反而会很顺。因为 Angelscript 在 Unreal 这套体系里,本来就是依附现有引擎框架工作的,不是另起一套规则;你只需要知道该从哪里拿能力就可以了。
第二天的我回头来插一嘴,落实到具体函数实现,as的library文档难用死了,不如vs的as内置插件直接查函数,然后具体值去ue的开发文档里看..

Step3:The End
等界面搭好、绑定跑通、逻辑接上之后,这个小练习其实就已经完成了。
虽然功能非常简单,但它对入门很有帮助,因为整条链路都经历了一遍:
- Angelscript 基类定义
- Widget Blueprint 继承
- 控件绑定
- 编辑器工具化
- Subsystem 调用(我会常用,自己需要什么模块可以先简单练习需要的基础内容)
- 最终逻辑验证
从结果上看,它不算复杂;但从学习价值上看,它已经足够把 Unreal Angelscript 做工具界面的基本工作流串起来了。
Done。我觉得我完成了算是一个很轻量、但挺完整的入门。好耶!
第 5 关:联机 + 工程化(上线级)
目标: 会 Replication/RPC,懂测试与性能优化,能做可上线的项目结构。
- UE官方:Networking Overview:概念与实践
- UE-AS:Networking Features:脚本侧复制 / RPC 等
- UE官方:Automation Test Framework:自动化测试框架
- UE-AS:Script Tests:脚本单测
- UE-AS:Precompiled Scripts:启动性能
建议练习:
- 多人计分板(Replicated + OnRep)
- 交互/任务/计分联机 Demo(带 5~10 个自动化测试)
2. 全量技能树(TA + 工具 + 游戏逻辑 + UE-AS)
我先存档链接吧,有时间会细品去练习并扩充这篇文章的内容..
A)AngelScript 语言本体(通用)
- 类型系统、类/接口、数组/字典、引用/句柄(
@)、模块化、性能常识 - AngelScript 官方手册总目录
- Hello World / 编译运行流程:编译运行流程
B)UE-AS(Hazelight)核心能力
- Actor / Component 生命周期与默认值(
default) - Blueprint 互通(UFUNCTION/UPROPERTY、BlueprintEvent/Override)
- Function Libraries(命名空间映射)
- Delegates / Gameplay Tags / Subsystems
- Editor-only Script
- Tests + Precompiled
核心文档入口(建议从这里开):
- UE-AS 首页:官网首页
- Installation:安装
- Introduction:介绍
- Actors & Components:Actor 与组件
- Functions & Events:函数与事件
- Properties & Accessors:属性与访问器
- Function Libraries:函数库
- Delegates:委托
- Gameplay Tags:Gameplay Tags
- Subsystems:子系统
- Editor Script:编辑器脚本
- Script Tests:脚本测试
- Precompiled Data:预编译数据
- Resources:汇总
C)游戏逻辑主线(UE 官方权威)
- Gameplay Framework:职责边界与架构
- Enhanced Input:增强输入
- UMG:UI
- Data Assets:数据资产
- Networking:网络
- Gameplay Tags(Epic 版):Gameplay Tags
D)TA / 工具链主线(编辑器侧生产力)
- EUW:Editor Utility Widgets
- Editor 自动化总览:编辑器脚本与自动化
- Python:使用 Python 编写 Unreal 编辑器脚本
- Asset Registry:资源注册表
- Slate:Slate UI 框架
3. 推荐“高手路线”学习顺序(省力不绕路)
1) Installation + Introduction(跑通)
2) Functions & Events + Properties & Accessors + Actors & Components + Function Libraries(写得像 UE 工程)
3) Delegates + Gameplay Tags + Subsystems(架构三件套)
4) EUW + Python + Asset Registry +(可选 Slate)(TA 工具链)
5) Networking + Tests + Precompiled(上线级)
4. 毕业级项目(TA + 工具 + 游戏逻辑全覆盖)
项目 1:资产批处理中心(TA 工具)
- EUW 作为 UI 入口
- Python 做批处理逻辑(改名/打标/生成/批量修改)
- Asset Registry 扫描/过滤未加载资产
项目 2:运行时框架(Subsystem + Tags + Events)
- 系统模块化:Subsystem 管生命周期
- Tags 管语义与状态
- Delegates 管事件与解耦
项目 3:联机可玩 Demo(交互/任务/计分 + 测试)
- Replication/RPC + 多人同步
- 自动化测试(UE + Script Tests)
- 启动性能优化(Precompiled)
5. AS社区
- UE-AS Resources:例子 / 文章 / 社区入口