This repository was archived by the owner on Apr 29, 2021. It is now read-only.
 
 
 - 
  Notifications
 
You must be signed in to change notification settings  - Fork 257
 
Prepare for publishing to Package Manager #207
 
  Open
 
 
 
 
  Open
 Changes from 1 commit
 Commits
 
 
 Show all changes
 
 
 80 commits
 
 
 Select commit
 Hold shift + click to select a range
 
 9283ede
 
 Tmp store.
 
 
 b49f06b
 
 Merge branch 'yczhang' into packman
 
 
 079fc57
 
 Update documentation.
 
 
 733f91a
 
 Implement packman script.
 
 
 786e6b6
 
 Implement asset store script.
 
 
 51f26d9
 
 Merge branch 'yczhang' into asset_store
 
 
 63655ce
 
 Copy Resources for sample.
 
 
 6bc50b8
 
 Update Menu Organization: Move everything into Window/UIWidgets.
 
 
 ea17a50
 
 Merge branch 'yczhang' into packman
 
 
 886b4cc
 
 Update Documentation.
 
 
 e034f28
 
 Merge branch 'yczhang' into asset_store
 
 
 1735cfb
 
 Update script and Documentation.
 
 
 b043c91
 
 Merge branch 'master' into yczhang
 
 
 9af2353
 
 Merge branch 'yczhang' into packman
 
 
 8e59c50
 
 Merge branch 'yczhang' into asset_store
 
 
 e3b38cf
 
 Update packman script.
 
 
 6c018d8
 
 Align with master.
 
 
 b83d325
 
 Improve packman.
 
 
 b041d71
 
 Improve packman.
 
 
 de33c16
 
 Update Documentation to multi-file structure.
 
 
 d6de8ee
 
 Update packman script.
 
 
 b9e5b34
 
 Update packman to generate documentation automatically.
 
 
 22878a1
 
 Fix packman script: copy README-ZH.
 
 
 9bfd832
 
 Merge branch 'yczhang' into asset_store
 
 
 0902a2b
 
 Update document.
 
 
 131edec
 
 Update packman script.
 
 
 792a80a
 
 Modify Images.
 
 
 075a3da
 
 Remove video.
 
 
 31f031f
 
 Fix error on 2019.2+.
 
 
 156986c
 
 Update packman alignment version.
 
 
 926f37a
 
 Merge branch 'asset_store' into yczhang
 
 
 044a981
 
 Merge branch 'master' into yczhang
 
 
 d46cea0
 
 Merge branch 'master' into yczhang
 
 
 27b1c41
 
 Merge branch 'master' into yczhang
 
 
 47c8f52
 
 Merge branch 'master' into yczhang
 
 
 ba2314c
 
 Change version to upload to packman.
 
 
 11613e1
 
 Merge branch 'master' of https://github.com/UnityTech/UIWidgets into ...
 
 
 726689e
 
 Update packman uiwidgets target version.
 
 
 548ed4c
 
 Update the packman script, add the procedures to execute manually
 
 
 4d1673a
 
 Remove references to ugui.
 
 
 4ba3ed3
 
 Correct menus.
 
 
 6151840
 
 Update README.
 
 
 c06d04f
 
 Merge branch 'master' into yczhang
 
 
 80d972e
 
 Update uiwidgets version.
 
 
 50275e3
 
 Merge branch 'master' into yczhang
 
 
 e0a2bec
 
 Update version.
 
 
 c8a2c6d
 
 Merge branch 'master' into yczhang
 
 
 7a22186
 
 Update uiwidgets version.
 
 
 85cef92
 
 Merge branch 'master' into yczhang
 
 
 e3ce7d7
 
 Update UIWidgets version.
 
 
 a71f5c2
 
 Merge branch 'master' into yczhang
 
 
 616b05c
 
 Update uiwidgets version.
 
 
 ea7d7cb
 
 Merge branch 'master' of https://github.com/UnityTech/UIWidgets into ...
 
 
 3535924
 
 Remove samples.
 
 
 792b17e
 
 Remove Tests/Resources.
 
 
 a91e164
 
 Remove Tests.
 
 
 370b92e
 
 Fix README.
 
 
 c1a19fb
 
 Merge branch 'master' into yczhang
 
 
 f0c8495
 
 Update UIWidgets version.
 
 
 5160995
 
 Merge branch 'master' into yczhang
 
 
 152f2f7
 
 Update packman scripts.
 
 
 235f488
 
 Update UIWidgets Version.
 
 
 795ced5
 
 Automatic resource importer.
 
 
 3cf8e85
 
 Update Unity Version.
 
 
 988f051
 
 Merge branch 'master' of https://github.com/UnityTech/UIWidgets into ...
 
 
 4fc5ee1
 
 [Feature] Panel Raycast Filter
 
 
 IIzzaya 1334379
 
 [Fix] Wrong Spelling Name
 
 
 IIzzaya d1ebb51
 
 [Raycast] Update
 
 
 IIzzaya dd78120
 
 [Raycast] Add UIWidgetsRaycastablePanel
 
 
 IIzzaya 368dc8f
 
 [Raycast] Remove Debug.Log
 
 
 IIzzaya e5b9bd5
 
 [Raycast] Move Files' Location
 
 
 IIzzaya abd4336
 
 Update UIWidgets version.
 
 
 d8b1506
 
 Merge pull request #366 from IIzzaya/dev_raycast
 
 
 zhuxingwei 2b4c7ad
 
 Add !UNITY_EDITOR for WebGLInput
 
 
 844bac8
 
 Merge branch 'fix_webgl' into yczhang
 
 
 bcc17f2
 
 Merge branch 'master' of github.com:UnityTech/UIWidgets into fix_tabl...
 
 
 zhuxingwei 0158191
 
 fix potential dead loop
 
 
 zhuxingwei a4dd4aa
 
 Merge pull request #401 from UnityTech/fix_table_deadloop
 
 
 e3c8bcc
 
 Update UIWidgets version.
 
 
 b2bdac4
 
 Merge branch 'dev' into yczhang
 
 
 File filter
