# com.gameframex.unity **Repository Path**: dotlive/com.gameframex.unity ## Basic Information - **Project Name**: com.gameframex.unity - **Description**: GameFrameX - An all-in-one game framework for Unity providing comprehensive systems including asset management, event handling, UI, networking, audio, and more for indie game developers - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-26 - **Last Updated**: 2026-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
![GameFrameX Logo](https://download.alianblank.com/gameframex/gameframex_logo_320.png) # GameFrameX Unity Package [![Version](https://img.shields.io/github/v/release/GameFrameX/com.gameframex.unity)](https://github.com/GameFrameX/com.gameframex.unity) [![Unity](https://img.shields.io/badge/Unity-2019.4+-green.svg)](https://unity3d.com/get-unity/download) [![License](https://img.shields.io/badge/license-MIT+Apache%202.0-orange.svg)](LICENSE.md) [![Documentation](https://img.shields.io/badge/docs-gameframex.doc.alianblank.com-brightgreen.svg)](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 โ”‚ โ”œโ”€โ”€ 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 ``` #### 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)