diff --git a/Assembly-CSharp-firstpass-vs.csproj b/Assembly-CSharp-firstpass-vs.csproj new file mode 100644 index 00000000..1e055c1a --- /dev/null +++ b/Assembly-CSharp-firstpass-vs.csproj @@ -0,0 +1,306 @@ + + + + Debug + AnyCPU + 10.0.20506 + 2.0 + {FC6D064E-28ED-A578-0D72-8E424343BF9A} + Library + Properties + + Assembly-CSharp-firstpass + v3.5 + 512 + Assets + + + true + full + false + Temp\bin\Debug\ + DEBUG;TRACE;UNITY_5_0_0;UNITY_5_0;UNITY_5;ENABLE_LICENSE_RENAME;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_NEW_HIERARCHY;ENABLE_PHYSICS;ENABLE_PHYSICS_PHYSX3;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_AUDIOMIXER_SUSPEND;ENABLE_NONPRO;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_MONO;ENABLE_PROFILER;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;UNITY_PRO_LICENSE + prompt + 4 + 0169 + + + pdbonly + true + Temp\bin\Release\ + TRACE + prompt + 4 + 0169 + + + + + + + + D:/UnityDir/5.0.0f4/Editor/Data/Managed/UnityEngine.dll + + + D:/UnityDir/5.0.0f4/Editor/Data/Managed/UnityEditor.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + D:/UnityDir/5.0.0f4/Editor/Data/UnityExtensions/Unity/GUISystem/UnityEngine.UI.dll + + + + + + diff --git a/Assembly-CSharp-firstpass.csproj b/Assembly-CSharp-firstpass.csproj new file mode 100644 index 00000000..1e055c1a --- /dev/null +++ b/Assembly-CSharp-firstpass.csproj @@ -0,0 +1,306 @@ + + + + Debug + AnyCPU + 10.0.20506 + 2.0 + {FC6D064E-28ED-A578-0D72-8E424343BF9A} + Library + Properties + + Assembly-CSharp-firstpass + v3.5 + 512 + Assets + + + true + full + false + Temp\bin\Debug\ + DEBUG;TRACE;UNITY_5_0_0;UNITY_5_0;UNITY_5;ENABLE_LICENSE_RENAME;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_NEW_HIERARCHY;ENABLE_PHYSICS;ENABLE_PHYSICS_PHYSX3;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_AUDIOMIXER_SUSPEND;ENABLE_NONPRO;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_MONO;ENABLE_PROFILER;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;UNITY_PRO_LICENSE + prompt + 4 + 0169 + + + pdbonly + true + Temp\bin\Release\ + TRACE + prompt + 4 + 0169 + + + + + + + + D:/UnityDir/5.0.0f4/Editor/Data/Managed/UnityEngine.dll + + + D:/UnityDir/5.0.0f4/Editor/Data/Managed/UnityEditor.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + D:/UnityDir/5.0.0f4/Editor/Data/UnityExtensions/Unity/GUISystem/UnityEngine.UI.dll + + + + + + diff --git a/Assembly-CSharp-vs.csproj b/Assembly-CSharp-vs.csproj new file mode 100644 index 00000000..c53cbc74 --- /dev/null +++ b/Assembly-CSharp-vs.csproj @@ -0,0 +1,90 @@ + + + + Debug + AnyCPU + 10.0.20506 + 2.0 + {C46B99A5-0F0F-2FEE-50C8-DAE79AA3F247} + Library + Properties + + Assembly-CSharp + v3.5 + 512 + Assets + + + true + full + false + Temp\bin\Debug\ + DEBUG;TRACE;UNITY_5_0_0;UNITY_5_0;UNITY_5;ENABLE_LICENSE_RENAME;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_NEW_HIERARCHY;ENABLE_PHYSICS;ENABLE_PHYSICS_PHYSX3;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_AUDIOMIXER_SUSPEND;ENABLE_NONPRO;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_MONO;ENABLE_PROFILER;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;UNITY_PRO_LICENSE + prompt + 4 + 0169 + + + pdbonly + true + Temp\bin\Release\ + TRACE + prompt + 4 + 0169 + + + + + + + + D:/UnityDir/5.0.0f4/Editor/Data/Managed/UnityEngine.dll + + + D:/UnityDir/5.0.0f4/Editor/Data/Managed/UnityEditor.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + D:/UnityDir/5.0.0f4/Editor/Data/UnityExtensions/Unity/GUISystem/UnityEngine.UI.dll + + + + + {FC6D064E-28ED-A578-0D72-8E424343BF9A} Assembly-CSharp-firstpass-vs + + + + + diff --git a/Assets/AssetStoreTools.meta b/Assets/AssetStoreTools.meta index 5e858413..4923f535 100644 --- a/Assets/AssetStoreTools.meta +++ b/Assets/AssetStoreTools.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 guid: 8951e7b9687d74949af2854b82e3601c folderAsset: yes -timeCreated: 1425282656 +timeCreated: 1475197920 licenseType: Pro DefaultImporter: userData: diff --git a/Assets/AssetStoreTools/Editor.meta b/Assets/AssetStoreTools/Editor.meta index 8ae97df0..76e146ec 100644 --- a/Assets/AssetStoreTools/Editor.meta +++ b/Assets/AssetStoreTools/Editor.meta @@ -1,5 +1,9 @@ fileFormatVersion: 2 guid: 47c3c77b488bde14eac761a5144660ed folderAsset: yes +timeCreated: 1475197920 +licenseType: Pro DefaultImporter: userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AssetStoreTools/Editor/AssetStoreTools.dll.meta b/Assets/AssetStoreTools/Editor/AssetStoreTools.dll.meta index 5244b496..f6ebfb64 100644 --- a/Assets/AssetStoreTools/Editor/AssetStoreTools.dll.meta +++ b/Assets/AssetStoreTools/Editor/AssetStoreTools.dll.meta @@ -7,16 +7,8 @@ PluginImporter: isPreloaded: 0 platformData: Any: - enabled: 0 - settings: {} - Editor: enabled: 1 - settings: - DefaultValueInitialized: true - WindowsStoreApps: - enabled: 0 - settings: - CPU: AnyCPU + settings: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll b/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll index 7306f772..bad71d1f 100644 Binary files a/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll and b/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll differ diff --git a/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll.meta b/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll.meta index 3af281fc..f62e9413 100644 --- a/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll.meta +++ b/Assets/AssetStoreTools/Editor/AssetStoreToolsExtra.dll.meta @@ -7,16 +7,8 @@ PluginImporter: isPreloaded: 0 platformData: Any: - enabled: 0 - settings: {} - Editor: enabled: 1 - settings: - DefaultValueInitialized: true - WindowsStoreApps: - enabled: 0 - settings: - CPU: AnyCPU + settings: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/ObjectTest/AsyncTestScene.cs b/Assets/ObjectTest/AsyncTestScene.cs index a667c49a..7c4d9630 100644 --- a/Assets/ObjectTest/AsyncTestScene.cs +++ b/Assets/ObjectTest/AsyncTestScene.cs @@ -1,6 +1,7 @@ #if (ENABLE_MONO_BLEEDING_EDGE_EDITOR || ENABLE_MONO_BLEEDING_EDGE_STANDALONE) using System; +using UniRx.Triggers; using System.Collections; using System.Threading.Tasks; using UniRx; @@ -90,7 +91,7 @@ async Task CoroutineBridge2() { Debug.Log("start ienumerator await"); - var www = await CustomCoroutine(); + await CustomCoroutine(); Debug.Log("end ienumerator await"); } diff --git a/Assets/Plugins/UniRx/ReadMe.txt b/Assets/Plugins/UniRx/ReadMe.txt index af010873..d8dc56d0 100644 --- a/Assets/Plugins/UniRx/ReadMe.txt +++ b/Assets/Plugins/UniRx/ReadMe.txt @@ -1,4 +1,4 @@ -UniRx - Reactive Extensions for Unity / ver 5.4.1 +UniRx - Reactive Extensions for Unity / Ver 5.5.0 === Created by Yoshifumi Kawai(neuecc) @@ -12,6 +12,8 @@ UniRx is available on the Unity Asset Store (FREE) - http://u3d.as/content/neuec Presentation - http://www.slideshare.net/neuecc/unirx-reactive-extensions-for-unityen +Blog for update info - https://medium.com/@neuecc + Support thread on the Unity Forums: Ask me any question - http://forum.unity3d.com/threads/248535-UniRx-Reactive-Extensions-for-Unity Release Notes, see [UniRx/releases](https://github.com/neuecc/UniRx/releases) @@ -952,7 +954,76 @@ eventTrigger.OnBeginDragAsObservable() > Note: > PresenterBase works enough, but too complex. > You can use simple `Initialize` method and call parent to child, it works for most scenario. -> So I don't recommend using `PresenterBase`, sorry. +> So I don't recommend using `PresenterBase`, sorry. + +ReactiveCommand, AsyncReactiveCommand +---- +ReactiveCommand abstraction of button command with boolean interactable. + +```csharp +public class Player +{ + public ReactiveProperty Hp; + public ReactiveCommand Resurrect; + + public Player() + { + Hp = new ReactiveProperty(1000); + + // If dead, can not execute. + Resurrect = Hp.Select(x => x <= 0).ToReactiveCommand(); + // Execute when clicked + Resurrect.Subscribe(_ => + { + Hp.Value = 1000; + }); + } +} + +public class Presenter : MonoBehaviour +{ + public Button resurrectButton; + + Player player; + + void Start() + { + player = new Player(); + + // If Hp <= 0, can't press button. + player.Resurrect.BindTo(resurrectButton); + } +} +``` + +AsyncReactiveCommand is a variation of ReactiveCommand that `CanExecute`(in many cases bind to button's interactable) is changed to false until asynchronous execution was finished. + +```csharp +public class Presenter : MonoBehaviour +{ + public UnityEngine.UI.Button button; + + void Start() + { + var command = new AsyncReactiveCommand(); + + command.Subscribe(_ => + { + // heavy, heavy, heavy method.... + return Observable.Timer(TimeSpan.FromSeconds(3)).AsUnitObservable(); + }); + + // after clicked, button shows disable for 3 seconds + command.BindTo(button); + + // Note:shortcut extension, bind aync onclick directly + button.BindToOnClick(_ => + { + return Observable.Timer(TimeSpan.FromSeconds(3)).AsUnitObservable(); + }); + } +} +``` `AsyncReactiveCommand` has three constructor. @@ -1116,6 +1187,49 @@ Windows Store/Phone App (NETFX_CORE) Some interfaces, such as `UniRx.IObservable` and `System.IObservable`, cause conflicts when submitting to the Windows Store App. Therefore, when using NETFX_CORE, please refrain from using such constructs as `UniRx.IObservable` and refer to the UniRx components by their short name, without adding the namespace. This solves the conflicts. +async/await Support +--- +for the [Upgraded Mono/.Net in Editor on 5.5.0b4](https://forum.unity3d.com/threads/upgraded-mono-net-in-editor-on-5-5-0b4.433541/), Unity supports .NET 4.6 and C# 6 languages. UniRx provides `UniRxSynchronizationContext` for back to MainThread in Task multithreading. + +```csharp +async Task UniRxSynchronizationContextSolves() +{ + Debug.Log("start delay"); + + // UniRxSynchronizationContext is automatically used. + await Task.Delay(TimeSpan.FromMilliseconds(300)); + + Debug.Log("from another thread, but you can touch transform position."); + Debug.Log(this.transform.position); +} +``` + +UniRx also supports directly await Coroutine support type instad of yield return. + +```csharp +async Task CoroutineBridge() +{ + Debug.Log("start www await"); + + var www = await new WWW("https://unity3d.com"); + + Debug.Log(www.text); +} +``` + +Ofcourse, IObservable is awaitable. + +```csharp +async Task AwaitOnClick() +{ + Debug.Log("start mousedown await"); + + await this.OnMouseDownAsObservable().FirstOrDefault(); + + Debug.Log("end mousedown await"); +} +``` + DLL Separation --- If you want to pre-build UniRx, you can build own dll. clone project and open `UniRx.sln`, you can see `UniRx`, it is fullset separated project of UniRx. You should define compile symbol like `UNITY;UNITY_5_4_OR_NEWER;UNITY_5_4_0;UNITY_5_4;UNITY_5;` + `UNITY_EDITOR`, `UNITY_IPHONE` or other platform symbol. We can not provides pre-build binary to release page, asset store because compile symbol is different each other. @@ -1189,7 +1303,8 @@ Grani is a top social game developer in Japan. He is awarding Microsoft MVP for Visual C# since 2011. He is known as the creator of [linq.js](http://linqjs.codeplex.com/)(LINQ to Objects for JavaScript) -Blog: http://neue.cc/ (Japanese) +Blog: https://medium.com/@neuecc (English) +Blog: http://neue.cc/ (Japanese) Twitter: https://twitter.com/neuecc (Japanese) License diff --git a/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/CoroutineAsyncBridge.cs b/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/CoroutineAsyncBridge.cs index 16c71b06..c6a91256 100644 --- a/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/CoroutineAsyncBridge.cs +++ b/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/CoroutineAsyncBridge.cs @@ -11,6 +11,41 @@ namespace UniRx { + public class CoroutineAsyncBridge : INotifyCompletion + { + Action continuation; + public bool IsCompleted { get; private set; } + + CoroutineAsyncBridge() + { + IsCompleted = false; + } + + public static CoroutineAsyncBridge Start(T awaitTarget) + { + var bridge = new CoroutineAsyncBridge(); + MainThreadDispatcher.StartCoroutine(bridge.Run(awaitTarget)); + return bridge; + } + + IEnumerator Run(T target) + { + yield return target; + IsCompleted = true; + continuation(); + } + + public void OnCompleted(Action continuation) + { + this.continuation = continuation; + } + + public void GetResult() + { + if (!IsCompleted) throw new InvalidOperationException("coroutine not yet completed"); + } + } + public class CoroutineAsyncBridge : INotifyCompletion { readonly T result; @@ -56,9 +91,9 @@ public static CoroutineAsyncBridge GetAwaiter(this WWW www) return CoroutineAsyncBridge.Start(www); } - public static CoroutineAsyncBridge GetAwaiter(this Coroutine coroutine) + public static CoroutineAsyncBridge GetAwaiter(this Coroutine coroutine) { - return CoroutineAsyncBridge.Start(coroutine); + return CoroutineAsyncBridge.Start(coroutine); } public static CoroutineAsyncBridge GetAwaiter(this AsyncOperation asyncOperation) @@ -66,9 +101,9 @@ public static CoroutineAsyncBridge GetAwaiter(this AsyncOperatio return CoroutineAsyncBridge.Start(asyncOperation); } - public static CoroutineAsyncBridge GetAwaiter(this IEnumerator coroutine) + public static CoroutineAsyncBridge GetAwaiter(this IEnumerator coroutine) { - return CoroutineAsyncBridge.Start(coroutine); + return CoroutineAsyncBridge.Start(coroutine); } } } diff --git a/Assets/Scenes/UnitAssertion.unity b/Assets/Scenes/UnitAssertion.unity index 8178379f..53d156d5 100644 --- a/Assets/Scenes/UnitAssertion.unity +++ b/Assets/Scenes/UnitAssertion.unity @@ -79,17 +79,16 @@ NavMeshSettings: m_ObjectHideFlags: 0 m_BuildSettings: serializedVersion: 2 - agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 agentSlope: 45 agentClimb: 0.4 ledgeDropHeight: 0 maxJumpAcrossDistance: 0 + accuratePlacement: 0 minRegionArea: 2 - manualCellSize: 0 cellSize: 0.16666667 - accuratePlacement: 0 + manualCellSize: 0 m_NavMeshData: {fileID: 0} --- !u!1 &10903470 GameObject: @@ -603,6 +602,7 @@ MonoBehaviour: m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: + inputOverride: {fileID: 0} m_HorizontalAxis: Horizontal m_VerticalAxis: Vertical m_SubmitButton: Submit @@ -1042,7 +1042,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 2.6555839, y: 0} + m_AnchoredPosition: {x: 0.9702173, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 1} --- !u!114 &1517504916 diff --git a/Assets/UnitTests/Tools/TestUtil.cs b/Assets/UnitTests/Tools/TestUtil.cs index 531a60c1..4f212f5e 100644 --- a/Assets/UnitTests/Tools/TestUtil.cs +++ b/Assets/UnitTests/Tools/TestUtil.cs @@ -1,4 +1,6 @@ -using System; +#if !NETFX_CORE + +using System; using System.Collections; using System.Collections.Generic; using System.Reflection; @@ -147,3 +149,5 @@ static int GetTailDynamic(UniRx.InternalUtil.MicroCoroutine mc) } } } + +#endif \ No newline at end of file diff --git a/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll b/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll index ce7c54c6..bab7f6f3 100644 Binary files a/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll and b/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll differ diff --git a/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll.meta b/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll.meta index d5eda898..c5293a83 100644 --- a/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll.meta +++ b/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll.meta @@ -1,7 +1,20 @@ fileFormatVersion: 2 guid: 0562f00c58c2d6e47acc8d09249ad1e0 -MonoAssemblyImporter: +timeCreated: 1475196703 +licenseType: Pro +PluginImporter: serializedVersion: 1 iconMap: {} executionOrder: {} + isPreloaded: 0 + platformData: + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + DefaultValueInitialized: true userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset index 64ffd74d..057c661a 100644 --- a/ProjectSettings/GraphicsSettings.asset +++ b/ProjectSettings/GraphicsSettings.asset @@ -3,7 +3,7 @@ --- !u!30 &1 GraphicsSettings: m_ObjectHideFlags: 0 - serializedVersion: 9 + serializedVersion: 7 m_Deferred: m_Mode: 1 m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} @@ -38,16 +38,22 @@ GraphicsSettings: m_PreloadedShaders: [] m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} - m_TierSettings_Tier1: - renderingPath: 1 + m_ShaderSettings_Tier1: useCascadedShadowMaps: 1 - m_TierSettings_Tier2: - renderingPath: 1 + standardShaderQuality: 2 + useReflectionProbeBoxProjection: 1 + useReflectionProbeBlending: 1 + m_ShaderSettings_Tier2: useCascadedShadowMaps: 1 - m_TierSettings_Tier3: - renderingPath: 1 + standardShaderQuality: 2 + useReflectionProbeBoxProjection: 1 + useReflectionProbeBlending: 1 + m_ShaderSettings_Tier3: useCascadedShadowMaps: 1 - m_TierSettings: [] + standardShaderQuality: 2 + useReflectionProbeBoxProjection: 1 + useReflectionProbeBlending: 1 + m_BuildTargetShaderSettings: [] m_LightmapStripping: 0 m_FogStripping: 0 m_LightmapKeepPlain: 1 diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 47def5fd..954800dd 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -3,58 +3,34 @@ --- !u!129 &1 PlayerSettings: m_ObjectHideFlags: 0 - serializedVersion: 10 - productGUID: b286933f5059e50428b251ea31eb0f32 + serializedVersion: 6 AndroidProfiler: 0 defaultScreenOrientation: 0 targetDevice: 2 - useOnDemandResources: 0 + targetGlesGraphics: -1 + targetIOSGraphics: -1 + targetResolution: 0 accelerometerFrequency: 60 companyName: neuecc productName: UniRx + cloudProjectId: defaultCursor: {fileID: 0} cursorHotspot: {x: 0, y: 0} - m_SplashScreenBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21176471, a: 1} - m_ShowUnitySplashScreen: 1 - m_ShowUnitySplashLogo: 1 - m_SplashScreenOverlayOpacity: 1 - m_SplashScreenAnimation: 1 - m_SplashScreenLogoStyle: 1 - m_SplashScreenDrawMode: 0 - m_SplashScreenBackgroundAnimationZoom: 1 - m_SplashScreenLogoAnimationZoom: 1 - m_SplashScreenBackgroundLandscapeAspect: 1 - m_SplashScreenBackgroundPortraitAspect: 1 - m_SplashScreenBackgroundLandscapeUvs: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - m_SplashScreenBackgroundPortraitUvs: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - m_SplashScreenLogos: [] - m_SplashScreenBackgroundLandscape: {fileID: 0} - m_SplashScreenBackgroundPortrait: {fileID: 0} - m_VirtualRealitySplashScreen: {fileID: 0} - m_HolographicTrackingLossScreen: {fileID: 0} defaultScreenWidth: 1024 defaultScreenHeight: 768 defaultScreenWidthWeb: 960 defaultScreenHeightWeb: 600 + m_RenderingPath: 1 + m_MobileRenderingPath: 1 m_ActiveColorSpace: 0 m_MTRendering: 1 m_MobileMTRendering: 0 - m_StackTraceTypes: 010000000100000001000000010000000100000001000000 + m_UseDX11: 1 + m_Stereoscopic3D: 0 iosShowActivityIndicatorOnLoading: -1 androidShowActivityIndicatorOnLoading: -1 iosAppInBackgroundBehavior: 0 displayResolutionDialog: 1 - iosAllowHTTPDownload: 1 allowedAutorotateToPortrait: 1 allowedAutorotateToPortraitUpsideDown: 1 allowedAutorotateToLandscapeRight: 1 @@ -75,41 +51,23 @@ PlayerSettings: resizableWindow: 0 useMacAppStoreValidation: 0 gpuSkinning: 0 - graphicsJobs: 0 xboxPIXTextureCapture: 0 xboxEnableAvatar: 0 xboxEnableKinect: 0 xboxEnableKinectAutoTracking: 0 xboxEnableFitness: 0 visibleInBackground: 0 - allowFullscreenSwitch: 1 macFullscreenMode: 2 d3d9FullscreenMode: 1 d3d11FullscreenMode: 1 xboxSpeechDB: 0 xboxEnableHeadOrientation: 0 xboxEnableGuest: 0 - xboxEnablePIXSampling: 0 - n3dsDisableStereoscopicView: 0 - n3dsEnableSharedListOpt: 1 - n3dsEnableVSync: 0 - uiUse16BitDepthBuffer: 0 - ignoreAlphaClear: 0 xboxOneResolution: 0 - xboxOneMonoLoggingLevel: 0 - xboxOneLoggingLevel: 1 + ps3SplashScreen: {fileID: 0} videoMemoryForVertexBuffers: 0 psp2PowerMode: 0 psp2AcquireBGM: 1 - wiiUTVResolution: 0 - wiiUGamePadMSAA: 1 - wiiUSupportsNunchuk: 0 - wiiUSupportsClassicController: 0 - wiiUSupportsBalanceBoard: 0 - wiiUSupportsMotionPlus: 0 - wiiUSupportsProController: 0 - wiiUAllowScreenCapture: 1 - wiiUControllerCount: 0 m_SupportedAspectRatios: 4:3: 1 5:4: 1 @@ -119,37 +77,27 @@ PlayerSettings: bundleIdentifier: com.github.neuecc.unirx bundleVersion: 1.0 preloadedAssets: [] - metroInputSource: 0 - m_HolographicPauseOnTrackingLoss: 1 + metroEnableIndependentInputSource: 0 + metroEnableLowLatencyPresentationAPI: 0 xboxOneDisableKinectGpuReservation: 0 - singlePassStereoRendering: 0 - protectGraphicsMemory: 0 + productGUID: b286933f5059e50428b251ea31eb0f32 AndroidBundleVersionCode: 1 AndroidMinSdkVersion: 9 AndroidPreferredInstallLocation: 1 aotOptions: - apiCompatibilityLevel: 3 - stripEngineCode: 1 + apiCompatibilityLevel: 1 iPhoneStrippingLevel: 0 iPhoneScriptCallOptimization: 1 - iPhoneBuildNumber: 0 ForceInternetPermission: 0 ForceSDCardPermission: 0 CreateWallpaper: 0 APKExpansionFiles: 0 preloadShaders: 0 StripUnusedMeshComponents: 0 - VertexChannelCompressionMask: - serializedVersion: 2 - m_Bits: 238 iPhoneSdkVersion: 988 - iOSTargetOSVersionString: 6.0 - tvOSSdkVersion: 0 - tvOSRequireExtendedGameController: 0 - tvOSTargetOSVersionString: + iPhoneTargetOSVersion: 22 uIPrerenderedIcon: 0 uIRequiresPersistentWiFi: 0 - uIRequiresFullScreen: 1 uIStatusBarHidden: 1 uIExitOnSuspend: 0 uIStatusBarStyle: 0 @@ -163,10 +111,6 @@ PlayerSettings: iPadHighResPortraitSplashScreen: {fileID: 0} iPadLandscapeSplashScreen: {fileID: 0} iPadHighResLandscapeSplashScreen: {fileID: 0} - appleTVSplashScreen: {fileID: 0} - tvOSSmallIconLayers: [] - tvOSLargeIconLayers: [] - tvOSTopShelfImageLayers: [] iOSLaunchScreenType: 0 iOSLaunchScreenPortrait: {fileID: 0} iOSLaunchScreenLandscape: {fileID: 0} @@ -174,24 +118,9 @@ PlayerSettings: serializedVersion: 2 rgba: 0 iOSLaunchScreenFillPct: 100 - iOSLaunchScreenSize: 100 iOSLaunchScreenCustomXibPath: - iOSLaunchScreeniPadType: 0 - iOSLaunchScreeniPadImage: {fileID: 0} - iOSLaunchScreeniPadBackgroundColor: - serializedVersion: 2 - rgba: 0 - iOSLaunchScreeniPadFillPct: 100 - iOSLaunchScreeniPadSize: 100 - iOSLaunchScreeniPadCustomXibPath: - iOSDeviceRequirements: [] - iOSURLSchemes: [] - iOSBackgroundModes: 0 - iOSMetalForceHardShadows: 0 - appleDeveloperTeamID: AndroidTargetDevice: 0 AndroidSplashScreenScale: 0 - androidSplashScreen: {fileID: 0} AndroidKeystoreName: AndroidKeyaliasName: AndroidTVCompatibility: 1 @@ -201,98 +130,20 @@ PlayerSettings: - width: 320 height: 180 banner: {fileID: 0} - androidGamepadSupportLevel: 0 resolutionDialogBanner: {fileID: 0} m_BuildTargetIcons: - m_BuildTarget: m_Icons: - - serializedVersion: 2 - m_Icon: {fileID: 0} - m_Width: 128 - m_Height: 128 + - m_Icon: {fileID: 0} + m_Size: 1 m_BuildTargetBatching: [] - m_BuildTargetGraphicsAPIs: [] - m_BuildTargetVRSettings: - - m_BuildTarget: Android - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: Metro - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: N3DS - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: PS3 - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: PS4 - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: PSM - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: PSP2 - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: SamsungTV - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: Standalone - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: Tizen - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: WebGL - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: WebPlayer - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: WiiU - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: Xbox360 - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: XboxOne - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: iOS - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: tvOS - m_Enabled: 0 - m_Devices: [] - openGLRequireES31: 0 - openGLRequireES31AEP: 0 webPlayerTemplate: APPLICATION:Default m_TemplateCustomTags: {} - wiiUTitleID: 0005000011000000 - wiiUGroupID: 00010000 - wiiUCommonSaveSize: 4096 - wiiUAccountSaveSize: 2048 - wiiUOlvAccessKey: 0 - wiiUTinCode: 0 - wiiUJoinGameId: 0 - wiiUJoinGameModeMask: 0000000000000000 - wiiUCommonBossSize: 0 - wiiUAccountBossSize: 0 - wiiUAddOnUniqueIDs: [] - wiiUMainThreadStackSize: 3072 - wiiULoaderThreadStackSize: 1024 - wiiUSystemHeapSize: 128 - wiiUTVStartupScreen: {fileID: 0} - wiiUGamePadStartupScreen: {fileID: 0} - wiiUDrcBufferDisabled: 0 - wiiUProfilerLibPath: actionOnDotNetUnhandledException: 1 enableInternalProfiler: 0 logObjCUncaughtExceptions: 1 enableCrashReportAPI: 0 - cameraUsageDescription: locationUsageDescription: - microphoneUsageDescription: XboxTitleId: XboxImageXexPath: XboxSpaPath: @@ -303,6 +154,24 @@ PlayerSettings: xboxAdditionalTitleMemorySize: 0 xboxDeployKinectHeadOrientation: 0 xboxDeployKinectHeadPosition: 0 + ps3TitleConfigPath: + ps3DLCConfigPath: + ps3ThumbnailPath: + ps3BackgroundPath: + ps3SoundPath: + ps3NPAgeRating: 12 + ps3TrophyCommId: + ps3NpCommunicationPassphrase: + ps3TrophyPackagePath: + ps3BootCheckMaxSaveGameSizeKB: 128 + ps3TrophyCommSig: + ps3SaveGameSlots: 1 + ps3TrialMode: 0 + ps3VideoMemoryForAudio: 0 + ps3EnableVerboseMemoryStats: 0 + ps3UseSPUForUmbra: 0 + ps3EnableMoveSupport: 1 + ps3DisableDolbyEncoding: 0 ps4NPAgeRating: 12 ps4NPTitleSecret: ps4NPTrophyPackPath: @@ -314,61 +183,32 @@ PlayerSettings: ps4AppType: 0 ps4ParamSfxPath: ps4VideoOutPixelFormat: 0 - ps4VideoOutInitialWidth: 1920 - ps4VideoOutReprojectionRate: 120 + ps4VideoOutResolution: 4 ps4PronunciationXMLPath: ps4PronunciationSIGPath: ps4BackgroundImagePath: ps4StartupImagePath: ps4SaveDataImagePath: - ps4SdkOverride: ps4BGMPath: ps4ShareFilePath: - ps4ShareOverlayImagePath: - ps4PrivacyGuardImagePath: ps4NPtitleDatPath: ps4RemotePlayKeyAssignment: -1 - ps4RemotePlayKeyMappingDir: - ps4PlayTogetherPlayerCount: 0 ps4EnterButtonAssignment: 1 ps4ApplicationParam1: 0 ps4ApplicationParam2: 0 ps4ApplicationParam3: 0 ps4ApplicationParam4: 0 - ps4DownloadDataSize: 0 - ps4GarlicHeapSize: 2048 ps4Passcode: eaoEiIgxIX4a2dREbbSqWy6yhKIDCdJO - ps4UseDebugIl2cppLibs: 0 ps4pnSessions: 1 ps4pnPresence: 1 ps4pnFriends: 1 ps4pnGameCustomData: 1 playerPrefsSupport: 0 - restrictedAudioUsageRights: 0 - ps4UseResolutionFallback: 0 - ps4ReprojectionSupport: 0 - ps4UseAudio3dBackend: 0 - ps4SocialScreenEnabled: 0 - ps4ScriptOptimizationLevel: 3 - ps4Audio3dVirtualSpeakerCount: 14 - ps4attribCpuUsage: 0 - ps4PatchPkgPath: - ps4PatchLatestPkgPath: - ps4PatchChangeinfoPath: - ps4PatchDayOne: 0 - ps4attribUserManagement: 0 - ps4attribMoveSupport: 0 - ps4attrib3DSupport: 0 - ps4attribShareSupport: 0 - ps4attribExclusiveVR: 0 - ps4disableAutoHideSplash: 0 - ps4IncludedModules: [] monoEnv: psp2Splashimage: {fileID: 0} psp2NPTrophyPackPath: psp2NPSupportGBMorGJP: 0 psp2NPAgeRating: 12 - psp2NPTitleDatPath: psp2NPCommsID: psp2NPCommunicationsID: psp2NPCommsPassphrase: @@ -383,7 +223,6 @@ PlayerSettings: psp2PatchOriginalPackage: psp2PackagePassword: F69AzBlax3CF3EDNhm3soLBPh71Yexui psp2KeystoneFile: - psp2MemoryExpansionMode: 0 psp2DRMType: 0 psp2StorageType: 0 psp2MediaCapacity: 0 @@ -410,39 +249,15 @@ PlayerSettings: psp2UseLibLocation: 0 psp2InfoBarOnStartup: 0 psp2InfoBarColor: 0 - psp2UseDebugIl2cppLibs: 0 psmSplashimage: {fileID: 0} - splashScreenBackgroundSourceLandscape: {fileID: 0} - splashScreenBackgroundSourcePortrait: {fileID: 0} spritePackerPolicy: - webGLMemorySize: 256 - webGLExceptionSupport: 1 - webGLDataCaching: 0 - webGLDebugSymbols: 0 - webGLEmscriptenArgs: - webGLModulesDirectory: - webGLTemplate: APPLICATION:Default - webGLAnalyzeBuildSize: 0 - webGLUseEmbeddedResources: 0 - webGLUseWasm: 0 - webGLCompressionFormat: 1 scriptingDefineSymbols: 4: Exception - platformArchitecture: - iOS: 1 - scriptingBackend: - Android: 0 - Metro: 2 - Standalone: 0 - WP8: 2 - WebGL: 1 - iOS: 1 - incrementalIl2cppBuild: - iOS: 0 - additionalIl2CppArgs: - m_RenderingPath: 1 - m_MobileRenderingPath: 1 metroPackageName: UnityRx + metroPackageLogo: + metroPackageLogo140: + metroPackageLogo180: + metroPackageLogo240: metroPackageVersion: 1.0.0.0 metroCertificatePath: Assets/WSATestCertificate.pfx metroCertificatePassword: @@ -450,7 +265,44 @@ PlayerSettings: metroCertificateIssuer: neuecc metroCertificateNotAfter: 8094c35e0586d201 metroApplicationDescription: UnityRx - wsaImages: {} + metroStoreTileLogo80: + metroStoreTileLogo: + metroStoreTileLogo140: + metroStoreTileLogo180: + metroStoreTileWideLogo80: + metroStoreTileWideLogo: + metroStoreTileWideLogo140: + metroStoreTileWideLogo180: + metroStoreTileSmallLogo80: + metroStoreTileSmallLogo: + metroStoreTileSmallLogo140: + metroStoreTileSmallLogo180: + metroStoreSmallTile80: + metroStoreSmallTile: + metroStoreSmallTile140: + metroStoreSmallTile180: + metroStoreLargeTile80: + metroStoreLargeTile: + metroStoreLargeTile140: + metroStoreLargeTile180: + metroStoreSplashScreenImage: + metroStoreSplashScreenImage140: + metroStoreSplashScreenImage180: + metroPhoneAppIcon: + metroPhoneAppIcon140: + metroPhoneAppIcon240: + metroPhoneSmallTile: + metroPhoneSmallTile140: + metroPhoneSmallTile240: + metroPhoneMediumTile: + metroPhoneMediumTile140: + metroPhoneMediumTile240: + metroPhoneWideTile: + metroPhoneWideTile140: + metroPhoneWideTile240: + metroPhoneSplashScreenImage: + metroPhoneSplashScreenImage140: + metroPhoneSplashScreenImage240: metroTileShortName: metroCommandLineArgsFile: metroTileShowName: 1 @@ -467,25 +319,30 @@ PlayerSettings: metroFTAFileTypes: [] metroProtocolName: metroCompilationOverrides: 1 + blackberryDeviceAddress: + blackberryDevicePassword: + blackberryTokenPath: + blackberryTokenExires: + blackberryTokenAuthor: + blackberryTokenAuthorId: + blackberryCskPassword: + blackberrySaveLogPath: + blackberrySharedPermissions: 0 + blackberryCameraPermissions: 0 + blackberryGPSPermissions: 0 + blackberryDeviceIDPermissions: 0 + blackberryMicrophonePermissions: 0 + blackberryGamepadSupport: 0 + blackberryBuildId: 0 + blackberryLandscapeSplashScreen: {fileID: 0} + blackberryPortraitSplashScreen: {fileID: 0} + blackberrySquareSplashScreen: {fileID: 0} tizenProductDescription: tizenProductURL: - tizenSigningProfileName: + tizenCertificatePath: + tizenCertificatePassword: tizenGPSPermissions: 0 tizenMicrophonePermissions: 0 - tizenDeploymentTarget: - tizenDeploymentTargetType: 53 - tizenMinOSVersion: 0 - n3dsUseExtSaveData: 0 - n3dsCompressStaticMem: 1 - n3dsExtSaveDataNumber: 0x12345 - n3dsStackSize: 131072 - n3dsTargetPlatform: 2 - n3dsRegion: 7 - n3dsMediaSize: 0 - n3dsLogoStyle: 3 - n3dsTitle: GameName - n3dsProductCode: - n3dsApplicationId: 0xFF3FF stvDeviceAddress: stvProductDescription: stvProductAuthor: @@ -502,30 +359,36 @@ PlayerSettings: XboxOnePackagingOverridePath: XboxOneAppManifestOverridePath: XboxOnePackageEncryption: 0 - XboxOnePackageUpdateGranularity: 2 XboxOneDescription: - XboxOneLanguage: - - enus - XboxOneCapability: [] - XboxOneGameRating: {} XboxOneIsContentPackage: 0 XboxOneEnableGPUVariability: 0 XboxOneSockets: {} XboxOneSplashScreen: {fileID: 0} XboxOneAllowedProductIds: [] XboxOnePersistentLocalStorageSize: 0 - vrEditorSettings: {} - cloudServicesEnabled: - Analytics: 0 - Build: 0 - Collab: 0 - ErrorHub: 0 - Game_Performance: 0 - Hub: 0 - Purchasing: 0 - UNet: 0 - Unity_Ads: 0 - cloudProjectId: - projectName: - organizationId: - cloudEnabled: 0 + intPropertyNames: + - Metro::ScriptingBackend + - WP8::ScriptingBackend + - WebGL::ScriptingBackend + - WebGL::audioCompressionFormat + - WebGL::exceptionSupport + - WebGL::memorySize + - iOS::Architecture + - iOS::ScriptingBackend + Metro::ScriptingBackend: 2 + WP8::ScriptingBackend: 2 + WebGL::ScriptingBackend: 1 + WebGL::audioCompressionFormat: 4 + WebGL::exceptionSupport: 0 + WebGL::memorySize: 256 + iOS::Architecture: 2 + iOS::ScriptingBackend: 0 + boolPropertyNames: + - WebGL::dataCaching + WebGL::dataCaching: 0 + stringPropertyNames: + - WebGL::emscriptenArgs + - WebGL::template + WebGL::emscriptenArgs: + WebGL::template: APPLICATION:Default + firstStreamedLevelWithResources: 0 diff --git a/README.md b/README.md index e92fe77d..2b2f074e 100644 --- a/README.md +++ b/README.md @@ -1187,6 +1187,49 @@ Windows Store/Phone App (NETFX_CORE) Some interfaces, such as `UniRx.IObservable` and `System.IObservable`, cause conflicts when submitting to the Windows Store App. Therefore, when using NETFX_CORE, please refrain from using such constructs as `UniRx.IObservable` and refer to the UniRx components by their short name, without adding the namespace. This solves the conflicts. +async/await Support +--- +for the [Upgraded Mono/.Net in Editor on 5.5.0b4](https://forum.unity3d.com/threads/upgraded-mono-net-in-editor-on-5-5-0b4.433541/), Unity supports .NET 4.6 and C# 6 languages. UniRx provides `UniRxSynchronizationContext` for back to MainThread in Task multithreading. + +```csharp +async Task UniRxSynchronizationContextSolves() +{ + Debug.Log("start delay"); + + // UniRxSynchronizationContext is automatically used. + await Task.Delay(TimeSpan.FromMilliseconds(300)); + + Debug.Log("from another thread, but you can touch transform position."); + Debug.Log(this.transform.position); +} +``` + +UniRx also supports directly await Coroutine support type instad of yield return. + +```csharp +async Task CoroutineBridge() +{ + Debug.Log("start www await"); + + var www = await new WWW("https://unity3d.com"); + + Debug.Log(www.text); +} +``` + +Ofcourse, IObservable is awaitable. + +```csharp +async Task AwaitOnClick() +{ + Debug.Log("start mousedown await"); + + await this.OnMouseDownAsObservable().FirstOrDefault(); + + Debug.Log("end mousedown await"); +} +``` + DLL Separation --- If you want to pre-build UniRx, you can build own dll. clone project and open `UniRx.sln`, you can see `UniRx`, it is fullset separated project of UniRx. You should define compile symbol like `UNITY;UNITY_5_4_OR_NEWER;UNITY_5_4_0;UNITY_5_4;UNITY_5;` + `UNITY_EDITOR`, `UNITY_IPHONE` or other platform symbol. We can not provides pre-build binary to release page, asset store because compile symbol is different each other.