Filter by extension
Conversations
 Failed to load comments. 
 
 
 
  Loading
 
 Jump to
 
 Jump to file
 
 
 
 Failed to load files. 
 
 
 
  Loading
 
 Diff view
Diff view
 Update Documentation to multi-file structure.
 
 - Loading branch information
 
There are no files selected for viewing
 
 
 
 35 changes: 35 additions & 0 deletions
 
 
 
 Documentation~/CONTRIBUTING.md
 
 
 
 
  
 
 
 
 
 
 
 This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
 Learn more about bidirectional Unicode characters
 
 
 
 
 | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| # Contributing | ||
| 
  | 
||
| ## If you are interested in contributing, here are some ground rules: | ||
| 
  | 
||
| ### Code Style (using JetBrains Rider) | ||
| 1. **Import the Customized Code Cleanup Settings**: Open Preferences -> Manage Layers, | ||
| Choose 'Solution "\<YourProjectName\>" personal' and Click "Add Layer" ("+") -> "Open Settings File...". | ||
| and Open the file "UIWidgetCleanupPlugin.DotSettings" under \<YourProjectPath\>/Packages/com.unity.uiwidgets/" | ||
| 
  | 
||
| 2. **Cleanup Code style using the Customized Code Cleanup Settings**: Open Code -> Code Cleanup, | ||
| Pick a Cleanup scope as you want and Choose "UIWidgets" as the "Code cleanup profile", then click "OK" | ||
| 
  | 
||
| 3. **Refine Code Style Rules**: Edit the ".editorconfig" file under \<YourProjectPath\>/Packages/com.unity.uiwidgets/". Visit | ||
| https://www.jetbrains.com/help/rider/EditorConfig_Index.html for the detailed. | ||
| 
  | 
||
| ### Generate Code. | ||
| 
  | 
||
| Code files ending with ".gen.cs" are auto generated. Follow these steps to generate them: | ||
| 
  | 
||
| 1. **Go to scripts Folder and Run npm install**: | ||
| ``` | ||
| cd <YourProjectPath>/Packages/com.unity.uiwidgets/scripts~ | ||
| npm install | ||
| ``` | ||
| 
  | 
||
| 2. **Run the codegen Command**: | ||
| ``` | ||
| node uiwidgets-cli.js codegen . generate mixin code | ||
| ``` | ||
| 
  | 
||
| 
  | 
||
| ## All contributions are subject to the [Unity Contribution Agreement(UCA)](https://unity3d.com/legal/licenses/Unity_Contribution_Agreement) | ||
| By making a pull request, you are confirming agreement to the terms and conditions of the UCA, including that your Contributions are your original creation and that you have complete right and authority to make your Contributions. | ||
| 
  | 
