External Dependency Manager for Unity
========
# Overview
The External Dependency Manager for Unity (EDM4U)
(formerly Play Services Resolver / Jar Resolver) is intended to be used by any
Unity plugin that requires:
* Android specific libraries (e.g
[AARs](https://developer.android.com/studio/projects/android-library.html)).
* iOS [CocoaPods](https://cocoapods.org/).
* Version management of transitive dependencies.
* Management of Package Manager (PM) Registries.
Updated releases are available on
[GitHub](https://github.com/googlesamples/unity-jar-resolver)
# Background
Many Unity plugins have dependencies upon Android specific libraries, iOS
CocoaPods, and sometimes have transitive dependencies upon other Unity plugins.
This causes the following problems:
* Integrating platform specific (e.g Android and iOS) libraries within a
Unity project can be complex and a burden on a Unity plugin maintainer.
* The process of resolving conflicting dependencies on platform specific
libraries is pushed to the developer attempting to use a Unity plugin.
The developer trying to use you plugin is very likely to give up when
faced with Android or iOS specific build errors.
* The process of resolving conflicting Unity plugins (due to shared Unity
plugin components) is pushed to the developer attempting to use your Unity
plugin. In an effort to resolve conflicts, the developer will very likely
attempt to resolve problems by deleting random files in your plugin,
report bugs when that doesn't work and finally give up.
EDM provides solutions for each of these problems.
## Android Dependency Management
The *Android Resolver* component of this plugin will download and integrate
Android library dependencies and handle any conflicts between plugins that share
the same dependencies.
Without the Android Resolver, typically Unity plugins bundle their AAR and
JAR dependencies, e.g. a Unity plugin `SomePlugin` that requires the Google
Play Games Android library would redistribute the library and its transitive
dependencies in the folder `SomePlugin/Android/`. When a user imports
`SomeOtherPlugin` that includes the same libraries (potentially at different
versions) in `SomeOtherPlugin/Android/`, the developer using `SomePlugin` and
`SomeOtherPlugin` will see an error when building for Android that can be hard
to interpret.
Using the Android Resolver to manage Android library dependencies:
* Solves Android library conflicts between plugins.
* Handles all of the various processing steps required to use Android
libraries (AARs, JARs) in Unity 4.x and above projects. Almost all
versions of Unity have - at best - partial support for AARs.
* (Experimental) Supports minification of included Java components without
exporting a project.
## iOS Dependency Management
The *iOS Resolver* component of this plugin integrates with
[CocoaPods](https://cocoapods.org/) to download and integrate iOS libraries
and frameworks into the Xcode project Unity generates when building for iOS.
Using CocoaPods allows multiple plugins to utilize shared components without
forcing developers to fix either duplicate or incompatible versions of
libraries included through multiple Unity plugins in their project.
## Package Manager Registry Setup
The [Package Manager](https://docs.unity3d.com/Manual/Packages.html)
(PM) makes use of [NPM](https://www.npmjs.com/) registry servers for package
hosting and provides ways to discover, install, upgrade and uninstall packages.
This makes it easier for developers to manage plugins within their projects.
However, installing additional package registries requires a few manual steps
that can potentially be error prone. The *Package Manager Resolver*
component of this plugin integrates with
[PM](https://docs.unity3d.com/Manual/Packages.html) to provide a way to
auto-install PM package registries when a `.unitypackage` is installed which
allows plugin maintainers to ship a `.unitypackage` that can provide access
to their own PM registry server to make it easier for developers to
manage their plugins.
## Unity Plugin Version Management
Finally, the *Version Handler* component of this plugin simplifies the process
of managing transitive dependencies of Unity plugins and each plugin's upgrade
process.
For example, without the Version Handler plugin, if:
* Unity plugin `SomePlugin` includes `EDM4U` plugin at
version 1.1.
* Unity plugin `SomeOtherPlugin` includes `EDM4U`
plugin at version 1.2.
The version of `EDM4U` included in the developer's project depends upon the
order the developer imports `SomePlugin` or `SomeOtherPlugin`.
This results in:
* `EDM4U` at version 1.2, if `SomePlugin` is imported then `SomeOtherPlugin`
is imported.
* `EDM4U` at version 1.1, if `SomeOtherPlugin` is imported then
`SomePlugin` is imported.
The Version Handler solves the problem of managing transitive dependencies by:
* Specifying a set of packaging requirements that enable a plugin at
different versions to be imported into a Unity project.
* Providing activation logic that selects the latest version of a plugin
within a project.
When using the Version Handler to manage `EDM4U` included in `SomePlugin` and
`SomeOtherPlugin`, from the prior example, version 1.2 will always be the
version activated in a developer's Unity project.
Plugin creators are encouraged to adopt this library to ease integration for
their customers. For more information about integrating EDM4U
into your own plugin, see the [Plugin Redistribution](#plugin-redistribution)
section of this document.
# Analytics
The External Dependency Manager for Unity plugin by default logs usage to Google
Analytics. The purpose of the logging is to quantitatively measure the usage of
functionality, to gather reports on integration failures and to inform future
improvements to the developer experience of the External Dependency Manager
plugin. Note that the analytics collected are limited to the scope of the EDM4U
plugin’s usage.
For details of what is logged, please refer to the usage of
`EditorMeasurement.Report()` in the source code.
# Requirements
The *Android Resolver* and *iOS Resolver* components of the plugin only work
with Unity version 4.6.8 or higher.
The *Version Handler* component only works with Unity 5.x or higher as it
depends upon the `PluginImporter` UnityEditor API.
The *Package Manager Resolver* component only works with
Unity 2018.4 or above, when
[scoped registry](https://docs.unity3d.com/Manual/upm-scoped.html)
support was added to the Package Manager.
# Getting Started
Before you import EDM4U into your plugin project, you first
need to consider whether you intend to *redistribute* `EDM4U`
along with your own plugin.
## Plugin Redistribution
If you're a plugin maintainer, redistributing `EDM4U` inside your own plugin
will ease the integration process for your users, by resolving dependency
conflicts between your plugin and other plugins in a user's project.
If you wish to redistribute `EDM4U` inside your plugin,
you **must** follow these steps when importing the
`external-dependency-manager-*.unitypackage`, and when exporting your own plugin
package:
1. Import the `external-dependency-manager-*.unitypackage` into your plugin
project by
[running Unity from the command line](https://docs.unity3d.com/Manual/CommandLineArguments.html), ensuring that
you add the `-gvh_disable` option.
1. Export your plugin by [running Unity from the command line](https://docs.unity3d.com/Manual/CommandLineArguments.html), ensuring that
you:
- Include the contents of the `Assets/PlayServicesResolver` and
`Assets/ExternalDependencyManager` directory.
- Add the `-gvh_disable` option.
You **must** specify the `-gvh_disable` option in order for the Version
Handler to work correctly!
For example, the following command will i
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Eco Clicker Idle Tycoon生态挂机大亨Unity环保模拟休闲挂机游戏项目源码C# 支持Unity版本2020.3.25f1及以上 空闲大亨 我们的家需要你的帮助。在这款闲置大亨和点击游戏中,你必须竭尽全力拯救自然!在这个答题器中清除森林、河流和田野中的垃圾和有毒废物。让地球再次变绿! 摆脱污染 开始你的任务,构建游戏、模拟器和答题器,让你的生态和环境活动家收集垃圾!您在这款闲置大亨游戏中点击的次数越多,他们在闲置游戏中收集垃圾的速度就越快!这个闲置大亨中的每次点击都会清理空间,每次点击在大亨游戏中都很重要。每个新的星球环境都会为您带来独特的挑战和机会,让您在这个大亨模拟器中对地球产生积极的影响。地球迫切需要开发和改进地球游戏中的绿色技术,以结束这些大亨游戏中石油大亨精英造成的污染。 构建与开发 在大亨游戏中雇用更多工人,购买或建造重型生态设备,在建筑游戏中建造回收设施,以更快地处理各种垃圾,并在地球游戏中生产纯净能源!纯能量是我们的闲置、大亨和生态游戏中最有价值的货币。在大亨模拟器中升级您的处理设施,以便在离线大亨中更快地获得能量,并在这些闲置大亨游戏和闲置世界中学
资源推荐
资源详情
资源评论
收起资源包目录
Eco Clicker Idle Tycoon生态挂机大亨Unity环保模拟休闲挂机游戏项目源码C# (2000个子文件)
CleanSlot_(1)_idle.anim 998KB
SwanLake_working.anim 870KB
Poacher_idle.anim 545KB
Bones_idle.anim 143KB
WaterClearSlot_idle.anim 111KB
Car garbage_idle.anim 103KB
Water_21_Flares.anim 95KB
Water_20_Flares.anim 84KB
DirtSlot_(1)_idle.anim 77KB
Water_27_Flares.anim 70KB
Water_19_Flares.anim 62KB
SeaweedGarbage_idle.anim 61KB
OldOilStation_idle.anim 58KB
WaterClearSlot_18_idle.anim 56KB
WaterClearSlot_17_idle.anim 56KB
WaterDirtSlot3_idle.anim 54KB
Water_18_Flares.anim 43KB
Water_28_Flares.anim 35KB
Tutorial Finger_Click.anim 31KB
Water garbage_idle.anim 28KB
SunkenShip_idle.anim 24KB
Water_17_Flares.anim 20KB
ModernizationVisual_GearRoyayion.anim 20KB
FenceSlot_18_idle.anim 19KB
Bridge_appearing.anim 16KB
BluePrint_Disappear.anim 13KB
AnyTree_idle_2.anim 12KB
AnyTree_growing_1.anim 10KB
AnyTree_growing_2.anim 10KB
AnyTree_idle_1.anim 9KB
Fenceslot_20_idle.anim 9KB
Fenceslot_17_idle.anim 9KB
Fenceslot_19_idle.anim 9KB
AnyTree_idle_4.anim 8KB
AnyTree_growing_4.anim 8KB
AnyTree_growing_3.anim 8KB
AnyTree_idle_3.anim 8KB
BluePrint_Appear.anim 7KB
AnimationIdleObjectExample_Collect.anim 6KB
CleanEnergy_Appear.anim 5KB
AnimationIdleObjectExample_Idle.anim 5KB
AnimationIdleObjectExample_Build.anim 4KB
AnimationIdleObjectExample_NotBuilt.anim 3KB
ProjectSettings.asset 20KB
InputManager.asset 10KB
MainQuestsPipeline.asset 5KB
QualitySettings.asset 3KB
GraphicsSettings.asset 3KB
Physics2DSettings.asset 2KB
FortuneWheelFirstThirdSpinConfig.asset 2KB
FortuneWheelConfig.asset 2KB
NavMeshAreas.asset 1KB
DynamicsManager.asset 1KB
EditorSettings.asset 1KB
PackageManagerSettings.asset 1003B
ResearchStatisticsVersionUpdater.asset 952B
EditorBuildSettings.asset 928B
UnityConnectSettings.asset 901B
QuestInfoUseCertainTimeBooster.asset 897B
PresetManager.asset 797B
QuestInfoCollectSoftCurrency.asset 789B
DailyRewardsPipeline.asset 785B
RewardComplex.asset 769B
QuestInfoCollectSoftCurrencyTimes.asset 753B
QuestInfoOpenCertainCase.asset 749B
EcoBoostUnlockConfig.asset 738B
EasyCollectSoftCurrency1.asset 712B
EasyCollectSoftCurrency6.asset 712B
EasyCollectSoftCurrency4.asset 712B
EasyCollectSoftCurrency3.asset 712B
EasyCollectSoftCurrency2.asset 712B
EasyCollectSoftCurrency5.asset 712B
QuestInfoUseTimeBooster.asset 703B
QuestInfoUpgradeBuildingLevel.asset 696B
NormalCollectSoftCurrency1.asset 695B
NormalCollectSoftCurrency2.asset 695B
96. QuestInfoCollectSoftCurrency 4.asset 693B
96. QuestInfoCollectSoftCurrency 1.asset 693B
96. QuestInfoCollectSoftCurrency 2.asset 693B
96. QuestInfoCollectSoftCurrency 3.asset 693B
96. QuestInfoCollectSoftCurrency 5.asset 693B
HardCollectSoftCurrency1.asset 692B
96. QuestInfoCollectSoftCurrency.asset 691B
95. QuestInfoCollectSoftCurrency.asset 691B
94. QuestInfoCollectSoftCurrency.asset 690B
58. QuestInfoCollectSoftCurrency.asset 689B
91. QuestInfoCollectSoftCurrency.asset 689B
72. QuestInfoCollectSoftCurrency.asset 689B
21. QuestInfoCollectSoftCurrency.asset 689B
15. QuestInfoCollectSoftCurrency.asset 689B
93. QuestInfoCollectSoftCurrency.asset 689B
88. QuestInfoCollectSoftCurrency.asset 689B
82. QuestInfoCollectSoftCurrency.asset 689B
78. QuestInfoCollectSoftCurrency.asset 689B
68. QuestInfoCollectSoftCurrency.asset 689B
37. QuestInfoCollectSoftCurrency.asset 689B
QuestInfoOpenCases.asset 689B
28. QuestInfoCollectSoftCurrency.asset 689B
47. QuestInfoCollectSoftCurrency.asset 689B
8. QuestInfoCollectSoftCurrency.asset 687B
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
小云同志你好
- 粉丝: 1050
- 资源: 971
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功