项目介绍#

soloAS 是一个为设计而生的 Unreal 脚本系统。它以原版引擎插件的形式提供 AngelScript 脚本支持,无需修改引擎代码,却也能拥有优秀的开发体验。

为什么有这个项目#

  1. 蓝图不适合写复杂逻辑,C++ 开发迭代慢,需要一门文本脚本语言。AngelScript 是目前综合体验极好、和 C++ 亲和度很高的脚本语言:既能以字节码运行,也能转成 C++,性能也十分不错。
  2. 原有方案需要编译修改过的 UE 引擎,搭环境麻烦,和别人协作更麻烦;即使编译了一次,也会因为更新而烦。特别是小团队,少维护一份引擎 fork,可以省下很多时间。
  3. 如果一直只有引擎 fork 版本,社区就扩大不了,无法让更多开发者用上这套好的开发体验。
  4. 部分功能缺失,例如 UE 接口没有提供给脚本,会带来大量适配问题。这是技术选择问题,没有对错。但很多功能都是有总比没有好,特别是对于想利用各种外部插件的人来说,适配度很重要,所以,此项目甚至做了 AS 继承蓝图的功能(待发布)。
  5. AI 时代需要把功能模块化,便于把任务分给 AI,所以需要像 Mod 一样可以动态插拔的模块。AS 这种脚本语言能轻松改造,就十分适合在 UE 原本体系上做这些拓展。
  6. 尽可能自动地把更多的 C++ API 绑定给 AngelScript。AS 可以走得更底层一点,业务上就可以少用 C++;越少用 C++,迭代越快。
  7. 打包等流程也要像流水线一样自动化,特别是把 AS 转为 C++ 编译、大幅提升性能的那一套流程。
  8. 充分利用 AI 的能力,给 AI 足够好的脚手架。AS 代码很像 C++,只要给足够好的 API 文档和纠错机制,AI 就能轻松知道如何编写 AS 代码。

项目架构#

插件架构#

工具开发工具项目打包、AI 辅助开发 · 待发布扩展核心扩展待发布功能模组待发布绑定GAS手工绑定包Enhanced Input手工绑定包其他绑定包手工绑定包 · 待发布手工绑定核心待发布自动绑定待发布核心soloAS 核心Angelscript 运行时 + SoloASBridge底层原版 Unreal Engine 工具开发工具项目打包、AI 辅助开发 · 待发布扩展核心扩展待发布功能模组待发布绑定GAS手工绑定包Enhanced Input手工绑定包其他绑定包手工绑定包 · 待发布手工绑定核心待发布自动绑定待发布核心soloAS 核心Angelscript 运行时 + SoloASBridge底层原版 Unreal Engine

各插件都依赖核心,彼此独立;扩展和工具通过核心提供的扩展点接入。虚线框标「待发布」的尚未发布,实线框的已发布。

功能模组在哪一层(待发布)#

功能模组内置功能模组随项目一起打包官方外部功能模组有签名玩家外部功能模组API 白名单,首次加载需确认Game Feature 插件Game Feature 插件可开关的玩法单元,运行时激活游戏项目游戏项目主 Game 模块、C++、AS、资源插件项目插件soloAS 插件、其他项目插件引擎插件GameplayAbilities、EnhancedInput 等UE 核心UE 引擎核心模块Core、CoreUObject、Engine↓ 上层可以依赖下层✕ 下层不能依赖功能模组 功能模组内置功能模组随项目一起打包官方外部功能模组有签名玩家外部功能模组API 白名单,首次加载需确认Game Feature 插件Game Feature 插件可开关的玩法单元,运行时激活游戏项目游戏项目主 Game 模块、C++、AS、资源插件项目插件soloAS 插件、其他项目插件引擎插件GameplayAbilities、EnhancedInput 等UE 核心UE 引擎核心模块Core、CoreUObject、Engine↓ 上层可以依赖下层✕ 下层不能依赖功能模组

功能模组位于最上层:可以依赖游戏项目、Game Feature Plugin 和其他功能模组,反过来它们都不能依赖功能模组。

设计取舍#

不需要某项功能时,不启用对应插件,几乎没有开销;需要时随时都能插上,立等可用。

×

联系

问题反馈

问题与反馈请提交至 GitHub Issues。

合作

合作事宜请发送邮件至 contact@cuviss.com。

×

关于

服务条款

各插件的许可证见社区贡献页。

网站内容可在注明来源后引用。

软件和文档按“现状”提供,不作任何保证。

Unreal Engine 等第三方项目及名称相关商标归各自所有者所有。soloAS 与 Epic Games、Hazelight 均无关联。

致谢和案例展示请求均不具约束力,详见首页说明。

更新于 2026-10-24

隐私政策

本网站不使用分析工具、Cookie 或跟踪,也没有数据表单或第三方脚本。

网站托管于 GitHub Pages。GitHub 可能按其隐私声明处理标准访问日志。

通过邮件发送的内容会提供给我们;通过 GitHub Issues 发送的内容会提供给 GitHub。

更新于 2026-10-24

目录

页面列表

本页目录