Search Unity

RetinaPro for NGUI - Easy management of multiple devices pixel / screen resolutions

Discussion in 'Assets and Asset Store' started by idunlop_oefun, Feb 16, 2013.

  1. eridani

    eridani

    Joined:
    Aug 30, 2012
    Posts:
    655
    I'm not sure but what does this product do exactly that the newest NGUI doesn't already do? I thought NGUI was built to handle multiple resolutions... sorry if I am unclear about it.
     
  2. idunlop_oefun

    idunlop_oefun

    Joined:
    Aug 31, 2010
    Posts:
    240
    NGUI has always had support for multiple resolutions. However, it is non-trivial, incredibly tedious and time consuming to set that up. Also, if you wanted to modify / change any of your art assets it is also very tedious and time consuming.

    RetinaPro simplifies all of that. It gives you a very easy way to manage multiple atlases and their associated devices / screen sizes. It also provides runtime support for atlas switching.

    If you're saying that the latest NGUI includes all of that functionality then that would be news to me. I haven't looked at the very latest version.

    RetinaPro was designed initially with iOS in mind, however it works just as well with Android. There have been numerous improvements to make it easier to re-use atlases on similar sized screens (so your device / screen size count does not explode).
     
  3. Jean-Fabre

    Jean-Fabre

    Joined:
    Sep 6, 2007
    Posts:
    429
    Hello Ian,

    I am currently facing a difficult with the UIAnchor and pixel based offset in general. Am I correct in the assumption that RetinaPro doesn't have any tools to address this, for example, a runtime tool that would auto adjusts the pixels offset for retina and multiply them by two or similar tricks?

    I am fine with implementing a solution myself, but just want to make sure I am not reinventing the wheel.

    Bye,

    Jean
     
  4. idunlop_oefun

    idunlop_oefun

    Joined:
    Aug 31, 2010
    Posts:
    240
    Typically you don't want to use a pixel based offset for your layouts / panels. Using UIAnchor and specifying relative sizes relative to other game objects is the way to go.

    RetinaPro adjusts the UIRoot size and swaps UIAtlas references among other things at runtime. RetinaPro also gives you a preview tool so you can quickly check out the layout without having to hit play (obviously how well this works depends on how much of your layout is dynamic or generated at runtime).

    FWIW, if you still need to adjust the pixel offset based on the device type you could use RetinaPro and copy / paste some of it's code into your own script to perform your own runtime tweaks.
     
  5. Jean-Fabre

    Jean-Fabre

    Joined:
    Sep 6, 2007
    Posts:
    429
    Hi,

    Thanks Ian :) I was expecting this, it makes sense.

    Brings me to the next question, while trying to address this: Since version 3.5.2 of ngui UiFont do not implement pixel size anymore. Is it something that's going to be address within retinapro for compatibility?

    bye,

    Jean
     
  6. idunlop_oefun

    idunlop_oefun

    Joined:
    Aug 31, 2010
    Posts:
    240
    Yes, this has been fixed and is in testing. Sorry for the inconvenience. Unfortunately with NGUI's revisions occurring so quickly it's difficult to keep up sometimes. Please contact me at the email support address and I can send you a copy. Please include proof of purchase in your email.
     
  7. ibps13

    ibps13

    Joined:
    Oct 6, 2012
    Posts:
    113
    Hi Ian,

    I use latest version of retina pro with latest NGUI (3.5.6) and I have issue with UIFont and pixel size. Ad the same time I have another issue with "fix assets folder", don't work actually, I can't create atlas... nothing happen.

    I use Last unity version 4.3.4f1 on OSX mavericks

    Thx
     
  8. idunlop_oefun

    idunlop_oefun

    Joined:
    Aug 31, 2010
    Posts:
    240
    Please contact me at the support email address (see read me file). Send a copy of your invoice and I'll send you the latest version that is currently in testing.
     
  9. JustDave1961

    JustDave1961

    Joined:
    Jan 5, 2013
    Posts:
    14

    I get the same UIFont.pixelSize error.

    Unity 4.3.4
    NGui 3.5.8
    RetinaPro v1.5

    Dave
     
  10. idunlop_oefun

    idunlop_oefun

    Joined:
    Aug 31, 2010
    Posts:
    240
    Please contact me at the support email address (see read me file). Send a copy of your invoice and I'll send you the latest version that is currently in testing.
     
  11. SoftwareLogicAU

    SoftwareLogicAU

    Joined:
    Mar 30, 2014
    Posts:
    34
    I'd like to take advantage of TexturePacker to make my different image size versions and use RetinaPro for NGUI to implement them. Does anyone know if RetinaPro will work with TexturePacker images and how to do this? It appears from the video tutorial on RetinaPro that it converts multiple size pictures (png etc) into it's own atlases which is great, but it looks like TexturePacker creates atlases which means I would need RetinaPro to convert these atlases?
    I'm probably totally on the wrong track here (newbie), but if anyone can enlighten me on using texturepacker with retinapro that would be awesome - thanks!
     
  12. mimminito

    mimminito

    Joined:
    Feb 10, 2010
    Posts:
    780
    Any news on the new version being submitted to the asset store?
     
  13. idunlop_oefun

    idunlop_oefun

    Joined:
    Aug 31, 2010
    Posts:
    240
    Sorry for the delay. Please contact me as described in posting above this one.
     
  14. mimminito

    mimminito

    Joined:
    Feb 10, 2010
    Posts:
    780
    I have the 1.6 test, but I was just wondering if you was going to submit the update to the asset store anytime soon? Ive had this for over a month now, just wanted to know if RetinaPro is still being developed.
     
  15. idunlop_oefun

    idunlop_oefun

    Joined:
    Aug 31, 2010
    Posts:
    240
    Yes, it's still being developed. Sorry, it's taking a while to get it submitted. If you have issues with the 1.6 version please submit them to me via email. Thanks.

    When Unity's GUI solution arrives I'll be evaluating what they offer to see if there is a need for RetinaPro going forwards. If not, I'll continue to bug fix it for NGUI in the short to mid-term depending on interest. I'd imagine there will still be projects that use NGUI at least in the short term.
     
  16. mimminito

    mimminito

    Joined:
    Feb 10, 2010
    Posts:
    780
    Ok, thanks for the update.
     
  17. mimminito

    mimminito

    Joined:
    Feb 10, 2010
    Posts:
    780
    I have been getting quite a few errors recently with the RetinaProData file corrupting. The script which parses that file returns an error when starting Unity (not all the time, but its happened two or three times recently) and the data is lost. I then have to manually add in the Devices and Atlases again, which is not too much hassle unless I have a lot of atlases. Could you look into this please?
     
  18. idunlop_oefun

    idunlop_oefun

    Joined:
    Aug 31, 2010
    Posts:
    240
    Sorry this is occurring. I use it all the time and I've never seen this happen. You're also the first person to report this issue. Do you have a simple scene / test case that exhibits the issue?

    FWIW, I would recommend using some sort of version control to protect against this type of thing. That way you wouldn't have to recreate it.
     
  19. mimminito

    mimminito

    Joined:
    Feb 10, 2010
    Posts:
    780
    Yeah, we do use version control on most projects, so its not too bad, but its not something I can replicate, it just happens now and then in projects.
     
  20. mimminito

    mimminito

    Joined:
    Feb 10, 2010
    Posts:
    780
    Hi,

    NGUI has been updated to 3.7.0, and it breaks your asset again. When will the new update come out?

    If this is not really being supported anymore, I will consider writing my own solution instead, as this has not been updated in a long time...

    Adam
     
  21. idunlop_oefun

    idunlop_oefun

    Joined:
    Aug 31, 2010
    Posts:
    240
    There are two places to update. They can be identified by the errors you'll see in the console window. Change the Scaling.Fixed lines to Scaling.Constrained

    I'm looking at the Unity GUI solution at the moment. I'm not happy with the recent changes to NGUI (re: new anchoring system) so I'll probably be transitioning my efforts to Unity's GUI. I'll keep supporting RetinaPro for NGUI for now at least. However, it's probably best you reach out to me via the support email address instead of posting here.

    Thanks.
     
  22. roady

    roady

    Joined:
    Nov 23, 2013
    Posts:
    11
    Hi. Need some help setting up the plugin and sizes.
    As I understand the basics that using different atlas for different resolutions but can anyone share their setup?

    Example this is my setup


    I create all graphics for iPad retina 1536 x 2048 (iPad@2x).
    Then I need to create the same graphic for different resolutions.

    example Splash Logo
    iPad@2x: 500x500
    iPad: 250x250 (50%)
    iPhone: 115x115 (23%)
    iPhone@2x: 235x235 (47%)

    The sprite is changed in size when using the sub-sizes. Any suggestions? How's your setup for pixel perfect.
     
  23. idunlop_oefun

    idunlop_oefun

    Joined:
    Aug 31, 2010
    Posts:
    240
    I'm not sure what your problem is. Can you explain this with more detail or perhaps send a test Unity project to the support email address?
     
  24. idunlop_oefun

    idunlop_oefun

    Joined:
    Aug 31, 2010
    Posts:
    240
    After spending some time with Unity's own GUI solution I've decided to pull 'RetinaPro for NGUI' from the Asset Store. I've requested this via email. It may take a few days before it's actually removed.

    RetinaPro was born out of my frustration of managing NGUI's multiple atlases and their associated assets. After working on a small project using Unity's GUI I've not encountered any workflow issues when managing textures. I'm also happy with the runtime quality across multiple devices.

    For existing customers I will still provide limited support in the near future. However, please keep in mind that as I no longer use NGUI, fixing NGUI specific problems may be very limited if not impossible.

    Thanks for your support.
     
  25. Kumo-Kairo

    Kumo-Kairo

    Joined:
    Sep 2, 2013
    Posts:
    343
    I know this is a bit of necroposting, but I have a question
    How do you handle different resolution textures in the new Unity GUI system? You've said that you haven't encountered any issues, but right now I have some problems with that (multi-resolution textures) and I don't see any easy way to do it.
    I've read a lot of posts here on unity forums, watched that popular video about "2D issues in Unity and how to solve them" and it's all pretty clear what to do - to write a bunch of custom scripts that check the resolution and swap the textures of the components, BUT
    Your words about "I've not encountered any workflow issues when managing textures" have made me curious. It would be great if you could write a sentence or two about your workflow.

    Thanks
     
  26. idunlop_oefun

    idunlop_oefun

    Joined:
    Aug 31, 2010
    Posts:
    240
    Sorry for any confusion. To clear this up; I don't store the same texture at multiple resolutions and swap them etc. I just store one high resolution texture (usually iPad retina sized) and go from there. When I used NGUI I was using the ImageMagick toolset to provide scaled assets; i.e. all original assets were made for iPad retina then I had scripts that scaled them to smaller sizes. Then I used RetinaPro to build all the atlases (and keep them up-to-date).

    When I switched to uGUI I was really trading ImageMagick scaling for what uGUI is doing. For my projects you can't tell the difference.

    If you have hand-drawn assets for different devices then yeah, you're likely going to need a more complicated swapping solution. For me it's a question of time / money and what I want to spend it on - making something pixel perfect or making the game a better experience?

    Hope that helps.