Open NoxMortem opened 6 years ago
Sure.
It is a bit difficult to separate methods but maybe I can use ENABLE_WWW
or others.
Same problem. My app use UniRx becouse has large UI composition, but currently it use TextmeshPro only. Animation module is largest, but UniRx require it (same as WebRequests, Physics2D, AssetBundle, Audio)
I just came across this and I'd like to point out that defines like ENABLE_WWW
are still there even if it's disabled from Package Manager as of Unity 2018.3.6f1. It will result in compiler errors like these:
The type name 'WWW' could not be found in the namespace 'UnityEngine'. This type has been forwarded to assembly 'UnityEngine.UnityWebRequestWWWModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' Enable the built in package 'Asset Bundle', which is required by package 'Unity Web Request WWW', in the Package Manager window to fix this error.
error CS1069: Assets/UniRx/Async/UnityAsyncExtensions.cs(68,48)
It is not just help game developer but also help plugin developer who wish to write plugin base on UniRx since UPM has dependency resolution which makes writing plugin based on UniRx easier.
With the unity package manager it is possible to disable large parts of the dependencies on unity modules. However, UniRx currently requires a lot of modification when removing unity packages. In particular:
Please try to structure the Extension methods and triggers in a way, that makes it easier to remove those parts of UniRx when removing those packages from a project.
I guess this won't be urgent, as it will take quite some time until sufficient people pick up those UPM features, but I guess it makes sense to begin as early as possible to take this into consideration.
Unity clearly needs to make it easier to work with stripped projects. There are no scripting defines as far as I know to know if a (official) upm package is enabled or not...