
- [CodeGraph 使用教程:专为代码库打造的知识图谱](#CodeGraph 使用教程:专为代码库打造的知识图谱)
-
- 一、项目简介
- 二、安装方式
-
- [方式一:直接下载(无需 Node.js)](#方式一:直接下载(无需 Node.js))
- [方式二:npm 安装(已有 Node.js)](#方式二:npm 安装(已有 Node.js))
- 方式三:安装器一键安装
- 三、快速开始
- 四、核心概念
- [五、CLI 命令参考](#五、CLI 命令参考)
- [六、MCP 工具详解](#六、MCP 工具详解)
-
- [`codegraph_search` --- 符号搜索](#
codegraph_search— 符号搜索) - [`codegraph_context` --- 上下文构建(建议SubAgent中调用)](#
codegraph_context— 上下文构建(建议SubAgent中调用)) - [`codegraph_trace` --- 调用链追踪](#
codegraph_trace— 调用链追踪) - [`codegraph_callers` --- 调用者查询](#
codegraph_callers— 调用者查询) - [`codegraph_callees` --- 被调用者查询](#
codegraph_callees— 被调用者查询) - [`codegraph_impact` --- 影响分析](#
codegraph_impact— 影响分析) - [`codegraph_node` --- 符号详情](#
codegraph_node— 符号详情) - [`codegraph_explore` --- 多符号探索(建议SubAgent中调用)](#
codegraph_explore— 多符号探索(建议SubAgent中调用)) - [`codegraph_files` --- 文件结构](#
codegraph_files— 文件结构) - [`codegraph_status` --- 索引状态](#
codegraph_status— 索引状态) - 工具选用指南
- [`codegraph_search` --- 符号搜索](#
- 七、支持的编程语言
- 八、框架路由识别
- [九、iOS/React Native 混合开发支持](#九、iOS/React Native 混合开发支持)
- 十、自动同步机制
-
- [第一层:文件监听 + 防抖自动同步](#第一层:文件监听 + 防抖自动同步)
- 第二层:文件过期提示横幅
- 第三层:连接时追赶同步
- 手动同步的适用场景
- 十一、作为库使用
- 十二、配置说明
- 十三、故障排除
- [附录:支持的 AI 代理](#附录:支持的 AI 代理)

CodeGraph 使用教程:专为代码库打造的知识图谱

一、项目简介
CodeGraph 是一个本地优先的代码智能工具,专为 AI 编程助手设计。它的核心思想是:
与其让 AI 代理每次都用 grep/glob/Read 重新扫描文件,不如预先建好一张代码知识图谱,让代理直接查图作答。
github地址 :https://github.com/colbymchenry/codegraph
工作原理
- 用 tree-sitter 解析代码生成 AST
- 提取所有符号(函数、类、方法、类型)和边(调用关系、导入、继承)
- 存入本地 SQLite 数据库(支持 FTS5 全文检索)
- 通过 MCP 协议、CLI 或 TypeScript 库暴露给 AI 代理
实测性能提升(7 个真实开源项目,每组 4 次运行取中位数)
| 项目 | 语言 | 成本 | Token 用量 | 时间 | 工具调用次数 |
|---|---|---|---|---|---|
| VS Code | TypeScript ~1 万文件 | 省 26% | 少 63% | 快 20% | 少 69% |
| Excalidraw | TypeScript ~640 文件 | 省 40% | 少 71% | 快 41% | 少 82% |
| Django | Python ~3000 文件 | 多 10% | 少 45% | 慢 3% | 少 64% |
| Tokio | Rust ~790 文件 | 省 30% | 少 69% | 快 22% | 少 71% |
| OkHttp | Java ~645 文件 | 多 3% | 少 32% | 快 15% | 少 60% |
| Gin | Go ~110 文件 | 省 7% | 少 35% | 快 8% | 少 38% |
| Alamofire | Swift ~110 文件 | 省 38% | 少 45% | 快 6% | 少 8% |
平均:省 18% 成本 · 少 51% Token · 快 16% · 少 57% 工具调用
核心特点
- 100% 本地运行 --- 数据不离机,无需 API Key,无外部服务
- 零配置 --- 按文件扩展名自动识别语言
- 20+ 种编程语言 --- TS/JS/Python/Go/Rust/Java/C#/PHP/Ruby/C/C++/Swift/Kotlin 等
- 14 种 Web 框架路由识别 --- Express/Django/Spring/Laravel/Gin 等
- 自动同步 --- 原生 OS 文件监听(FSEvents/inotify/ReadDirectoryChangesW),编辑后 2 秒内更新
二、安装方式
方式一:直接下载(无需 Node.js)
bash
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh
# Windows(PowerShell)
irm https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.ps1 | iex
每个版本都包含内置 Node.js 运行时,不需要提前安装 Node.js,在 Windows/macOS/Linux 的 x64 和 ARM64 架构上均可运行。
方式二:npm 安装(已有 Node.js)
bash
# 全局安装
npm install -g @colbymchenry/codegraph
MCP添加到 ~/.claude.json(Claude Code):
json
{
"mcpServers": {
"codegraph": {
"type": "stdio",
"command": "codegraph",
"args": ["serve", "--mcp"]
}
}
}
添加自动允许权限到 ~/.claude/settings.json(可选):
json
{
"permissions": {
"allow": [
"mcp__codegraph__codegraph_search",
"mcp__codegraph__codegraph_context",
"mcp__codegraph__codegraph_callers",
"mcp__codegraph__codegraph_callees",
"mcp__codegraph__codegraph_impact",
"mcp__codegraph__codegraph_node",
"mcp__codegraph__codegraph_status",
"mcp__codegraph__codegraph_files"
]
}
}
方式三:安装器一键安装
bash
npx @colbymchenry/codegraph
安装器会自动:
- 检测你已安装的 AI 代理(Claude Code、Cursor、Codex CLI、opencode、Hermes Agent、Gemini CLI、Antigravity IDE、Kiro)
- 询问是否把
codegraph添加到 PATH - 询问是全局配置(所有项目)还是本地配置(当前项目)
- 写入各代理的 MCP 服务器配置
- 如果选 Claude Code,自动配置权限白名单
非交互模式(适合 CI/脚本):
bash
codegraph install --yes # 自动检测代理,全局安装
codegraph install --target=cursor,claude --yes # 指定代理
codegraph install --target=auto --location=local # 本地安装
codegraph install --print-config codex # 只打印配置片段,不写文件
| 参数 | 可选值 | 默认 |
|---|---|---|
--target |
auto、all、none 或逗号分隔列表 |
交互提示 |
--location |
global、local |
交互提示 |
--yes |
布尔值 | 每步提示 |
--no-permissions |
布尔值,跳过 Claude 自动白名单 | 开启 |
安装完之后要重启 AI 代理(Claude Code / Cursor / Codex CLI 等),让其加载 MCP 服务器。
三、快速开始
初始化项目(构建)
安装完之后打开自己的项目目录,使用一行命令搞定项目初始化。
bash
cd your-project
codegraph init -i

init 创建 .codegraph/ 目录;-i(--index)同时构建初始索引。全局安装后只需在每个项目执行一次,无需重复安装 MCP 配置。
完成后,只要项目存在 .codegraph/ 目录,AI 代理就会自动使用 CodeGraph 工具。

接下来打开ClaudeCode直接对话即可使用CodeGraph分析项目,示例如下:

卸载方法
bash
codegraph uninstall # 从所有已配置代理中移除
codegraph uninit # 移除当前项目的索引(保留代理配置)
四、核心概念
数据流水线
源文件 → tree-sitter 解析(提取节点/边)
↓
引用解析(导入关系、名称匹配、框架模式)
↓
图查询(调用者、被调用者、影响范围)
↓
上下文构建(Markdown/JSON 输出给 AI)
知识图谱结构
节点类型(NodeKind): file、module、class、struct、interface、trait、protocol、function、method、property、field、variable、constant、enum、enum_member、type_alias、namespace、parameter、import、export、route、component
边类型(EdgeKind): contains(包含)、calls(调用)、imports(导入)、exports(导出)、extends(继承)、implements(实现)、references(引用)、type_of(类型关系)、returns(返回)、instantiates(实例化)、overrides(重写)、decorates(装饰)
动态调度桥接
静态 tree-sitter 解析无法追踪动态调用,CodeGraph 通过合成器(Synthesizer)桥接这些边界:
- 回调/观察者模式
- EventEmitter 事件
- React
setState→render(React 重渲染) - JSX 子组件(
render→ 子组件) - Django ORM 描述符
所有合成边带有 provenance: 'heuristic' 标记及 metadata.synthesizedBy 字段,AI 可以清晰识别。
五、CLI 命令参考
基础命令
bash
codegraph # 运行交互式安装器
codegraph install # 运行安装器(显式)
codegraph uninstall # 从代理中移除 CodeGraph
项目管理
bash
# 初始化项目
codegraph init [path] # 初始化(--index 或 -i 同时建索引)
codegraph uninit [path] # 移除项目索引(--force 跳过确认)
# 建立/更新索引
codegraph index [path] # 全量索引(--force 强制重建,--quiet 减少输出)
codegraph sync [path] # 增量更新(只处理变更的文件)
# 查看状态
codegraph status [path] # 显示节点/边/文件数量和 SQLite 后端信息
查询命令
bash
# 搜索符号
codegraph query <search> # 搜索符号(--kind 过滤类型,--limit 限制数量,--json 输出 JSON)
# 示例:
codegraph query UserService --kind class --limit 10
codegraph query handleRequest --json
bash
# 调用关系
codegraph callers <symbol> # 查找调用该函数的位置(--limit,--json)
codegraph callees <symbol> # 查找该函数调用了什么(--limit,--json)
codegraph impact <symbol> # 分析修改该符号会影响哪些代码(--depth,--json)
bash
# 文件结构
codegraph files [path] # 显示文件结构(--format,--filter,--max-depth,--json)
# 上下文构建
codegraph context <task> # 为 AI 构建上下文(--format,--max-nodes)
codegraph affected --- CI 利器
根据变更文件,追踪依赖关系,找出受影响的测试文件:
bash
codegraph affected src/utils.ts src/api.ts # 直接传文件名
git diff --name-only | codegraph affected --stdin # 从 git diff 管道输入
codegraph affected src/auth.ts --filter "e2e/*" # 自定义测试文件 glob
| 参数 | 说明 | 默认值 |
|---|---|---|
--stdin |
从标准输入读取文件列表 | false |
-d, --depth <n> |
最大依赖追踪深度 | 5 |
-f, --filter <glob> |
自定义测试文件 glob | 自动检测 |
-j, --json |
输出 JSON | false |
-q, --quiet |
只输出文件路径 | false |
CI 脚本示例:
bash
#!/usr/bin/env bash
AFFECTED=$(git diff --name-only HEAD | codegraph affected --stdin --quiet)
if [ -n "$AFFECTED" ]; then
npx vitest run $AFFECTED
fi
启动 MCP 服务器
bash
codegraph serve --mcp
一般由 AI 代理自动启动,无需手动执行。
六、MCP 工具详解
当 CodeGraph 作为 MCP 服务器运行时,向 AI 代理暴露以下 10 个工具:
codegraph_search --- 符号搜索
按名称在整个代码库搜索符号,支持全文检索(FTS5)。
使用场景: 当你知道函数/类的名字但不知道在哪个文件时。
codegraph_context --- 上下文构建(建议SubAgent中调用)
基于任务描述构建相关代码上下文,内部组合了 search + node + callers + callees,一次调用完成。
使用场景: 让 AI 理解某个功能区域的全貌。
codegraph_trace --- 调用链追踪
追踪两个符号之间的调用路径("X 是如何到达 Y 的"),每一跳都内联显示函数体,能跨越动态调度边界(回调、React 重渲染、接口实现)------这是 grep 无法做到的。
使用场景: 理解代码流程,例如"请求是如何到达数据库的"。
示例流程(Excalidraw):
mutateElement → triggerUpdate → [callback] triggerRender
→ [react-render] render → [jsx] StaticCanvas → renderStaticScene
codegraph_callers --- 调用者查询
查找哪些地方调用了某个函数。
使用场景: 修改函数前,了解所有调用方以评估影响。
codegraph_callees --- 被调用者查询
查找某个函数调用了哪些函数。
使用场景: 理解函数的依赖关系。
codegraph_impact --- 影响分析
分析修改某个符号后,会影响哪些代码(BFS 广度优先搜索)。
使用场景: 重构前的安全评估,避免意外破坏其他功能。
codegraph_node --- 符号详情
获取某个特定符号的详细信息,可选择附带源代码。
使用场景: 查看函数签名、文档或源码。
codegraph_explore --- 多符号探索(建议SubAgent中调用)
一次调用返回多个相关符号的源码(按文件分组)以及它们之间的关系图。
使用场景: 当需要同时理解多个相关符号时,避免多次单独调用。
codegraph_files --- 文件结构
获取已索引的文件结构(比文件系统扫描快得多)。
使用场景: 快速了解项目文件布局。
codegraph_status --- 索引状态
查看索引健康状况和统计数据,包括待同步文件列表。
使用场景: 确认索引是否是最新的。
工具选用指南
AI 代理会根据任务自动选择工具,以下是选择逻辑:
| 任务类型 | 推荐工具 |
|---|---|
| 搜索某个类/函数的位置 | codegraph_search |
| 了解某个功能区域 | codegraph_context |
| 追踪代码执行流程(X 如何到达 Y) | codegraph_trace |
| 查找谁调用了某个函数 | codegraph_callers |
| 查找某函数调用了什么 | codegraph_callees |
| 修改前评估影响范围 | codegraph_impact |
| 查看单个符号的详情/源码 | codegraph_node |
| 同时查看多个相关符号 | codegraph_explore |
| 了解文件结构 | codegraph_files |
| 确认索引状态 | codegraph_status |
七、支持的编程语言
语言支持完全自动,根据文件扩展名识别,无需任何配置。
| 语言 | 文件扩展名 | 支持状态 |
|---|---|---|
| TypeScript | .ts, .tsx |
完整支持 |
| JavaScript | .js, .jsx, .mjs |
完整支持 |
| Python | .py |
完整支持 |
| Go | .go |
完整支持 |
| Rust | .rs |
完整支持 |
| Java | .java |
完整支持 |
| C# | .cs |
完整支持 |
| PHP | .php |
完整支持 |
| Ruby | .rb |
完整支持 |
| C | .c, .h |
完整支持 |
| C++ | .cpp, .hpp, .cc |
完整支持 |
| Objective-C | .m, .mm, .h |
部分支持(类、协议、方法、属性、导入;.mm 可能解析不完整) |
| Swift | .swift |
完整支持 |
| Kotlin | .kt, .kts |
完整支持 |
| Scala | .scala, .sc |
完整支持(含 Scala 3 枚举) |
| Dart | .dart |
完整支持 |
| Svelte | .svelte |
完整支持(含 Svelte 5 runes,SvelteKit 路由) |
| Vue | .vue |
完整支持(含 <script setup>,Nuxt 路由/API/中间件) |
| Liquid | .liquid |
完整支持 |
| Pascal / Delphi | .pas, .dpr, .dpk, .lpr |
完整支持(含 DFM/FMX 表单文件) |
| Lua | .lua |
完整支持(函数、方法、局部变量、require 导入) |
| Luau | .luau |
完整支持(含类型别名、Roblox instance-path require) |
八、框架路由识别
CodeGraph 能识别 Web 框架的路由文件,并将 URL 模式与处理函数关联。查询控制器的调用者时,可以看到绑定它的 URL 路由。
| 框架 | 识别的路由形式 |
|---|---|
| Django | path()、re_path()、url()、include()(CBV .as_view()、虚线路径) |
| Flask | @app.route('/path', methods=[...]),Blueprint 路由 |
| FastAPI | @app.get(...)、@router.post(...) 等所有标准方法 |
| Express | app.get(...)、router.post(...) 含中间件链 |
| NestJS | @Controller + @Get/@Post/...、GraphQL @Resolver、@MessagePattern、@SubscribeMessage |
| Laravel | Route::get()、Route::resource()、Controller@action、元组语法 |
| Drupal | *.routing.yml、hook_* 实现 |
| Rails | get '/x', to: 'users#index',=> 语法 |
| Spring | @GetMapping、@PostMapping、@RequestMapping |
| Gin / chi / gorilla mux | r.GET(...)、router.HandleFunc(...) |
| Axum / actix / Rocket | .route("/x", get(handler)) |
| ASP.NET | [HttpGet("/x")] 属性 |
| Vapor | app.get("x", use: handler) |
| React Router / SvelteKit | 路由组件节点 |
九、iOS/React Native 混合开发支持
真实的 iOS 和 React Native 项目往往跨越多种语言,静态解析在每个语言边界处断裂。CodeGraph 通过桥接合成器跨语言连接这些调用链。
| 边界类型 | JS/Swift 侧 | 原生侧 | 桥接方式 |
|---|---|---|---|
| Swift → ObjC | Swift obj.foo(bar:) |
ObjC 选择子 -fooWithBar: |
@objc 自动桥接规则(含 Cocoa 介词前缀) |
| ObjC → Swift | ObjC [obj fooWithBar:] |
Swift @objc func foo(bar:) |
反向桥接名称候选 |
| RN Legacy Bridge | JS NativeModules.X.fn(...) |
ObjC RCT_EXPORT_METHOD / Java @ReactMethod |
解析宏/注解,构建 JS 名称 → 原生方法映射 |
| RN TurboModules | JS import M from './NativeM' |
原生实现匹配 Codegen Spec | 以 Native<X>.ts Spec 接口为基准 |
| RN 原生 → JS 事件 | JS NativeEventEmitter.addListener('e', cb) |
ObjC/Swift/Java sendEvent("e", ...) |
以字面量事件名为键的跨语言事件通道 |
| Expo Modules | JS requireNativeModule('X').fn(...) |
Swift/Kotlin Module { Name("X"); ... } |
解析 Expo DSL 字面量 |
| Fabric View Components | JSX <MyView /> |
TS Codegen Spec + 原生实现类 | Spec → component 节点,基于约定的名称+后缀查找 |
| Paper Legacy View Managers | JSX <MyView /> |
ObjC RCT_EXPORT_VIEW_PROPERTY |
同 Fabric,Paper 声明同样生成节点 |
所有合成边带有 provenance: 'heuristic' 标记,metadata.synthesizedBy 字段指明桥接类型(如 swift-objc-bridge、rn-event-channel)。
十、自动同步机制
CodeGraph 提供三层自动同步,确保 AI 代理永远不会读取到过期数据:
第一层:文件监听 + 防抖自动同步
codegraph serve --mcp 启动时会开启原生文件监听:
- macOS → FSEvents
- Linux → inotify
- Windows → ReadDirectoryChangesW
每次源文件创建/修改/删除后,经过 2000ms 防抖窗口合并批量操作,自动触发增量同步。
代理修改 src/Widget.ts
→ 监听器触发(通常 <100ms)
→ 2000ms 防抖等待
→ 同步运行,Widget.ts 的节点和边进入索引
→ 下一次代理查询即可看到更新
调整防抖时间:
bash
CODEGRAPH_WATCH_DEBOUNCE_MS=5000 # 设为 5 秒,适合批量写入场景
范围限制:[100ms, 60s]
第二层:文件过期提示横幅
在 2 秒防抖窗口内,如果 MCP 工具响应引用了还未重新索引的文件,响应头部会显示警告:
⚠️ 以下文件在上次索引后被修改,codegraph 的相关记录可能已过期:
- src/Widget.ts(800ms 前修改,待同步)
请直接 Read 这些文件以获取最新内容。
以下其余内容是最新的。
AI 代理会读取这个提示并直接 Read 对应文件,避免静默地使用过期数据。
第三层:连接时追赶同步
每次 MCP 服务器(重新)连接时,CodeGraph 先做一次快速文件系统对比(size + mtime 预筛,再做内容哈希),将未在上次会话中同步的变更全部吸收,再响应第一个查询。
手动同步的适用场景
极少数情况下才需要手动运行 codegraph sync:
- 运行在沙箱环境,文件监听被禁用
- 设置了
CODEGRAPH_NO_DAEMON=1 - CI 脚本中,需要在脚本开始前确保索引是最新的
十一、作为库使用
CodeGraph 可作为 TypeScript/JavaScript 库集成到你自己的工具中:
typescript
import CodeGraph from '@colbymchenry/codegraph';
// 初始化(新项目)或打开(已有索引)
const cg = await CodeGraph.init('/path/to/project');
// 或
const cg = await CodeGraph.open('/path/to/project');
// 全量索引
await cg.indexAll({
onProgress: (p) => console.log(`${p.phase}: ${p.current}/${p.total}`)
});
// 搜索符号
const results = cg.searchNodes('UserService');
// 查找调用者
const callers = cg.getCallers(results[0].node.id);
// 构建 AI 上下文
const context = await cg.buildContext('修复登录 Bug', {
maxNodes: 20,
includeCode: true,
format: 'markdown'
});
// 影响分析
const impact = cg.getImpactRadius(results[0].node.id, 2);
// 文件监听
cg.watch(); // 开启自动同步
cg.unwatch(); // 停止监听
// 关闭连接
cg.close();
十二、配置说明
CodeGraph 是零配置工具 --- 无需任何配置文件,按文件扩展名自动识别语言。
默认排除的目录
以下目录开箱即用自动跳过(即使不在 .gitignore 中):
- Node.js :
node_modules、dist、build、.next - Python :
.venv、__pycache__ - Rust :
target - iOS/macOS :
Pods、.build - PHP :
vendor
自定义排除
把你不想索引的目录加入 .gitignore:
gitignore
/logs/
/tmp/
强制包含被排除的目录
在 .gitignore 中使用否定规则:
gitignore
!vendor/my-local-lib/ # 把 vendor 下的某个本地库纳入索引
文件大小限制
超过 1MB 的文件会自动跳过(生成的 bundle、压缩的 JS、vendor 文件)。
数据存储位置
每个项目的数据存储在项目根目录的 .codegraph/codegraph.db(SQLite 数据库)。数据不会离开你的机器。
十三、故障排除
"CodeGraph not initialized" 错误
原因: 项目未初始化。
解决:
bash
cd your-project
codegraph init -i
索引速度很慢
原因: 大型目录(如 node_modules)未被排除。
解决:
- 确认
node_modules等目录在.gitignore中 - 使用
--quiet参数减少输出开销 - 运行
codegraph status查看已索引的文件数量
MCP 报 database is locked
原因: 通常是旧版本(< 0.9)安装的问题。
解决:
bash
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.ps1 | iex
# 或通过 npm
npm i -g @colbymchenry/codegraph@latest
如果 codegraph status 显示 Journal: 不是 wal,说明当前文件系统不支持 WAL 模式(常见于网络共享目录和 WSL2 /mnt 路径)。把项目(含 .codegraph/ 目录)移到本地磁盘。
MCP 服务器无法连接
排查步骤:
- 确认项目已初始化:
codegraph status - 验证 MCP 配置文件中的路径
- 命令行测试:
codegraph serve --mcp(看是否能正常启动)
符号缺失 / 找不到函数
可能原因及解决:
- 文件刚保存,还在等待同步 --- 等 2 秒后重试,或执行
codegraph sync - 文件语言不支持 --- 查看支持语言表格
- 文件被
.gitignore排除 --- 检查.gitignore规则 - 文件在默认排除目录中 --- 如
node_modules、dist、vendor等
查看当前索引状态
bash
# CLI 方式
codegraph status
# 在 AI 代理会话中(MCP 工具 codegraph_status 输出示例):
## CodeGraph Status
节点数:9,289 | 边数:47,832 | 文件数:643
SQLite 后端:native (better-sqlite3)
Journal: wal
### Pending sync:
- src/Widget.ts(1200ms 前修改)
如果没有 ### Pending sync: 部分,说明索引是最新的。
附录:支持的 AI 代理
| 代理 | 安装器支持 |
|---|---|
| Claude Code | 含自动权限白名单 |
| Cursor | 含工作目录修复 |
| Codex CLI | TOML 配置格式 |
| opencode | JSONC 格式,保留用户注释 |
| Hermes Agent | 支持 |
| Gemini CLI | 支持 |
| Antigravity IDE | 支持 |
| Kiro | 支持 |
本文档基于 CodeGraph 仓库代码及官方文档整理,当前版本参考 v0.9.7(2026-05-28)。
🎬 博客主页:https://xiaoy.blog.csdn.net
🎥 本文由 呆呆敲代码的小Y 原创 🙉
🎄 学习专栏推荐:Unity系统学习专栏
🌲 游戏制作专栏推荐:游戏制作
🌲Unity实战100例专栏推荐:Unity 实战100例 教程
🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📆 未来很长,值得我们全力奔赴更美好的生活✨
------------------❤️分割线❤️-------------------------




资料白嫖,技术互助
| 学习路线指引(点击解锁) | 知识定位 | 人群定位 |
|---|---|---|
| 🧡 Unity系统学习专栏 | 入门级 | 本专栏从Unity入门开始学习,快速达到Unity的入门水平 |
| 💛 Unity实战类项目 | 进阶级 | 计划制作Unity的 100个实战案例!助你进入Unity世界,争取做最全的Unity原创博客大全。 |
| ❤️ 游戏制作专栏 | 难度偏高 | 分享学习一些Unity成品的游戏Demo和其他语言的小游戏! |
| 💚 游戏爱好者万人社区 | 互助/吹水 | 数万人游戏爱好者社区,聊天互助,白嫖奖品 |
| 💙 Unity100个实用技能 | Unity查漏补缺 | 针对一些Unity中经常用到的一些小知识和技能进行学习介绍,核心目的就是让我们能够快速学习Unity的知识以达到查漏补缺 |
