Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Sunshine! - Official Thread

Discussion in 'Assets and Asset Store' started by PolyVector, Aug 1, 2013.

  1. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    @tripknotix
    Light Scatter works on mobile devices that support the Depth RenderTextureFormat, since screen space depth is required. I'm not familiar with that device, but if it's older then chances are it's not compatible. :/

    Be sure to apply the small bug fix I posted about recently to eliminate that as a cause.

    The feature list is on the site (UnitySunshine.com), but could admittedly be more detailed.
     
  2. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    Yeah to be honest im not sure, it says it is online, and some features that require that do work, and other dont, like real time shadows dont, but man post effects do. its very confusing. i think it may be a certain version of ANdroid thats required to see some effects as well? possibly. like 2.3 might include depth rendertextureformat but then 3.0 might include very specific extensions that you use with it to make it do more. and this wouldnt be obvious to Unity Technologies or you. so im not sure =/ Besides OpenGL es2 didnt make any forced requirements so its possibly my device has it half added, and half not added.

    But it would be great for the desktop version atleast.

    but yeah i mean ill have to write some shaders for it to support some of the more advanced "simple" shading in my game, such as cubemap reflections, if you look at these screen shots id like to be able to keep the shaders, but add support for your features, i think ill have to do the opposite though and modify your existing shaders and add the cubemaps and such https://play.google.com/store/apps/details?id=net.RealDefinition.FutureOpsOnlineAlpha im not sure if you can see the cubemaps in the ss since if hteyre standing still it doesnt make it obvious, hmmm.
     
  3. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    @tripknotix
    Your game looks good, I think I can see a hint of cubemaps in there. I forgot to suggest turning on the Debug Status in Sunshine to spit out what features it thinks are working.

    It shouldn't be too hard to tweak the Built-In cubemap shaders to add sunshine support (If they aren't included, I don't recall)

    If you have trouble getting them to work send them my way and I'll see what I can do. :)
     
  4. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    well i'll give you my characters script, which doesnt use any lighting, just ambient lighting. for performance enhancements while maintaining atmosphere color of the map,

    I havent purchased your product yet but i am on the fence about it today. Because if i could get a tweaked light scatter effect to work for supported devices, i think it would definitely give more graphics credibility.

    Also in order to turn shadows off, but keep lighting scatter on, at run time, would i have to change renderers, or is it an option i can flip on and off at run time. I dont mind tossing 2 renderers on the camera, and just switching between the 2 of them, but my game is very much a "every post effect is switchable" due to the wide range of devices using my game.
     
  5. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    Its named RD just for Real Definition, your more than welcome to name it what you want. but its an unlit, ambient light only shader that i use for characters. you can see it in action if you look at the zombie maps in my game. Characters are shaded night-blue like the rest of the map.
    Code (csharp):
    1.  
    2. Shader "Mobile/RD Ambient Lit Texture" {
    3.  
    4. Properties {
    5.     _MainTex ("Texture", 2D) = ""
    6. }
    7.  
    8. SubShader {
    9.     Lighting On
    10.     Material {Ambient (4, 4, 4)}
    11.     Pass{
    12.         SetTexture[_MainTex] {Combine texture * primary}
    13.     }
    14. }
    15.  
    16. }
    17.  
     
  6. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    @tripknotix

    Ohhhhh, I thought you were trying to integrate it right now, must have misread. :)

    Scatter doesn't require shadows, so if you don't install the Forward Shaders (for shadow receiving) you would simply get the Post Process effect.

    Once you have the Sunshine prefab in your scene and SunshineCamera attached to your camera(s), You should be able to enable/disable SunshineCamera as you would with any postprocess effect.

    Of course, if it's not compatible with your droid, it's all moot. ;)

    I'm not familiar with ShaderLab TBH, but unlit shaders don't receive directional light in the first place so shadows might prove awkward.
     
  7. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    Oh i c, so it requires the light, to automatically grab its direction then. so to do all the fancy tricks it doesnt just need to be inside the code, it needs to know the lights details. i understand. i was thinking purely from a, it happens like magic without unitys light system =P my mistake
     
  8. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    Well it does work without the built-in shadow system, but it attempts to behave the same way, so a directional light is required. :)
     
  9. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    what about the god rays, does that work without having shadows turned on? like is scatter and god rays the same, thats the effect im after.
     
  10. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    @tripknotix
    You're right, Scatter = God Rays = Volumetric Light. It's all the same thing. I don't call it "God Rays" or "Sun Shafts" simply because most people think of those as screen-space effects, and Sunshine's implementation is volumetric.

    You don't need to have Sunshine's Forward Shaders installed (which means no Sunshine Shadows) to use Scatter, but you do need to have the Light's Shadows property turned on for Sunshine to recognize that you want to render a ShadowMap... Although I'm beginning to consider dropping this requirement in case people don't want shadows at all... It's only there to attempt to mimic the built-in shadow behavior. ;)
     
  11. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    Yeah, might wanna do so! If I hit the indie-game lottery and buy Sunshine :D then for beautiful rays, but I probably still wouldn't replace all my materials's shaders with the limited sub-set of replacements implemented in some fashion or another by Sunshine. As I rely on echoLogin's "CORE framework" fast replacement shaders, which does its own shadow shading but relying on Unity shadowmaps somehow, anyway they're fast and good and I don't see me dropping them for soft shadows anytime soon. Still, Sunshine's volumetric rays are stunning.

    In fact, if you separated the two into two packages (or a Basic rays-only and a Pro rays+soft-shadows edition), I'd grab the rays edition a lot sooner :p
     
  12. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    that is confusing, if the lights shadow property is on, it might cause real hardware shadows to render instead of the shadows youve setup. does your system tell unity not to render its shadows?.

    I very much want to bake light maps, but have real time player shadows, and have the scatter effect.
     
  13. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    Also i cant wait till you make it limited on distance, that is going to be a major performance improvement.
     
  14. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    @metaleap
    I'm sure we'll eventually put Sunshine on sale and you'll be able to get it cheaper, if price is the only limiting factor.
    Edit: I forgot to mention that you can use the Light Scatter/Rays without shadows in Sunshine (making it CORE framework compatible), in case I haven't made that clear (I'm a bit scatter-brained at the moment)... Of course, as you pointed out, you'd still have to buy the whole package.

    @tripknotix
    Yes, Sunshine tells Unity not to render built-in shadows, but it attempts to respect the setting for itself... It does this by momentarily disabling the setting during rendering, and restoring it afterwards.

    I'll be working on the next release in the coming weeks. I have a massive todo list at this point, but I'm hoping to experiment with mobile improvements, better deferred support, and a host of other features/fixes...

    One of many ideas I want to explore is caching the ShadowMap until the camera has moved X amount... This could be great for mobile games that need dynamic objects/characters to receive shadows from static geometry, but don't need the ShadowMap updated every frame... It would certainly perform much better on an Ouya.

    This will be an interesting month for Sunshine. :D
     
    Last edited: Sep 3, 2013
  15. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    Not just about the price, my point: it's just a fact that the rays are awesome while the soft shadows come with some pretty substantial implications that in quite a few cases are rather impractical. Such as the limited support for only Sunshine-provided surface shaders, if I understood this correctly. If the rays work independently of the shadows, then a separate rays-only edition might really make a lot of sense for the Asset Store adience... give it a thought :cool:
     
  16. RenOli

    RenOli

    Joined:
    Jan 23, 2013
    Posts:
    102
    hey.. I did it 60 fps on OUYA in a test.. ;D

    35-45 with a tree and 3 more objects casting shadow.. pretty good to me :D

    only one question and a request.

    I used light map but in ouya the shadow is not going on it... are the objects ignoring it or just not rendering it, if it is ignoring it is good :) if it is just not showing maybe it something that you could do, ignore where are the lightmaps :D

    And something I would like to see, is a recieving layer shadow.. there is the cast, that would be awesome if it could choose which receives. :)

    Thank you very much. :)
     
  17. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    @metaleap
    I'll think about it, but since you aren't forced into using shadows, I don't know that it's necessary. 99% of the code would need to be included , since the scatter relies on shadowmaps and the Sunshine shader helpers. :/

    @RenOli
    That's great news!
    Right now anything using a Sunshine shader is/should be a receiver. There is no way for me to create a receiver layermask setting (that I'm aware of, I would love to add this!) since Unity doesn't give that kind of granular control over rendering... It would require controlling shader properties per layer, which is't possible.

    To get around this I'm looking into adding a "manual" install mode, so you can individually control which materials are using Sunshine shaders, instead of them being forced on you.
     
  18. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    to be honest i have no idea how the shadows will work with my game, but i will get it anyway for the light scatter effect. Between Big crates when players are going between them, its hard to tell if the players will receive a shadow cast from an object that has its shadows baked, if it will look off, but regardless i can atleast cast the shadows from it, that seems reasonable.

    would there be an issue with the floor having its own baked shadow map, and additionally having the players shadow projecting onto it? or does this turn 1 of the shadows off.
     
  19. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    @tripnotix
    In my tests, baked (dual) lightmaps blend nicely with dynamic shadows.

    If you're targeting mobile, make sure your target device supports Depth textures, since they're required for Scatter. ;)
     
  20. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    Has anyone tested this and got screenshots of what it looks like on iPhone? What's the performance like?
    Is this compatible with Unity 3.5.7?
     
  21. anadin

    anadin

    Joined:
    Oct 28, 2005
    Posts:
    98
    @PolyVector, don't suppose you own Marmoset Skyshop do you?, having a bit of a struggle integrating sunshine with it - a few too many include files :) we are starting a project where the Marmoset shaders have been specified but of course Unity mobile shadows are waaay too slow.
     
  22. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    @I am da bawss
    It is compatible with Unity 3.5.7, but I'll have to let others with iPhone experience attest to the performance. I do know that a number of devs are using it with an iPhone.

    @anadin
    I don't have a copy of Marmoset Skyshop, but it does seem like they might be a bit much for Mobile use... Some of those shader packs can be elaborate, so I can imagine it being hard to integrate. If Unity's built-in shadows are far too slow for you, I wouldn't assume Sunshine will be significantly faster. Depending on the situation and your particular bottleneck, it can range from moderately faster to moderately slower... it's just different.
     
  23. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    Hi Everyone!
    Just a heads up that Sunshine 1.4.0 is nearing completion, and I could use some beta testers!
    If you'd like to help beta test the new version, shoot me a PM with your Invoice Number and I'll send you a copy. Hopefully we'll squash any obvious bugs before it goes gold. ;)

    Here's some of the more notable improvements:
    • Deferred Shadows! - This has to be the number one requested feature! So I found a way to pull it off. ;)
    • Update Intervals - You can now update the ShadowMap Every Frame, After X Frames, or After X Camera Movement... These settings can noticeably improve Mobile performance!
    • Manual Install mode, to let you decide which Materials use Sunshine Shaders... This allows you to prevent specific materials from receiving shadows, and improve performance.
    • Added SunshineRenderer - This optional class (Unity 4.1+ only) attaches to objects with a Renderer, allowing Sunshine to respect the "Receive Shadows" option... It's good for preventing specific objects from receiving shadows, without creating a new Material.
    • Improved Overcast Shadow blending with Shadows... Looks much nicer now.
    • Fixed post processing on some tiled GPUs (like Nexus 7 2013)
    • Shader Optimizations!
    • Tons of bug fixes!
     
  24. RenOli

    RenOli

    Joined:
    Jan 23, 2013
    Posts:
    102

    I sent you a PM. :D
     
  25. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    Hey guys, I just added the Custom Shadow Bounds feature in the beta... I know a lot of Mobile devs have been asking for this, but I would love to have more testers before releasing to the Asset Store!

    Just PM me with your Invoice Number and I'll send you a copy! :)
     
  26. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    These Future Ops Online screenshots might give an idea on how things are lit up when using Sunshine (You and other players). The volume-metric light can be used as fog/sand/rain.

    $future_ops_ss1.png

    $future_ops_ss2.png

    $future_ops_ss3.png
     
  27. cl-apps

    cl-apps

    Joined:
    Mar 16, 2013
    Posts:
    128
    Just doing some tests with the latest beta and for me Sunshine doesn't appear to be working at all. The Shaders are all replaced but there is no difference to the game in the editor or on the iPhone. I'm not entirely sure why it isn't working... I had it working in the project before. This is a mobile project running in Unity 4.2.1 Pro
     
  28. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    when you update you gotta refix the settings, also try hitting "uninstall shaders, reinstall shaders" see if that fixes it
     
  29. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,816


    Hey Joe can you send a before and after photo of what it looks like on the OUYA with it and without it?
     
  30. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    @cl-apps
    Try uninstalling/reinstalling as tripknotix suggested... I've noticed this problem too, and I think the "Installed" flag isn't refreshing properly for some reason. :/

    @Meltdown
    Welcome to the club! :)
     
  31. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    Just a question - what platform is Future Ops Online targetting?
     
  32. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    Mobile, Android currently, and its on Kongregate. but mobile performance is the target
     
  33. cl-apps

    cl-apps

    Joined:
    Mar 16, 2013
    Posts:
    128
    Yep that did it! :)
     
  34. cl-apps

    cl-apps

    Joined:
    Mar 16, 2013
    Posts:
    128
    Feedback on the beta so far is yes Sunshine all works and the light scattering on iPhone works well now without have to turn off diffuse filtering and running in full res.

    The start up time is still a little slow on iPhone.

    Haven't had a chance to play with the frame effects changes to speed up mobile but at the moment my findings are a 30FPS game reduces to 20FPS with Sunshine. But I have a complicated jungle scene and haven't got round to limiting the number of items that cast shadows which I'm sure would speed my scene up.
     
  35. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    @cl-apps

    Start Up Time - I'm still looking into this issue, I was hoping it would have at least improved since the Scatter shader contains 1/2 the permutations now. The current work-around is to delete the Scatter "Desktop" Subshader, and edit your mobile shaders' multi_compile line to only contain the Filter you're using.

    iPhone Scatter - I'm so glad to hear this issue is finally solved! It was quite tricky to track down, but I'm now confident it was due to differences in the way Unity handles RenderTextures on "Tiled GPUs". :)

    30fps->20fps - This sounds about right if everything is casting a shadow. In a jungle scene, it might look good to limit the shadow casters to static geometry and trees only, then set the Frame Interval to something other than Every Frame.
     
  36. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    Well guys, I think that's pretty much it for this beta! Unless there are any outstanding stability/regression issues, I'll probably be submitting it tonight or tomorrow so everybody can benefit from the new features. :D

    I'm not sure what happened to all that enthusiasm for Deferred Shadows?! It'd be great to get confirmation that they're working properly before release. :|
     
  37. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    Hey all,

    Sunshine 1.4.0 has just been submitted to the Asset Store! Hope you all enjoy it!
     
  38. cl-apps

    cl-apps

    Joined:
    Mar 16, 2013
    Posts:
    128
    I wasn't personally too bothered about deferred shadows on the iPhone. But since the launch of the iphone 5S and support for OpenGL ES 3.0 Sunshine should run smooth as silk along with deferred rendering... Need to get my hands on one though before I get too excited :)
     
  39. Skunkie

    Skunkie

    Joined:
    Jul 2, 2012
    Posts:
    75
    Sunshine 1.4.0 has been approved!

    • Major overhaul! (again!)
    • Deferred Shadows! No need to swap out existing shaders! See Readme.html for details!
    • Update Intervals - You can now update the ShadowMap Every Frame, After X Frames, After X Camera Movement, or Manually...
    • Manual Install mode - For controlling which Materials use Sunshine Shaders... This gives you control over which materials recieve shadows to improve performance.
    • Added SunshineRenderer - This Optional component can be attached to GameObjects with a Renderer to respect the Receive Shadows option.
    • Improved the quality and performance of Overcast Shadow blending.
    • Fixed Light Scatter issues on some tiled GPUs (Nexus 7 2013, and some iPhones)
    • Fixed SunshineEditor's "disabled controls"
    • Optimizations!
    • Tons of Bug Fixes!
    • Readme has moved to Documentation.pdf
     
  40. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    Wait are you saying Sunshine shadows scatters now work with and and all shaders on our geometry? That'd be highly compelling. (If so, would this also apply to Forward rendering?)
     
  41. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    @metaleap
    By "Deferred Shadows" I meant shadows in the Deferred Renderer, not a deferred shadow technique for the Forward Renderer. :)

    This works because shadows in the Deferred Renderer are calculated in a fullscreen pass.
     
  42. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    Sounds real neat but what I was actually wondering was if you still only support a limited number of known / Sunshine-provided shaders on arbitrary geometry or if all this lovely stuff now works with any and all surface shaders -- asking because "No need to swap out existing shaders"
     
  43. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    Forward - Requires shader modification to receive shadows (not needed for Scatter), but it comes with most built-in shaders pre-modified for you, and detailed instructions.

    Deferred - Requires no shader modification, because it comes with a modified PrePass shader.

    This is all made clear in [The Manual]. :rolleyes:
     
  44. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    Hey everyone!

    There's been a lot of questions about the differences between [Sunshine!] and [Shadow Softener], so I thought I'd attempt to clarify here:

    Sunshine
    A shadow implementation that's completely separate from the built-in one, yet tries to match settings/behavior as closely as possible.

    Pros:
    • Has access to all shadow data, to do things like Volumetric Lighting... I have plans to explore other effects as well, I've just been too busy adding requested features!
    • Has a great Overcast Shadow effect. This is better than any "Light Cookie" thing built-in. It blends nicely, and uses a virtual "cloud plane" with adjustable height for calculations.
    • Up to PCF4x4 filtering.
    • Can run on normally unsupported platforms like Ouya/Tegra 3 devices
    • Control over when the shadow map should be refreshed (ie. after X frames, or after the camera moves X amount, even manually).. Great for Mobile
    • Control over the shadow bounds... so you can have it match your main character, using a low 128x128 shadow map can be more than enough... Also great for Mobile.
    • Many little niceties like MSAA-friendliness, Alpha objects that can cast cutout shadows, etc.
    • Reduced Fillrate - One of the reasons I wrote Sunshine is I was working on an app that would slow down with built-in shadows because it ran at a high resolution and the extra "collector" pass was too much fill. Sunshine has no "collector" pass. ;)
    Cons:
    • Only works with a single Directional Light
    • Requires changes to shaders if you use the Forward Renderer (Deferred is automatic), but pretty much every built-in shader is already edited for you, and Sunshine will automatically swap them in/out as you require.
    Shadow Softener:
    A system to control the way the existing built-in shadows are sampled.

    Pros:
    • Support for any number of Directional and Spot lights.
    • Support for Unity Free (they allow shadows on a single Directional Light)
    • Support for up to PCF8x8!
    • Support for Custom Filters
    • In the Forward Renderer, you don't have to edit every shader, you can simply tweak shaders you feel could use extra soft shadows (floors/walls). Sunshine is more of an all-or-nothing system. If you use the Deferred Renderer, it's all automatic, just like Sunshine. ;)
    Cons:
    • Only runs on platforms where the built-in shadows already work, so no Ouya support.
    • Large PCF kernels often run into "Shadow Acne" problems, but I'm using some per-sample bias trickery to eliminate it as much as possible.
     
    Last edited: Sep 12, 2013
  45. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    Has anyone tested this with Galaxy S4, or HTC One? with a sunshine shader applied to an object?
     
  46. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
  47. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    @tripknotix

    Did you not wind up using the shadows? I just saw scatter.
     
  48. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    Shadows work on the docks map. Currently, i have not modified the terrain to use shadows but i will definitely attempt it after i fix a bug. i cant tell if its from sunshine, or some other shader, but almost no Adreno 320 devices can play the game now.

    i keep seeing this error in the crash reports
    libsc-a3xx.__link_shaders(__link_shaders:
    which is a well known error on adreno 320 devices, when using glLinkProgram

    so pretty much everyone with a galaxy s4, htc one, or nexus 4, or lg optimus g cant seem to play my game. its very hard to track down, thats why i was wondering if you had tested it on any of those devices yet.
     
  49. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    @tripknotix

    Haven't tested with any of those devices, sorry.

    I just own an Ouya, and a Nexus 7 2013 right now.
     
  50. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    In case you need a device.. a quick search gives me numerous "HTC One V" phones for well under 100$ on eBay. Now they'll quite likely be too slow for real-world Sunshine use, but would be fine for ensuring things work on the Qualcomm Adreno side of things and Adrenos are in many Android devices. Just like my new&fast summer-2013 HTC "One M7", my old&slow early-2012 "One V" reports Shader Level 30 and is fully GL ES 2.0. So by grabbing one of those slow and somewhat outdated phones and troubleshooting your shaders on them, ignoring performance for the exercise, you can ensure compatibility across a huge range of devices, even if the device you get is itself one slow and dated brick..

    (This is just an example I know of, there may be even cheaper 2nd-hand phone models with Shader-Level 30 / GL ES 2.0 Adreno GPUs out there....)

    Just an idea, of course. Maybe you can troubleshoot this together with tripknotix without having to buy a phone.. but of course, only when this is fixed can you call Sunshine "Android-compatible" rather than "Nexus and Ouya-compatible" ;)

    (You could also wait another 2-4 months and those phones might go down in price by another $30-$50 I guess..)
     
    Last edited: Sep 16, 2013