||
| ## Once you have a change ready following these ground rules. Simply make a pull request | 
 
 
 
 2 changes: 2 additions & 0 deletions
 
 
 
 Documentation~/TableOfContents.md
 
 
 
 
  
 
 
 
 
 
 
 This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
 Learn more about bidirectional Unicode characters
 
 
 
 
 | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| * [UIWidgets Documentation](index) | ||
| * [UIWidgets中文文档](index-zh) | 
 
 
 
 256 changes: 256 additions & 0 deletions
 
 
 
 Documentation~/index-zh.md
 
 
 
 
  
 
 
 
 
 
 
 This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
 Learn more about bidirectional Unicode characters
 
 
 
 
 | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,256 @@ | ||
| # UIWidgets | ||
| 
  | 
||
| 
  | 
||
| ## 介绍 | ||
| 
  | 
||
| UIWidgets是Unity编辑器的一个插件包,可帮助开发人员通过Unity引擎来创建、调试和部署高效的跨平台应用。 | ||
| 
  | 
||
| UIWidgets主要来自[Flutter](https://github.com/flutter/flutter)。但UIWidgets通过使用强大的Unity引擎为开发人员提供了许多新功能,显著地改进他们开发的应用性能和工作流程。 | ||
| 
  | 
||
| #### 效率 | ||
| 通过使用最新的Unity渲染SDK,UIWidgets应用可以非常快速地运行并且大多数时间保持大于60fps的速度。 | ||
| 
  | 
||
| #### 跨平台 | ||
| 与任何其他Unity项目一样,UIWidgets应用可以直接部署在各种平台上,包括PC,移动设备和网页等。 | ||
| 
  | 
||
| #### 多媒体支持 | ||
| 除了基本的2D UI之外,开发人员还能够将3D模型,音频,粒子系统添加到UIWidgets应用中。 | ||
| 
  | 
||
| #### 开发者友好 | ||
| 开发者可以使用许多高级工具,如CPU/GPU Profiling和FPS Profiling,直接在Unity Editor中调试UIWidgets应用。 | ||
| 
  | 
||
| ### Example | ||
| 
  | 
||
| <div style="text-align: center"><table><tr> | ||
| <td style="text-align: center"> | ||
| <img src="https://connect-prd-cdn.unity.com/20190323/p/images/2a27606f-a2cc-4c9f-9e34-bb39ae64d06c_uiwidgets1.gif" width="200"/> | ||
| </td> | ||
| <td style="text-align: center"> | ||
| <img src="https://connect-prd-cdn.unity.com/20190323/p/images/097a7c53-19b3-4e0a-ad27-8ec02506905d_uiwidgets2.gif" width="200" /> | ||
| </td> | ||
| <td style="text-align: center"> | ||
| <img src="https://connect-prd-cdn.unity.com/20190323/p/images/1f03c1d0-758c-4dde-b3a9-2f5f7216b7d9_uiwidgets3.gif" width="200"/> | ||
| </td> | ||
| <td style="text-align: center"> | ||
| <img src="https://connect-prd-cdn.unity.com/20190323/p/images/a8884fbd-9e7c-4bd7-af46-0947e01d01fd_uiwidgets4.gif" width="200"/> | ||
| </td> | ||
| </tr></table></div> | ||
| 
  | 
||
| ## 使用要求 | ||
| 
  | 
||
| #### Unity | ||
| 安装 Unity 2018.3 或更高版本。 你可以从[https://unity3d.com/get-unity/download](https://unity3d.com/get-unity/download)下载最新的Unity。 | ||
| 
  | 
||
| #### UIWidgets包 | ||
| 
  | 
||
| 访问我们的Github存储库 [https://github.com/UnityTech/UIWidgets](https://github.com/UnityTech/UIWidgets)下载最新的UIWidgets包。 | ||
| 
  | 
||
| 将下载的包文件夹移动到Unity项目的Package文件夹中。 | ||
| 
  | 
||
| 通常,你可以在控制台(或终端)应用程序中输入下面的代码来完成这个操作: | ||
| 
  | 
||
| ```none | ||
| cd <YourProjectPath>/Packages | ||
| git clone https://github.com/UnityTech/UIWidgets.git com.unity.uiwidgets | ||
| ``` | ||
| 
  | 
||
| ## 入门指南 | ||
| 
  | 
||
| #### 一、 概观 | ||
| 在本教程中,我们将创建一个非常简单的UIWidgets应用。 该应用只包含文本标签和按钮。 文本标签将计算按钮上的点击次数。 | ||
| 
  | 
||
| 首先,请打开或创建Unity项目并使用Unity编辑器打开它。 | ||
| 
  | 
||
| 然后打开Project Settings,转到Player部分并**将"UIWidgets_DEBUG"添加到Scripting Define Symbols字段中。** | ||
| 
  | 
||
| 这样就启动了UIWidgets的调试模式。 在之后发布版本的时候清空这个字段。 | ||
| 
  | 
||
| #### 二、 场景构建 | ||
| 
  | 
||
| UIWidgets应用通常构建在Unity UI Canvas上。 请按照以下步骤在Unity中创建一个 | ||
| UI Canvas。 | ||
| 1. 选择 File > New Scene来创建一个新场景。 | ||
| 2. 选择 GameObject > UI > Canvas 在场景中创建UI Canvas。 | ||
| 3. 右键单击Canvas并选择UI > Panel,将面板(即面板1)添加到UI Canvas中。 然后删除面板中的 **Image** 组件。 | ||
| 
  | 
||
| #### 三、创建小部件 | ||
| 
  | 
||
| UIWidgets应用是用**C#脚本**来编写的。 请按照以下步骤创建应用程序并在Unity编辑器中播放。 | ||
| 1. 创建一个新C#脚本,命名为"UIWidgetsExample.cs",并将以下代码粘贴到其中。 | ||
| 
  | 
||
| ```none | ||
| using System.Collections.Generic; | ||
| using Unity.UIWidgets.animation; | ||
| using Unity.UIWidgets.engine; | ||
| using Unity.UIWidgets.foundation; | ||
| using Unity.UIWidgets.material; | ||
| using Unity.UIWidgets.painting; | ||
| using Unity.UIWidgets.ui; | ||
| using Unity.UIWidgets.widgets; | ||
| using UnityEngine; | ||
| using FontStyle = Unity.UIWidgets.ui.FontStyle; | ||
| 
  | 
||
| namespace UIWidgetsSample { | ||
| public class UIWidgetsExample : UIWidgetsPanel { | ||
| protected override void OnEnable() { | ||
| // if you want to use your own font or font icons. | ||
| // FontManager.instance.addFont(Resources.Load<Font>(path: "path to your font"), "font family name"); | ||
| 
  | 
||
| // load custom font with weight & style. The font weight & style corresponds to fontWeight, fontStyle of | ||
| // a TextStyle object | ||
| // FontManager.instance.addFont(Resources.Load<Font>(path: "path to your font"), "Roboto", FontWeight.w500, | ||
| // FontStyle.italic); | ||
| 
  | 
||
| // add material icons, familyName must be "Material Icons" | ||
| // FontManager.instance.addFont(Resources.Load<Font>(path: "path to material icons"), "Material Icons"); | ||
| 
  | 
||
| base.OnEnable(); | ||
| } | ||
| 
  | 
||
| protected override Widget createWidget() { | ||
| return new WidgetsApp( | ||
| home: new ExampleApp(), | ||
| pageRouteBuilder: (RouteSettings settings, WidgetBuilder builder) => | ||
| new PageRouteBuilder( | ||
| settings: settings, | ||
| pageBuilder: (BuildContext context, Animation<float> animation, | ||
| Animation<float> secondaryAnimation) => builder(context) | ||
| ) | ||
| ); | ||
| } | ||
| 
  | 
||
| class ExampleApp : StatefulWidget { | ||
| public ExampleApp(Key key = null) : base(key) { | ||
| } | ||
| 
  | 
||
| public override State createState() { | ||
| return new ExampleState(); | ||
| } | ||
| } | ||
| 
  | 
||
| class ExampleState : State<ExampleApp> { | ||
| int counter = 0; | ||
| 
  | 
||
| public override Widget build(BuildContext context) { | ||
| return new Column( | ||
| children: new List<Widget> { | ||
| new Text("Counter: " + this.counter), | ||
| new GestureDetector( | ||
| onTap: () => { | ||
| this.setState(() => { | ||
| this.counter++; | ||
| }); | ||
| }, | ||
| child: new Container( | ||
| padding: EdgeInsets.symmetric(20, 20), | ||
| color: Colors.blue, | ||
| child: new Text("Click Me") | ||
| ) | ||
| ) | ||
| } | ||
| ); | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| 
  | 
||
| 2. 保存此脚本,并将其附加到Panel 1中作为其组件。 | ||
| 3. 在Unity编辑器中,点击Play按钮来启动应用。 | ||
| 
  | 
||
| #### 四、构建应用程序 | ||
| 
  | 
||
| 最后,你可以按以下步骤将UIWidgets应用构建成适用于任何特定平台的应用程序包。 | ||
| 1. 选择**File** > **Build Settings...**打开Build Settings面板。 | ||
| 2. 选择目标平台,点击Build。 之后Unity编辑器将自动组装所有相关资源并生成最终的应用程序包。 | ||
| 
  | 
||
| #### 五、如何加载图像? | ||
| 1. 将你的图像文件,如image1.png,放在Resources文件夹中。 | ||
| 2. 你可以在同一文件夹中添加image1@2.png和image1@3.png以支持高清屏幕显示。 | ||
| 3. 使用Image.asset("image1")加载图像。 注意:因为是在Unity中,所以不需要添加.png后缀。 | ||
| 
  | 
||
| 
  | 
||
| UIWidgets也支持Gif! | ||
| 1. 假设你有一个loading1.gif文件,将其重命名为loading1.gif.bytes并复制到Resources文件夹。 | ||
| 2. 你可以在同一文件夹中添加loading1@2.gif.bytes和loading1@3.gif.bytes以支持高清屏幕显示。 | ||
| 3. 使用Image.asset("loading1.gif")加载gif图像。 | ||
| 
  | 
||
| #### 六、在安卓上显示状态栏 | ||
| 当一个Unity项目运行在Android设备上时,状态栏是默认隐藏且无法在编辑内进行调整的。 | ||
| 如果您希望在您的UIWidgets App中显示状态栏,您可以使用这个[解决方案](https://github.com/Over17/UnityShowAndroidStatusBar)。我们将尽快推出我们自己的解决方案,并保证届时开发者可以进行无缝切换。 | ||
| 
  | 
||
| 此外,为了让上述插件在Android P及以上Android系统中正常工作,请勾选上"Player Settings"中的"Render Outside Safe Area"选项。 | ||
| 
  | 
||
| #### 七、自动调节帧率 | ||
| 如果要使得构建出的应用能够自动调节帧率,请打开Project Settings,将构建目标平台对应的Quality选项卡中的V Sync Count设置为Don't Sync。 | ||
| 默认的逻辑是在界面静止时将帧率降低为25,在界面变动时将帧率提高至60。 | ||
| 如果您需要修改帧率升高或降低时的行为,请将`Window.onFrameRateSpeedUp`和/或`Window.onFrameRateCoolDown`设置为您自己的函数。 | ||
| 
  | 
||
| #### 八、WebGL Canvas分辨率调整插件 | ||
| 因为浏览器中Canvas的宽高和其在显示器上的像素数可能不一致,所以构建出的WebGL程序中画面可能会模糊。 | ||
| 插件`Plugins/platform/webgl/UIWidgetsCanvasDevicePixelRatio_20xx.x.jslib`(目前有2018.3和2019.1)解决了这个问题。 | ||
| 请根据您的项目的Unity版本选择对应的插件,并禁用此插件的其他版本。方法如下:在Project面板中选中该插件,在Inspector面板中的Select platforms for plugin中,去掉WebGL后面的对勾。 | ||
| 如果您因为任何原因需要完全禁止此插件的功能,请按上述方法禁用此插件的所有版本。 | ||
| 
  | 
||
| 此插件覆盖了Unity WebGL构建模块中的如下参数: | ||
| ``` | ||
| JS_SystemInfo_GetWidth | ||
| JS_SystemInfo_GetHeight | ||
| JS_SystemInfo_GetCurrentCanvasWidth | ||
| JS_SystemInfo_GetCurrentCanvasHeight | ||
| $Browser | ||
| $JSEvents | ||
| ``` | ||
| 如果您需要实现自己的WebGL插件,并且您的插件覆盖了这些参数中的至少一种,您需要采用上文中提到的方法禁用`UIWidgetsCanvasDevicePixelRatio`插件,以防止可能的冲突。 | ||
| 如果您仍然需要此插件所提供的功能,您可以手动将此插件对Unity WebGL构建模块的修改应用到您的插件中。 | ||
| `UIWidgetsCanvasDevicePixelRatio`插件中所有的修改之处都以`////////// Modification Start ////////////`和`////////// Modification End ////////////`标识。 | ||
| 在被标识的代码中,所有乘/除以`devicePixelRatio`都来自于我们的修改。 | ||
| 若您需要详细了解此插件所修改的脚本,请参考您的Unity Editor安装目录下的`PlaybackEngines/WebGLSupport/BuildTools/lib`文件夹中的`SystemInfo.js`和`UnityNativeJS/UnityNative.js`。 | ||
| 
  | 
||
| #### 九、图片导入设置 | ||
| 默认情况下,Unity会将导入图片的宽和高放缩为最近的等于2的幂的整数。 | ||
| 在UIWidgets中使用图片时,记得将这一特性关闭,以免图片被意外放缩,方法如下:在Project面板中选中图片,在"Inspector"面板中将"Non Power of 2"(在"Advanced"中)设置为"None"。 | ||
| 
  | 
||
| ## 调试UIWidgets应用程序 | ||
| 
  | 
||
| #### 定义UIWidgets_DEBUG | ||
| 我们建议在Unity编辑器中定义 UIWidgets_DEBUG 脚本符号,这将打开UIWidgets中的调试断言(debug assertion),有助于更早发现潜在的Bug。 | ||
| 因此选择 **Player Settings** > **Other Settings** > **Configuration** > **Scripting Define Symbols** ,并添加 UIWidgets_DEBUG。 | ||
| 该符号仅供调试使用,请在发布版本中删除它。 | ||
| 
  | 
||
| #### UIWidgets Inspector | ||
| 
  | 
||
| UIWidgets Inspector工具用于可视化和浏览窗口小部件树。 你可以在Unity编辑器的**Window** > **Analysis** > **UIWidget Inspector** 中的找到它。 | ||
| 
  | 
||
| 注意 | ||
| - 需要定义 UIWidgets_DEBUG 使inspector正常工作。 | ||
| - Inspector目前仅适用于编辑器的播放模式,目前不支持独立版本的应用程序。 | ||
| 
  | 
||
| 
  | 
||
| ## 学习 | ||
| 
  | 
||
| #### 示例 | ||
| 
  | 
||
| 你可以在**Samples**文件夹的UIWidgets包中找到一些精心挑选的UIWidgets应用示例,并通过这些示例来开始你的学习。请随意尝试并进行修改以查看结果。 | ||
| 
  | 
||
| 你也可以在支持**UIWidgets**的编辑器中,点击主菜单上的UIWidgets,并在下拉窗口中选择一个示例。 | ||
| 
  | 
||
| #### Wiki | ||
| 
  | 
||
| 目前开发团队仍在改进UIWidgets Wiki。 由于UIWidgets主要来源于Flutter,你也可以参考Flutter Wiki中与UIWidgets API对应部分的详细描述。同时,你可以加入我们的讨论组( https://connect.unity.com/g/uiwidgets )。 | ||
| 
  | 
||
| #### 常问问题解答 | ||
| 
  | 
||
| | 问题 | 回答 | | ||
| | :-----------------------------------------------| ---------------------: | | ||
| | 我可以使用UIWidgets创建独立应用吗? | 可以 | | ||
| | 我可以使用UIWidgets构建游戏UI吗? | 可以 | | ||
| | 我可以使用UIWidgets开发Unity编辑器插件吗? | 可以 | | ||
| | UIWidgets是UGUI / NGUI的扩展吗? | 不是 | | ||
| | UIWidgets只是Flutter的副本吗? | 不是 | | ||
| | 我可以通过简单的拖放操作来创建带有UIWidgets的UI吗? | 不可以 | | ||
| | 我是否需要付费使用UIWidgets? | 不需要 | | ||
| | 有推荐的适用于UIWidgets的IDE吗? | Rider, VSCode(Open .sln) | | ||
| 
  | 
||
| ## 如何贡献 | ||
| 请查看[CONTRIBUTING](CONTRIBUTING) | 
 
 Oops, something went wrong.
 
 
 
 Add this suggestion to a batch that can be applied as a single commit.
 This suggestion is invalid because no changes were made to the code.
 Suggestions cannot be applied while the pull request is closed.
 Suggestions cannot be applied while viewing a subset of changes.
 Only one suggestion per line can be applied in a batch.
 Add this suggestion to a batch that can be applied as a single commit.
 Applying suggestions on deleted lines is not supported.
 You must change the existing code in this line in order to create a valid suggestion.
 Outdated suggestions cannot be applied.
 This suggestion has been applied or marked resolved.
 Suggestions cannot be applied from pending reviews.
 Suggestions cannot be applied on multi-line comments.
 Suggestions cannot be applied while the pull request is queued to merge.
 Suggestion cannot be applied right now. Please check back later.