All-in-One Solution for Indie Game Development · Empowering Indie Developers' Dreams
📖 Documentation • 🚀 Quick Start • 💬 QQ Group: 467608841
🌐 Language: English | 繁體中文 | 简体中文 | 日本語 | 한국어
- 🏗️ Project Overview
- 📂 Architecture
- 🚀 Quick Start
- 💡 Usage Examples
- 🎯 Platform Support
- 📚 Documentation & Resources
- 🤝 Community & Support
- 📄 License
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.
- 🏗️ 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
- Unity Version: 2019.4 or higher
- Platform Support: Windows, macOS, Linux, iOS, Android, WebGL
- .NET Version: .NET Standard 2.0+
GameFrameX uses a clear three-layer architecture design, with each module having its own responsibilities and working together.
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
│ ├── UnityEngage.GameObject/ # GameObject Extension
│ │ └── UnityEngage.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
| 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 |
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
| 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 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
| 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 |
- Open Unity Editor
- Go to
Window→Package Manager - Click the
+button in the top-left corner - Select
Add package from git URL - Enter:
https://github.com/GameFrameX/com.gameframex.unity.git
- Download the latest Release
- Extract to your project's
Packagesdirectory
using GameFrameX.Runtime;
public class GameManager : MonoBehaviour
{
void Start()
{
// Get object pool component
var objectPool = GameEntry.GetComponent<ObjectPoolComponent>();
// Get reference pool component
var referencePool = GameEntry.GetComponent<ReferencePoolComponent>();
// Use extension methods
transform.SetPositionX(10f);
gameObject.SetActiveOptimized(true);
}
}// Get object pool component
var objectPool = GameEntry.GetComponent<ObjectPoolComponent>();
// Create object pool
objectPool.CreatePool<MyObject>("MyObjectPool", 10, 100);
// Spawn object from pool
var obj = objectPool.Spawn<MyObject>("MyObjectPool");
// Return object to pool
objectPool.Unspawn(obj);
// Destroy object pool
objectPool.DestroyPool("MyObjectPool");// 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"));// 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<MyClass>(json);// 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);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
GameFrameX/
├── Build Hotfix
├── Build Product
└── Build WebGL With HybridCLR
GameFrameX/
├── Package Manager
└── Update All Packages
| 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+ |
GameFrameX provides one-click mini game platform adaptation, supporting 21 mainstream mini game platforms worldwide:
| 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 |
| Platform | Define Symbol | Region | Menu Priority |
|---|---|---|---|
| Discord | ENABLE_DISCORD_MINI_GAME / DISCORDMINIGAME |
🌍 Global | 2700 |
| YouTube | ENABLE_YOUTUBE_MINI_GAME / YOUTUBEMINIGAME |
🌍 Global | 2800 |
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 |
| 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 |
| Platform | Define Symbol | Region | Menu Priority |
|---|---|---|---|
| TapTap Mini Game | ENABLE_TAPTAP_MINI_GAME / TAPTAPMINIGAME |
🇨🇳 China | 2700 |
- 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
- 📖 Full Documentation: https://gameframex.doc.alianblank.com
- 🎯 API Reference: API Documentation
- 📝 Example Projects: Examples Repository
- 🎬 Video Tutorials: YouTube Channel
- 💬 QQ Group: 467608841
- 🐛 Issue Tracker: GitHub Issues
- 💡 Feature Requests: GitHub Discussions
- ✨ 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
- 🐛 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
This project is distributed under MIT License and Apache License 2.0 dual licensing.
See full license text: LICENSE.md
Blank
- 🌐 Website: https://gameframex.doc.alianblank.com
- 🐙 GitHub: @GameFrameX
If this project helps you, please give us a ⭐ Star!
