diff --git a/.gitignore b/.gitignore
index 8f5734e..7d31601 100644
--- a/.gitignore
+++ b/.gitignore
@@ -387,6 +387,8 @@ output.mp4
/vav2/platforms/android/applications/vav2player/vavcore/build/
/vav2/platforms/android/applications/vav2player/.gradle/
/vav2/platforms/android/applications/vav2player/build/
+/vav2/platforms/android/vavcore/build/
# Symbolic links and junctions (platform-specific src directories)
# Git will track symlinks as special files, which is the desired behavior
+.godot
diff --git a/godot-projects/vavcore-demo/README.md b/godot-projects/vavcore-demo/README.md
new file mode 100644
index 0000000..d0b81fb
--- /dev/null
+++ b/godot-projects/vavcore-demo/README.md
@@ -0,0 +1,112 @@
+# VavCore Demo - Godot 4.4.1 AV1 Video Player
+
+## ๐ ํ๋ก์ ํธ ๊ฐ์
+
+VavCore Extension์ ์ฌ์ฉํ์ฌ Godot 4.4.1์์ AV1 ๋น๋์ค๋ฅผ ์ฌ์ํ๋ ๋ฐ๋ชจ ํ๋ก์ ํธ์
๋๋ค.
+
+## ๐ ์ฃผ์ ๊ธฐ๋ฅ
+
+- โ
VavCore Extension ํตํฉ ํ
์คํธ
+- โ
AV1 ๋น๋์ค ํ์ผ ๋ก๋ ๋ฐ ์ฌ์
+- โ
GPU Surface ๋ฐ์ธ๋ฉ (Zero-Copy Pipeline)
+- โ
CPU Fallback ๋ ๋๋ง ์ง์
+- โ
๊ธฐ๋ณธ ํ๋ ์ด์ด ์ปจํธ๋กค (Play/Pause/Stop)
+
+## ๐ ํ๋ก์ ํธ ๊ตฌ์กฐ
+
+```
+vavcore-demo/
+โโโ project.godot # Godot ํ๋ก์ ํธ ์ค์
+โโโ scenes/
+โ โโโ Main.tscn # ๋ฉ์ธ ์ฌ
+โโโ scripts/
+โ โโโ Main.cs # ๋ฉ์ธ ์คํฌ๋ฆฝํธ (C#)
+โโโ addons/
+โ โโโ VavCoreGodot/ # VavCore Extension
+โ โโโ plugin.cfg
+โ โโโ bin/
+โ โ โโโ VavCore.dll # VavCore ๋ค์ดํฐ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
+โ โโโ ...
+โโโ assets/
+โ โโโ videos/
+โ โโโ test_video.webm # ํ
์คํธ AV1 ๋น๋์ค
+โโโ README.md
+```
+
+## ๐ง ์ค์น ๋ฐ ์คํ
+
+### 1. ํ์ ์กฐ๊ฑด
+- Godot 4.4.1 (C# ์ง์)
+- .NET 8.0 SDK
+- Windows 10/11 (x64)
+
+### 2. ํ๋ก์ ํธ ์ด๊ธฐ
+1. Godot Editor์์ "Import" ํด๋ฆญ
+2. `project.godot` ํ์ผ ์ ํ
+3. "Import & Edit" ํด๋ฆญ
+
+### 3. Extension ํ์ฑํ
+1. Project โ Project Settings
+2. Plugins ํญ
+3. "VavCore" Extension ํ์ฑํ
+
+### 4. ์คํ
+1. F5 ํค ๋๋ "Play" ๋ฒํผ ํด๋ฆญ
+2. "Load Video" ๋ฒํผ์ผ๋ก ๋น๋์ค ๋ก๋
+3. "Play" ๋ฒํผ์ผ๋ก ์ฌ์ ์์
+
+## ๐ฏ ํ
์คํธ ์๋๋ฆฌ์ค
+
+### ๊ธฐ๋ณธ ํ
์คํธ
+1. **Extension ๋ก๋ ํ์ธ**: VavCore Extension์ด ์ ์ ๋ก๋๋๋์ง ํ์ธ
+2. **๋น๋์ค ๋ก๋**: ํ
์คํธ AV1 ํ์ผ ๋ก๋ ์ฑ๊ณต ์ฌ๋ถ
+3. **์ฌ์ ์ ์ด**: Play/Pause/Stop ๋ฒํผ ๋์ ํ์ธ
+4. **GPU ๋ ๋๋ง**: Zero-Copy GPU Pipeline ๋์ ํ์ธ
+5. **CPU Fallback**: GPU ์คํจ ์ CPU ๋ ๋๋ง ๋์ ํ์ธ
+
+### ๊ณ ๊ธ ํ
์คํธ
+1. **๋ค์ํ ํด์๋**: 320x240, 1920x1080, 3840x2160 ํ์ผ ํ
์คํธ
+2. **์ฑ๋ฅ ์ธก์ **: FPS, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, GPU ์ฌ์ฉ๋ฅ ๋ชจ๋ํฐ๋ง
+3. **์์ ์ฑ ํ
์คํธ**: ์ฅ์๊ฐ ์ฌ์, ๋ฐ๋ณต ๋ก๋/์ธ๋ก๋
+4. **์๋ฌ ์ฒ๋ฆฌ**: ์๋ชป๋ ํ์ผ, ์ฝ๋ฑ ์ค๋ฅ ๋ฑ ์์ธ ์ํฉ ํ
์คํธ
+
+## ๐ ๊ธฐ๋ ๊ฒฐ๊ณผ
+
+### ์ฑ๊ณต ์๋๋ฆฌ์ค
+- โ
VavCore Extension ์ ์ ๋ก๋
+- โ
AV1 ๋น๋์ค ํ์ผ ์ธ์ ๋ฐ ๋ก๋
+- โ
๋ถ๋๋ฌ์ด ๋น๋์ค ์ฌ์ (30fps ์ด์)
+- โ
GPU Surface ์ง์ ๋ ๋๋ง (Zero-Copy)
+- โ
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ต์ ํ
+
+### ๋ฌธ์ ๋ฐ์ ์ ์ฒดํฌ์ฌํญ
+1. **Extension ๋ก๋ ์คํจ**: plugin.cfg, VavCore.dll ํ์ผ ํ์ธ
+2. **๋น๋์ค ๋ก๋ ์คํจ**: ํ์ผ ๊ฒฝ๋ก, AV1 ์ฝ๋ฑ ์ง์ ํ์ธ
+3. **์ฌ์ ์ค๋ฅ**: GPU ๋๋ผ์ด๋ฒ, Godot ๋ ๋๋ง ์ค์ ํ์ธ
+4. **์ฑ๋ฅ ๋ฌธ์ **: CPU/GPU ์ฌ์ฉ๋ฅ , ๋ฉ๋ชจ๋ฆฌ ๋์ ํ์ธ
+
+## ๐ ๋๋ฒ๊น
์ ๋ณด
+
+### ๋ก๊ทธ ์ถ๋ ฅ ์์น
+- Godot Editor Output ํจ๋
+- Windows: `%APPDATA%\Godot\app_userdata\VavCoreDemo\logs\`
+
+### ์ฃผ์ ๋ก๊ทธ ๋ฉ์์ง
+- `VavCore Demo: Initializing...` - ์ฑ ์์
+- `Checking for VavCore Extension...` - Extension ๋ก๋ ํ์ธ
+- `Loading video: [path]` - ๋น๋์ค ๋ก๋ ์์
+- `Video loaded successfully` - ๋ก๋ ์ฑ๊ณต
+- `Playing/Paused/Stopped` - ์ฌ์ ์ํ ๋ณ๊ฒฝ
+
+## ๐ ํฅํ ๊ฐ์ ์ฌํญ
+
+1. **์ค์ VavCore Extension ํตํฉ** - ํ์ฌ๋ Mock ๊ตฌํ
+2. **ํ์ผ ๋ค์ด์ผ๋ก๊ทธ ์ถ๊ฐ** - ์ฌ์ฉ์๊ฐ ๋น๋์ค ํ์ผ ์ ํ ๊ฐ๋ฅ
+3. **์งํ๋ฐ ๋ฐ ์๊ฐ ํ์** - ์ฌ์ ์งํ ์ํฉ ์๊ฐํ
+4. **์ค์ ํจ๋** - ๋์ฝ๋ ์ ํ, ํ์ง ์ค์ ๋ฑ
+5. **์ ์ฒดํ๋ฉด ๋ชจ๋** - ๋น๋์ค ์ ์ฒดํ๋ฉด ์ฌ์ ์ง์
+
+---
+
+*์์ฑ์ผ: 2025-09-28*
+*VavCore Extension Demo for Godot 4.4.1*
\ No newline at end of file
diff --git a/godot-projects/vavcore-demo/TESTING_INSTRUCTIONS.md b/godot-projects/vavcore-demo/TESTING_INSTRUCTIONS.md
new file mode 100644
index 0000000..c1f2d51
--- /dev/null
+++ b/godot-projects/vavcore-demo/TESTING_INSTRUCTIONS.md
@@ -0,0 +1,69 @@
+# VavCore Extension Testing Instructions
+
+## Godot Editor์์ ํ
์คํธํ๊ธฐ
+
+### 1. ํ๋ก์ ํธ ์ด๊ธฐ
+1. Godot 4.4.1 Editor ์คํ
+2. `D:\Project\video-av1\godot-projects\vavcore-demo\project.godot` ์ด๊ธฐ
+3. C# ํ๋ก์ ํธ ์๋ ์์ฑ ํ์ธ
+
+### 2. VavCore Extension ํ์ฑํ
+1. `Project โ Project Settings` ๋ฉ๋ด
+2. `Plugins` ํญ ์ ํ
+3. `VavCore` Extension ํ์ฑํ ์ฒดํฌ
+4. Editor ์ฌ์์ (ํ์์)
+
+### 3. ๋
ธ๋ ๋ฑ๋ก ํ์ธ
+1. Scene ํญ์์ ๋
ธ๋ ์ถ๊ฐ ์๋
+2. "VavCorePlayer" ๋
ธ๋๊ฐ Control ํ์์ ํ์๋๋์ง ํ์ธ
+3. VavCore ์์ด์ฝ์ด ํ์๋๋์ง ํ์ธ
+
+### 4. ์ค์ ํ
์คํธ ์คํ
+1. `scenes/Main.tscn` ์ฌ ์ด๊ธฐ
+2. ํ๋ก์ ํธ ์คํ (F5 ๋๋ Play ๋ฒํผ)
+3. ์ฝ์ ์ถ๋ ฅ ํ์ธ:
+ - VavCore Extension ๋ก๋ ์ฑ๊ณต ๋ฉ์์ง
+ - VavCore library ์ด๊ธฐํ ๋ฉ์์ง
+ - VavCorePlayer ๋
ธ๋ ์์ฑ ์ฑ๊ณต ๋ฉ์์ง
+
+### 5. ๋น๋์ค ๋ก๋ ํ
์คํธ
+1. "Load Video" ๋ฒํผ ํด๋ฆญ
+2. `assets/videos/test_video.webm` ๋ก๋ ์๋
+3. ์ฑ๊ณต/์คํจ ๋ฉ์์ง ํ์ธ
+4. Play/Stop ๋ฒํผ ํ์ฑํ ์ํ ํ์ธ
+
+## ์์ ์ถ๋ ฅ
+
+### ์ฑ๊ณต ์:
+```
+VavCore Demo: Initializing...
+Checking for VavCore Extension...
+VavCorePlayer: Initializing...
+VavCorePlayer: Initializing VavCore library...
+VavCorePlayer: VavCore initialized successfully!
+VavCorePlayer: VavCore player created successfully!
+VavCorePlayer: Video texture setup complete
+VavCorePlayer node created and added to scene
+Status: VavCore Extension loaded successfully!
+```
+
+### DLL ๋ก๋ ์คํจ ์:
+```
+VavCore Extension not found: [DLL load error]
+Status: VavCore Extension error: [error message]
+```
+
+## ๋ฌธ์ ํด๊ฒฐ
+
+### VavCore.dll ์ฐพ์ ์ ์์:
+- `addons/VavCoreGodot/bin/VavCore.dll` ํ์ผ ์กด์ฌ ํ์ธ
+- Windows x64 ์ํคํ
์ฒ์ฉ DLL์ธ์ง ํ์ธ
+
+### Extension ๋ฑ๋ก ์คํจ:
+- `addons/VavCoreGodot/plugin.cfg` ์ค์ ํ์ธ
+- VavCorePlugin.cs ์ปดํ์ผ ์ค๋ฅ ํ์ธ
+- Godot Editor ์ฌ์์
+
+### P/Invoke ์ค๋ฅ:
+- VavCore.dll ์์กด์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ธ
+- 32bit/64bit ์ํคํ
์ฒ ๋งค์นญ ํ์ธ
\ No newline at end of file
diff --git a/godot-projects/vavcore-demo/VavCore.dll b/godot-projects/vavcore-demo/VavCore.dll
new file mode 100644
index 0000000..fe4b9ee
Binary files /dev/null and b/godot-projects/vavcore-demo/VavCore.dll differ
diff --git a/godot-projects/vavcore-demo/VavCoreDemo.csproj b/godot-projects/vavcore-demo/VavCoreDemo.csproj
new file mode 100644
index 0000000..e9b714f
--- /dev/null
+++ b/godot-projects/vavcore-demo/VavCoreDemo.csproj
@@ -0,0 +1,9 @@
+
+
+ net8.0
+ true
+ VavCoreDemo
+ VavCoreDemo
+ true
+
+
\ No newline at end of file
diff --git a/godot-projects/vavcore-demo/addons/VavCoreGodot/VavCorePlayer.cs.uid b/godot-projects/vavcore-demo/addons/VavCoreGodot/VavCorePlayer.cs.uid
new file mode 100644
index 0000000..e68a465
--- /dev/null
+++ b/godot-projects/vavcore-demo/addons/VavCoreGodot/VavCorePlayer.cs.uid
@@ -0,0 +1 @@
+uid://beov161gbolkv
diff --git a/godot-projects/vavcore-demo/addons/VavCoreGodot/VavCorePlugin.cs b/godot-projects/vavcore-demo/addons/VavCoreGodot/VavCorePlugin.cs
new file mode 100644
index 0000000..869cb9f
--- /dev/null
+++ b/godot-projects/vavcore-demo/addons/VavCoreGodot/VavCorePlugin.cs
@@ -0,0 +1,28 @@
+using Godot;
+
+[Tool]
+public partial class VavCorePlugin : EditorPlugin
+{
+ public override void _EnterTree()
+ {
+ GD.Print("VavCore Extension: Plugin loaded!");
+
+ // VavCorePlayer ์ปค์คํ
๋
ธ๋ ๋ฑ๋ก
+ AddCustomType(
+ "VavCorePlayer", // ๋
ธ๋ ํ์
์ด๋ฆ
+ "Control", // ๋ฒ ์ด์ค ํด๋์ค
+ GD.Load