https://github.com/gameframex/com.gameframex.unity
GameFrameX是一款全面的集成式游戏开发框架,提供了从前端到后端的完整解决方案。该框架支持包括Unity、Cocos Creator、LayaBox、和Godot等多种主流游戏开发平台,确保开发者能够为不同的目标平台打造精美的游戏体验。
https://github.com/gameframex/com.gameframex.unity
Last synced: 21 days ago
JSON representation
GameFrameX是一款全面的集成式游戏开发框架,提供了从前端到后端的完整解决方案。该框架支持包括Unity、Cocos Creator、LayaBox、和Godot等多种主流游戏开发平台,确保开发者能够为不同的目标平台打造精美的游戏体验。
- Host: GitHub
- URL: https://github.com/gameframex/com.gameframex.unity
- Owner: GameFrameX
- License: apache-2.0
- Created: 2024-05-20T08:55:26.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-12-16T11:14:39.000Z (6 months ago)
- Last Synced: 2025-12-20T00:46:35.885Z (6 months ago)
- Language: C#
- Homepage: https://gameframex.doc.alianblank.com
- Size: 1.5 MB
- Stars: 10
- Watchers: 2
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README

# GameFrameX Unity Package
[](https://github.com/GameFrameX/com.gameframex.unity)
[](https://unity3d.com/get-unity/download)
[](LICENSE.md)
[](https://gameframex.doc.alianblank.com)
**All-in-One Solution for Indie Game Development · Empowering Indie Developers' Dreams**
[📖 Documentation](https://gameframex.doc.alianblank.com) • [🚀 Quick Start](#quick-start) • [💬 QQ Group: 467608841](https://qm.qq.com/cgi-bin/qm/qr?k=sYFd1nv6m2KZIWFLorZ5pBR0AE5ZhbuL&jump_from=webapi&authKey=oCu+uoL3n35fT5SEt7iLgGtROPxh31n/rHUxRlp0w1f+j38W4tKBuWyRH3KEdwHN)
---
🌐 **Language**: **English** | [繁體中文](./README.zh-TW.md) | [简体中文](./README.zh-CN.md) | [日本語](./README.ja.md) | [한국어](./README.ko.md)
---
## 📑 Table of Contents
- [🏗️ Project Overview](#🏗️-project-overview)
- [📂 Architecture](#📂-architecture)
- [Runtime Module](#-runtime-module)
- [Plugins Module](#-plugins-module)
- [Editor Module](#-editor-module)
- [🚀 Quick Start](#🚀-quick-start)
- [💡 Usage Examples](#💡-usage-examples)
- [Runtime Examples](#runtime-usage-examples)
- [Editor Tools](#editor-tools)
- [🎯 Platform Support](#🎯-platform-support)
- [📚 Documentation & Resources](#📚-documentation--resources)
- [🤝 Community & Support](#🤝-community--support)
- [📄 License](#📄-license)
---
## 🏗️ Project Overview
GameFrameX is a modern Unity game framework designed for independent game developers, providing a complete end-to-end solution for game development. The framework follows a **three-layer modular architecture** design with rich built-in game development tools and components, helping developers quickly build high-quality game projects.
### 🎯 Key Features
- 🏗️ **Three-Layer Architecture** - Clear separation: Runtime, Plugins, and Editor
- 🔧 **Rich Toolset** - Built-in development aids and editor extensions
- 📦 **Object Pool Management** - Efficient memory management and object reuse
- 🎨 **Extension Methods Library** - Extensive Unity engine extensions
- 🛠️ **Utility Classes** - Encryption, compression, networking, and more
- 📱 **Multi-Platform Support** - PC, Mobile, WebGL and more
- 🔥 **Hotfix Support** - Built-in HybridCLR hotfix solution
- 🎮 **Mini Game Adaptation** - One-click switch between multiple mini game platforms
### 📋 System Requirements
- **Unity Version**: 2019.4 or higher
- **Platform Support**: Windows, macOS, Linux, iOS, Android, WebGL
- **.NET Version**: .NET Standard 2.0+
---
## 📂 Architecture
GameFrameX uses a clear three-layer architecture design, with each module having its own responsibilities and working together.
### 📦 Runtime Module
Core runtime code providing all functionality needed for game runtime.
```
Runtime/
├── Base/ # Framework Core Foundation
│ ├── DataStruct/ # Data Structures
│ │ └── TypeNamePair.cs # Type Name Pair
│ ├── EventPool/ # Event Pool System
│ │ ├── BaseEventArgs.cs # Base Event Args
│ │ ├── EventPool.EventNode.cs # Event Node
│ │ ├── EventPool.cs # Event Pool Core
│ │ └── EventPoolMode.cs # Event Pool Mode
│ ├── Log/ # Logging System
│ │ ├── GameFrameworkLog.ILogHelper.cs # Log Interface
│ │ ├── GameFrameworkLog.cs # Log Core
│ │ └── GameFrameworkLogLevel.cs # Log Level
│ ├── ReferencePool/ # Reference Pool System
│ │ ├── IReference.cs # Reference Interface
│ │ ├── ReferencePool.ReferenceCollection.cs # Reference Collection
│ │ ├── ReferencePool.cs # Reference Pool Core
│ │ └── ReferencePoolInfo.cs # Reference Pool Info
│ ├── TaskPool/ # Task Pool System
│ │ ├── ITaskAgent.cs # Task Agent Interface
│ │ ├── StartTaskStatus.cs # Task Status
│ │ ├── TaskBase.cs # Task Base
│ │ ├── TaskInfo.cs # Task Info
│ │ ├── TaskPool.cs # Task Pool Core
│ │ └── TaskStatus.cs # Task Status
│ ├── Variable/ # Variable System
│ │ ├── GenericVariable.cs # Generic Variable
│ │ └── Variable.cs # Variable Base
│ ├── Version/ # Version Management
│ │ ├── Version.IVersionHelper.cs # Version Interface
│ │ └── Version.cs # Version Core
│ ├── BaseComponent.cs # Base Component
│ ├── GameEntry.cs # Game Entry
│ ├── GameFrameworkComponent.cs # Framework Component
│ ├── GameFrameworkEntry.cs # Framework Entry
│ ├── GameFrameworkEventArgs.cs # Framework Event Args
│ ├── GameFrameworkException.cs # Framework Exception
│ ├── GameFrameworkGuard.cs # Framework Guard
│ ├── GameFrameworkLinkedList.cs # Linked List
│ ├── GameFrameworkLinkedListRange.cs # Linked List Range
│ ├── GameFrameworkModule.cs # Framework Module
│ ├── GameFrameworkMonoSingleton.cs # Mono Singleton
│ ├── GameFrameworkMultiDictionary.cs # Multi-Value Dictionary
│ ├── GameFrameworkSerializer.cs # Serializer
│ ├── GameFrameworkSingleton.cs # Singleton Base
│ ├── ObjectDontDestroyOnLoad.cs # Scene Persistent Object
│ └── ShutdownType.cs # Shutdown Type
├── Extension/ # Extension Methods Library
│ ├── Extension/ # Common Extensions
│ │ ├── BidirectionalDictionary.cs # Bidirectional Dictionary
│ │ ├── BinaryExtension.cs # Binary Extension
│ │ ├── BufferExtension.cs # Buffer Extension
│ │ ├── CollectionExtensions.cs # Collection Extensions
│ │ ├── DateTimeExtensions.cs # DateTime Extension
│ │ ├── ObjectExtension.cs # Object Extension
│ │ ├── SpanExtension.cs # Span Extension
│ │ ├── StringExtensions.cs # String Extensions
│ │ ├── ThreadLocalRandom.cs # Thread Local Random
│ │ └── TypeExtensions.cs # Type Extensions
│ ├── SequenceReader/ # Sequence Reader
│ │ ├── SequenceReader.cs # Sequence Reader Core
│ │ └── SequenceReaderExtensions.cs # Sequence Reader Extensions
│ ├── UnityEngine.GameObject/ # GameObject Extension
│ │ └── UnityEngine.GameObjectExtension.cs # GameObject Extension
│ └── UnityEngine/ # Unity Type Extensions
│ ├── Transform/ # Transform Extension
│ ├── Vector2/ # Vector2 Extension
│ ├── Vector3/ # Vector3 Extension
│ └── Vector4/ # Vector4 Extension
├── Helper/ # Helper Classes
│ ├── ApplicationHelper.cs # Application Helper
│ ├── CameraHelper.cs # Camera Helper
│ ├── DefaultCompressionHelper.cs # Default Compression Helper
│ ├── DefaultLogHelper.cs # Default Log Helper
│ ├── DefaultTextHelper.cs # Default Text Helper
│ ├── DefaultVersionHelper.cs # Default Version Helper
│ ├── DistinctHelper.cs # Distinct Helper
│ ├── DoTweenHelper.cs # DoTween Animation Helper
│ ├── FileHelper.cs # File Helper
│ ├── GameObjectHelper.cs # GameObject Helper
│ ├── Helper.cs # Helper Base Class
│ ├── MathHelper.cs # Math Helper
│ ├── NetworkHelper.cs # Network Helper
│ ├── NewtonsoftJsonHelper.cs # Newtonsoft JSON Helper
│ ├── ObjectHelper.cs # Object Helper
│ ├── PathHelper.cs # Path Helper
│ ├── PositionHelper.cs # Position Helper
│ ├── RandomHelper.cs # Random Helper
│ ├── TimerHelper/ # Timer Helper
│ │ ├── TimerHelper.cs # Timer Core
│ │ ├── TimerHelper.Current.cs # Current Time
│ │ ├── TimerHelper.Day.cs # Day Calculation
│ │ ├── TimerHelper.Difference.cs # Time Difference
│ │ ├── TimerHelper.Month.cs # Month Calculation
│ │ ├── TimerHelper.Range.cs # Time Range
│ │ ├── TimerHelper.TimeOffset.cs # Time Offset
│ │ ├── TimerHelper.Timestamp.cs # Timestamp
│ │ ├── TimerHelper.Week.cs # Week Calculation
│ │ └── TimerHelper.Year.cs # Year Calculation
│ ├── UnityRendererHelper.cs # Unity Renderer Helper
│ └── ZipHelper.cs # ZIP Compression Helper
├── ObjectPool/ # Object Pool System
│ ├── IObjectPool.cs # Object Pool Interface
│ ├── ObjectBase.cs # Object Pool Base
│ └── ObjectPoolComponent.cs # Object Pool Component
├── Property/ # Property System
│ └── BindableProperty.cs # Bindable Property
├── ReferencePool/ # Reference Pool System
│ └── ReferencePoolComponent.cs # Reference Pool Component
└── Utility/ # Utility Classes
├── Log.cs # Log Utility
├── Utility.Assembly.cs # Assembly Utility
├── Utility.Asset.Path.cs # Asset Path Utility
├── Utility.Compression/ # Compression
│ ├── ICompressionHelper.cs # Compression Interface
│ └── Utility.Compression.cs # Compression Core
├── Utility.Const/ # Constants
│ └── FileNameSuffix.cs # File Name Suffix
├── Utility.Converter.cs # Type Converter
├── Utility.Encryption/ # Encryption
│ ├── Utility.Encryption.cs # Encryption Core
│ ├── Aes.cs # AES Encryption
│ ├── Rsa.cs # RSA Encryption
│ └── Dsa.cs # DSA Encryption
├── Utility.File.cs # File Operations
├── Utility.Hash/ # Hash Calculation
│ ├── HMACSha256.cs # HMAC SHA256
│ ├── Md5.cs # MD5
│ ├── Sha1.cs # SHA1
│ ├── MurmurHash3.cs # MurmurHash3
│ └── XxHash.cs # XxHash
├── Utility.IdGenerator.cs # ID Generator
├── Utility.Json/ # JSON Serialization
│ ├── IJsonHelper.cs # JSON Interface
│ └── Utility.Json.cs # JSON Core
├── Utility.Marshal.cs # Marshal Utility
├── Utility.Net.cs # Network Utility
├── Utility.Object.cs # Object Utility
├── Utility.Path.cs # Path Handling
├── Utility.Random.cs # Random Number
├── Utility.Text/ # Text Processing
│ ├── ITextHelper.cs # Text Interface
│ └── Utility.Text.cs # Text Core
├── Utility.Verifier/ # Verifier
│ ├── Verifier.cs # Verifier Core
│ ├── Crc32.cs # CRC32
│ └── Crc64.cs # CRC64
├── Utility.cs # Utility Entry
└── XString.cs # Efficient String
```
#### Runtime Sub-Modules
| Sub-Module | Description | Main Features |
| ----------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Base** | Framework Core | Component management, event pool, logging, reference pool, task pool, variable system, lifecycle management, singleton pattern |
| **Extension** | Extension Library | Common extensions (string, collection, datetime), Unity type extensions (Transform, Vector), sequence reader, GameObject extensions |
| **Helper** | Helper Classes | Application, camera, file, path, math, random, timer, network, JSON, rendering, position and more |
| **ObjectPool** | Object Pool System | Object reuse, memory optimization, performance improvement |
| **Property** | Property System | Bindable properties, data binding, MVVM support |
| **ReferencePool** | Reference Pool System | Reference type management, GC optimization |
| **Utility** | Utility Classes | Encryption (AES/RSA/DSA), compression, hash (MD5/SHA1/HMAC), CRC, JSON, file operations, ID generation, type conversion, text processing, logging |
### 🔌 Plugins Module
Native platform plugins and third-party dependencies.
```
Plugins/
├── iOS/ # iOS Native Plugin
│ └── GameFrameX/
│ ├── GameFrameX.mm # Core Functionality
│ └── GameFrameXTrackingAuthorization.mm # Permission Tracking
├── ICSharpCode.SharpZipLib.dll # ZIP Compression Library
├── Microsoft.NET.StringTools.dll # String Tools
├── System.Buffers.dll # Memory Buffer
├── System.IO.Pipelines.dll # IO Pipeline
├── System.Memory.dll # Memory Management
└── System.Runtime.CompilerServices.Unsafe.dll # Runtime Support
```
#### Plugins Sub-Modules
| Sub-Module | Description | Dependencies |
| ----------------------- | ---------------------------------- | ---------------------------- |
| **iOS Plugin** | iOS native functionality | GameFrameX.mm |
| **Compression Library** | ZIP file compression/decompression | SharpZipLib |
| **Memory Management** | Efficient memory operations | StringTools, Memory, Buffers |
| **Runtime Support** | .NET runtime extensions | CompilerServices.Unsafe |
### 🛠️ Editor Module
Editor tools and extensions for improved development efficiency.
```
Editor/
├── BuildHotfix/ # Hotfix Build Tools
│ ├── BuildHotfixHelper.cs # Build Helper
│ ├── HotFixAssemblyDefinitionHelper.cs # Hotfix Assembly
│ └── HotFixEditorCompilerHelper.cs # Editor Compiler
├── BuildProduct/ # Product Build Assistant
│ ├── BuildProductHelper.cs # Build Helper
│ ├── BuildPostProcessHelper.cs # Post Build Processing
│ ├── IBuilderPreHookHandler.cs # Pre-Build Hook
│ └── IBuilderPostHookHandler.cs # Post-Build Hook
├── BuildWebGLTools/ # WebGL Build Tools
│ └── BuildWebGLToolsWithHybridCLR.cs # HybridCLR WebGL Build
├── Cropping/ # Image Cropping Tool
│ └── CroppingWindow.cs # Cropping Window
├── Inspector/ # Custom Inspector Panels
│ ├── BaseComponentInspector.cs # Base Component Inspector
│ ├── ObjectPoolComponentInspector.cs # Object Pool Inspector
│ └── ReferencePoolComponentInspector.cs # Reference Pool Inspector
├── InspectorLockShortcut/ # Inspector Lock
│ └── InspectorLockShortcut.cs # Keyboard Shortcut Lock
├── MiniGame/ # Mini Game Platform Adaptation (21 Platforms) ⭐
│ ├── MiniGameDefineSymbolHelper.cs # Base Define Symbol Manager
│ ├── DomesticMiniGames/ # Domestic (China) Mini Games
│ │ ├── MiniGameDefineSymbolHelper.WeChat.cs # WeChat
│ │ ├── MiniGameDefineSymbolHelper.Alipay.cs # Alipay
│ │ ├── MiniGameDefineSymbolHelper.DouYin.cs # DouYin
│ │ ├── MiniGameDefineSymbolHelper.KuaiShou.cs # KuaiShou
│ │ ├── MiniGameDefineSymbolHelper.Baidu.cs # Baidu
│ │ ├── MiniGameDefineSymbolHelper.JingDong.cs # JingDong
│ │ ├── MiniGameDefineSymbolHelper.Meituan.cs # Meituan
│ │ ├── MiniGameDefineSymbolHelper.Taobao.cs # Taobao
│ │ └── MiniGameDefineSymbolHelper.Bilibili.cs # Bilibili
│ ├── InternationalMiniGames/ # International Mini Games
│ │ ├── MiniGameDefineSymbolHelper.CrazyGames.cs # CrazyGames
│ │ ├── MiniGameDefineSymbolHelper.Discord.cs # Discord
│ │ ├── MiniGameDefineSymbolHelper.Facebook.cs # Facebook
│ │ ├── MiniGameDefineSymbolHelper.GooglePlay.cs # Google Play
│ │ ├── MiniGameDefineSymbolHelper.Poki.cs # Poki
│ │ ├── MiniGameDefineSymbolHelper.TikTok.cs # TikTok
│ │ └── MiniGameDefineSymbolHelper.YouTube.cs # YouTube
│ ├── DeviceOEMs/ # Device OEM Mini Games
│ │ ├── MiniGameDefineSymbolHelper.Huawei.cs # Huawei
│ │ ├── MiniGameDefineSymbolHelper.OPPO.cs # OPPO
│ │ ├── MiniGameDefineSymbolHelper.Vivo.cs # vivo
│ │ └── MiniGameDefineSymbolHelper.Xiaomi.cs # Xiaomi
│ └── GamePlatforms/ # Game Platform
│ └── MiniGameDefineSymbolHelper.TapTap.cs # TapTap
├── PackageManager/ # Package Manager Window
│ ├── PackageManagerWindow.cs # Package Manager Window
│ └── PackagesManifest.cs # Package Manifest
├── UpdatePackages/ # Package Update Tools
│ └── UpdateAllPackageHelper.cs # Batch Update
├── Welcome/ # Welcome Window
│ └── WelcomeWindow.cs # Welcome Interface
└── Misc/ # Miscellaneous Tools
├── HelperInfo.cs # Helper Info
├── LogRedirection.cs # Log Redirection
├── ScriptingDefineSymbols.cs # Define Symbol Manager
├── Type.cs # Type Utility
└── OpenFolder.cs # Open Folder
```
#### Editor Sub-Modules
| Sub-Module | Description | Main Features |
| ------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **BuildHotfix** | Hotfix Build | HybridCLR hotfix assembly build and management |
| **BuildProduct** | Product Build | Build process automation, pre/post hooks |
| **BuildWebGLTools** | WebGL Build | WebGL platform specific build tools |
| **Cropping** | Image Cropping | Visual image cropping tool |
| **Inspector** | Custom Inspectors | Object pool, reference pool visual monitoring |
| **InspectorLockShortcut** | Inspector Lock | Keyboard shortcut for locking Inspector panel |
| **MiniGame** | Mini Game Adaptation | One-click switch between 21 mini game platforms (categorized into domestic, international, device OEMs, game platforms) |
| **PackageManager** | Package Management | Visual package management interface |
| **UpdatePackages** | Package Update | Batch update project dependencies |
| **Welcome** | Welcome Interface | New user guide and quick access |
| **Misc** | Miscellaneous | Logging, define symbols, types and more |
---
## 🚀 Quick Start
### Installation
#### Method 1: Unity Package Manager (Recommended)
1. Open Unity Editor
2. Go to `Window` → `Package Manager`
3. Click the `+` button in the top-left corner
4. Select `Add package from git URL`
5. Enter: `https://github.com/GameFrameX/com.gameframex.unity.git`
#### Method 2: Manual Download
1. Download the latest [Release](https://github.com/GameFrameX/com.gameframex.unity/releases)
2. Extract to your project's `Packages` directory
#### Method 3: Using scopedRegistries (UPM)
Edit your Unity project's `Packages/manifest.json` and add the `scopedRegistries` section:
```json
{
"scopedRegistries": [
{
"name": "GameFrameX",
"url": "https://gameframex.upm.alianblank.uk",
"scopes": [
"com.gameframex"
]
}
],
"dependencies": {
"com.gameframex.unity": "1.10.1"
}
}
```
`scopes` controls which packages are resolved through this registry. Only packages whose names start with `com.gameframex` will be fetched from it.
### Basic Usage
```csharp
using GameFrameX.Runtime;
public class GameManager : MonoBehaviour
{
void Start()
{
// Get object pool component
var objectPool = GameEntry.GetComponent();
// Get reference pool component
var referencePool = GameEntry.GetComponent();
// Use extension methods
transform.SetPositionX(10f);
gameObject.SetActiveOptimized(true);
}
}
```
---
## 💡 Usage Examples
### Runtime Usage Examples
#### 🎯 Object Pool System
```csharp
// Get object pool component
var objectPool = GameEntry.GetComponent();
// Create object pool
objectPool.CreatePool("MyObjectPool", 10, 100);
// Spawn object from pool
var obj = objectPool.Spawn("MyObjectPool");
// Return object to pool
objectPool.Unspawn(obj);
// Destroy object pool
objectPool.DestroyPool("MyObjectPool");
```
#### 📝 Extension Methods
```csharp
// Transform extensions
transform.SetPositionX(10f);
transform.SetLocalScaleXYZ(2f, 2f, 2f);
transform.ResetTransformation();
// Vector3 extensions
Vector3 pos = transform.position;
pos = pos.WithX(5f).WithY(10f);
// GameObject extensions
gameObject.SetActiveOptimized(true);
gameObject.SetLayerRecursively(LayerMask.NameToLayer("UI"));
```
#### 🔐 Utility Classes
```csharp
// File operations
Utility.File.WriteAllBytes("path/to/file", data);
byte[] content = Utility.File.ReadAllBytes("path/to/file");
// AES encryption/decryption
string encrypted = Utility.Encryption.Aes.Encrypt("plaintext", "key");
string decrypted = Utility.Encryption.Aes.Decrypt(encrypted, "key");
// Hash calculation
string md5 = Utility.Hash.Md5.ComputeHash("input");
string sha1 = Utility.Hash.Sha1.ComputeHash("input");
// JSON serialization
var json = Utility.Json.ToJson(myObject);
var obj = Utility.Json.FromJson(json);
```
#### 📡 Event System
```csharp
// Define event args
public class PlayerDeadEventArgs : BaseEventArgs
{
public int PlayerId { get; set; }
public float Damage { get; set; }
}
// Subscribe to event
GameEntry.Event.Subscribe(PlayerDeadEventArgs.EventId, OnPlayerDead);
// Fire event
GameEntry.Event.Fire(this, PlayerDeadEventArgs.Create(playerId, damage));
// Unsubscribe from event
GameEntry.Event.Unsubscribe(PlayerDeadEventArgs.EventId, OnPlayerDead);
```
### Editor Tools
#### 🎮 Mini Game Platform Adaptation
Quickly switch between mini game platforms in Unity menu:
```
GameFrameX/
├── Scripting Define Symbols/
│ ├── Domestic Mini Games/
│ │ ├── Enable WeChat Mini Game
│ │ ├── Enable Alipay Mini Game
│ │ ├── Enable DouYin Mini Game
│ │ ├── Enable KuaiShou Mini Game
│ │ ├── Enable Baidu Mini Game
│ │ ├── Enable JingDong Mini Game
│ │ ├── Enable Meituan Mini Game
│ │ ├── Enable Taobao Mini Game
│ │ └── Enable Bilibili Mini Game
│ ├── International Mini Games/
│ │ ├── Enable Discord Mini Game
│ │ ├── Enable YouTube Mini Game
│ │ ├── Enable Facebook Mini Game
│ │ ├── Enable Google Play Mini Game
│ │ ├── Enable TikTok Mini Game
│ │ ├── Enable CrazyGames Mini Game
│ │ └── Enable Poki Mini Game
│ ├── Device OEMs/
│ │ ├── Enable Huawei Mini Game
│ │ ├── Enable OPPO Mini Game
│ │ ├── Enable Vivo Mini Game
│ │ └── Enable Xiaomi Mini Game
│ └── Game Platforms/
│ └── Enable TapTap Mini Game
```
#### 🏗️ Build Tools
```
GameFrameX/
├── Build Hotfix
├── Build Product
└── Build WebGL With HybridCLR
```
#### 📦 Package Management
```
GameFrameX/
├── Package Manager
└── Update All Packages
```
---
## 🎯 Platform Support
### Operating Systems
| Platform | Status | Supported Version |
| -------- | ----------- | ----------------- |
| Windows | ✅ Supported | Unity 2019.4+ |
| macOS | ✅ Supported | Unity 2019.4+ |
| Linux | ✅ Supported | Unity 2019.4+ |
| iOS | ✅ Supported | Unity 2019.4+ |
| Android | ✅ Supported | Unity 2019.4+ |
| WebGL | ✅ Supported | Unity 2019.4+ |
### Mini Game Platform Adaptation
GameFrameX provides one-click mini game platform adaptation, supporting **21 mainstream mini game platforms** worldwide:
#### 🇨🇳 Domestic Mini Games (9)
| Platform | Define Symbol | Region | Menu Priority |
| ------------------- | ------------------------------------------------ | ------- | ------------- |
| WeChat Mini Game | `ENABLE_WECHAT_MINI_GAME` / `WEIXINMINIGAME` | 🇨🇳 China | 2000 |
| Alipay Mini Game | `ENABLE_ALIPAY_MINI_GAME` / `ALIPAYMINIGAME` | 🇨🇳 China | 2400 |
| DouYin Mini Game | `ENABLE_DOUYIN_MINI_GAME` / `DOUYINMINIGAME` | 🇨🇳 China | 2100 |
| KuaiShou Mini Game | `ENABLE_KUAISHOU_MINI_GAME` / `KUAISHOUMINIGAME` | 🇨🇳 China | 2200 |
| Baidu Mini Game | `ENABLE_BAIDU_MINI_GAME` / `BAIDUMINIGAME` | 🇨🇳 China | 2300 |
| JD Mini Game | `ENABLE_JINGDONG_MINI_GAME` / `JINGDONGMINIGAME` | 🇨🇳 China | 2500 |
| Taobao Mini Program | `ENABLE_TAOBAO_MINI_GAME` / `TAOBAOMINIGAME` | 🇨🇳 China | 2600 |
| Meituan Mini Game | `ENABLE_MEITUAN_MINI_GAME` / `MEITUANMINIGAME` | 🇨🇳 China | 2800 |
| Bilibili Mini Game | `ENABLE_BILIBILI_MINI_GAME` / `BILIBILIMINIGAME` | 🇨🇳 China | 2900 |
#### 🌍 International Mini Games (7)
| Platform | Define Symbol | Region | Menu Priority |
| ----------- | ---------------------------------------------------- | -------- | ------------- |
| Discord | `ENABLE_DISCORD_MINI_GAME` / `DISCORDMINIGAME` | 🌍 Global | 2700 |
| YouTube | `ENABLE_YOUTUBE_MINI_GAME` / `YOUTUBEMINIGAME` | 🌍 Global | 2800 |
| Facebook | `ENABLE_FACEBOOK_MINI_GAME` / `FACEBOOKMINIGAME` | 🌍 Global | 2900 |
| Google Play | `ENABLE_GOOGLEPLAY_MINI_GAME` / `GOOGLEPLAYMINIGAME` | 🌍 Global | 3000 |
| TikTok | `ENABLE_TIKTOK_MINI_GAME` / `TIKTOKMINIGAME` | 🌍 Global | 3500 |
| CrazyGames | `ENABLE_CRAZYGAMES_MINI_GAME` / `CRAZYGAMESMINIGAME` | 🌍 Global | 3600 |
| Poki | `ENABLE_POKI_MINI_GAME` / `POKIMINIGAME` | 🌍 Global | 3700 |
#### 📱 Device OEMs (4)
| Platform | Define Symbol | Region | Menu Priority |
| ---------------- | -------------------------------------------- | ------- | ------------- |
| Huawei Mini Game | `ENABLE_HUAWEI_MINI_GAME` / `HUAWEIMINIGAME` | 🇨🇳 China | 3400 |
| OPPO Mini Game | `ENABLE_OPPO_MINI_GAME` / `OPPOSMINIGAME` | 🇨🇳 China | 3200 |
| Vivo Mini Game | `ENABLE_VIVO_MINI_GAME` / `VIVOMINIGAME` | 🇨🇳 China | 3100 |
| Xiaomi Mini Game | `ENABLE_XIAOMI_MINI_GAME` / `XIAOMIMINIGAME` | 🇨🇳 China | 3300 |
#### 🎮 Game Platforms (1)
| Platform | Define Symbol | Region | Menu Priority |
| ---------------- | -------------------------------------------- | ------- | ------------- |
| TapTap Mini Game | `ENABLE_TAPTAP_MINI_GAME` / `TAPTAPMINIGAME` | 🇨🇳 China | 2700 |
#### Define Symbol Details
- **Unified Define**: `ENABLE_WEBGL_MINI_GAME` - Shared by all mini game platforms
- **Platform Defines**: Independent defines for conditional compilation per platform
- **Mutex Mechanism**: Enabling one mini game platform automatically disables others
- **Menu Path**: `GameFrameX/Scripting Define Symbols/[Category]/Enable [Platform] Mini Game`
---
## 📚 Documentation & Resources
- 📖 **Full Documentation**: [https://gameframex.doc.alianblank.com](https://gameframex.doc.alianblank.com)
- 🎯 **API Reference**: [API Documentation](https://gameframex.doc.alianblank.com/api)
- 📝 **Example Projects**: [Examples Repository](https://github.com/GameFrameX/Examples)
- 🎬 **Video Tutorials**: [YouTube Channel](https://youtube.com/gameframex)
---
## 🤝 Community & Support
- 💬 **QQ Group**: [467608841](https://qm.qq.com/cgi-bin/qm/qr?k=sYFd1nv6m2KZIWFLorZ5pBR0AE5ZhbuL&jump_from=webapi&authKey=oCu+uoL3n35fT5SEt7iLgGtROPxh31n/rHUxRlp0w1f+j38W4tKBuWyRH3KEdwHN)
- 🐛 **Issue Tracker**: [GitHub Issues](https://github.com/GameFrameX/com.gameframex.unity/issues)
- 💡 **Feature Requests**: [GitHub Discussions](https://github.com/GameFrameX/com.gameframex.unity/discussions)
---
## 🔄 Changelog
### v1.4.0 (2025-04-16)
- ✨ Added 13 new mini game platforms (JD, Taobao, Discord, YouTube, Facebook, Google Play, vivo, OPPO, Xiaomi, Huawei, TikTok, CrazyGames, Poki)
- ✨ Expanded from 8 to 21 platforms, covering global mainstream mini game platforms
- 📚 Updated all language versions of README documentation with latest platform support
- 🐛 Optimized platform define symbol management and improved mutex mechanism stability
### v1.3.6 (2025-05-28)
- 🐛 Fixed duplicate GUID issues
- ✨ Added Meituan, Bilibili mini game platform adaptation
- ✨ Added more extension methods
- 📚 Enhanced README documentation with complete module structure
- 🔧 Optimized object pool performance
- 📚 Improved documentation
View full changelog: [CHANGELOG.md](CHANGELOG.md)
---
## 📄 License
This project is distributed under **MIT License** and **Apache License 2.0** dual licensing.
See full license text: [LICENSE.md](LICENSE.md)
---
## 👨💻 Author
**Blank**
- 🌐 Website: [https://gameframex.doc.alianblank.com](https://gameframex.doc.alianblank.com)
- 🐙 GitHub: [@GameFrameX](https://github.com/GameFrameX)
---
**If this project helps you, please give us a ⭐ Star!**
[⬆ Back to Top](#gameframex-unity-package)