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

xARM: Aspect and Resolution Master [v1.9]

Discussion in 'Assets and Asset Store' started by Thavron, Aug 16, 2013.

  1. cavila

    cavila

    Joined:
    Jun 4, 2013
    Posts:
    67
  2. gordonbr

    gordonbr

    Joined:
    Dec 20, 2014
    Posts:
    2
  3. cavila

    cavila

    Joined:
    Jun 4, 2013
    Posts:
    67
    Have you read the list of features for xARM on the first page of this thread?

    You get to see all resolutions in one window with options for PNG exports of all ratios at the same time, you get to configure things like preview at physical size, pixel perfect or scaled, it can wait for your code to react to resolution changes, has hooks to run custom code, etc.
     
  4. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    Yep, looks like just presets to me as well.
    As cavila already posted (thanks :) ), xARM can do a lot more than that.
    You can take a look at the first post, the video and the User Guide for a complete list of features.
     
  5. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    You will also have to undock the Game View with it, because the Game View can't scale (xARM Preview can).
    For example if you want to preview at 1024x768 the Game View must be resized to match that size, but it is unlikely it can while it is docked. If it doesn't resize it doesn't display the correct resolution (real resolution can be verified by Game View's stats).
    BTW: Why are you worried about the undocked Game View? Please let me know if you see an issue with that.
     
  6. Greg-Bassett

    Greg-Bassett

    Joined:
    Jul 28, 2009
    Posts:
    628
    Hi, I created Resolution Presets, and it works with the new Unity UI and the new Canvas Scaler component.
    http://docs.unity3d.com/Manual/script-CanvasScaler.html

    Just insert a new UI element into a new scene, such as a Button from the GameObject\UI menu, and then on the Canvas GameObject change the UI Scale Mode of the Canvas Scaler component to 'Scale with Screen Size', and it works a treat, no need to undock the Game view, and the UI components will scale and be positioned correctly for the chosen resolution.

    I created Resolution Presets during the development of another new Asset I am creating called iOS for Unity UI, please take a look, its a GUI library of iOS UI Elements, making it possible to create iOS native looking apps within Unity using the new UI system in 4.6.
    http://forum.unity3d.com/threads/wi...-ui-coming-to-the-asset-store-shortly.282399/
     
  7. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    That's right, but the UI (and everything else) is still not rendered at the selected resolution (if the Game View's size is smaller). So (the canvas) is almost but not exactly the same as with the actual resolution.
    Besides it is not an option if you like to use the "Constant Pixel Size" or "Constant Physical Size" UI scale mode.
    Not to mention other extensions or 2D/3D content.

    xARM renders everything at the exact resolution.

    Sorry for being somewhat nit-picky when it comes to my asset. ;)
    BTW: Your "iOS for Unity UI" looks interesting.
     
  8. Greg-Bassett

    Greg-Bassett

    Joined:
    Jul 28, 2009
    Posts:
    628
    Hi Thavron,

    I understand, I do have a copy of XARM which I picked up when it was featured in one of the 24 hour sales a few months back.

    With regards to my iOS for Unity UI, thanks for your comment, in fact I have just posted a new video showing how to use the Tab Bar iOS UI Element, I am creating videos for each of the iOS UI Elements that make up iOS for Unity UI, and will be posting them frequently over the coming days!



    Are you working on anything new at the moment on the Unity Asset front?
     
  9. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    Thanks for purchasing and your understanding. :)
    Our assets (and games, etc.) are our babies, aren't they?!
    Good luck with your babies!

    I have ideas for a few new assets I'll start working on soon. Stay tuned! ;)
    But first I have to finish my current not-Unity project...
    And there a still a lot of xARM features waiting to be implemented.
     
  10. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    Next xARM update will add Unity 5 support.
    It is almost done and will be available very, very soon.
    Stay tuned!

    (Current version is useable but produces some error entries in the log.)
     
  11. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    xARM v1.04.340 is awaiting approval.
    It is compatible with Unity 5.x, 4.x & 3.5.7
     
  12. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    xARM v1.04.340 with Unity 5 compatibility is available now.

    Thanks a lot for your ratings and reviews guys!
    At the moment xARM has 99 ratings, 28 reviews and 5/5 stars! :)
     
  13. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    xARM is today's 24 Hour Deal!
    Must have!
     
  14. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    738
    I tried getting xARM during the 24 hour deal,
    The preview works correctly and accurately during edit mode! :D
    This will help a lot in making the UI. (Somehow the Unity new UI text changes size depending on different resolution, and I need to correct those.)

    The only dissapointment is the play-mode, on where our game view HAS to be undocked.

    it seems like xARM captures the game-mode dock to do a preview,
    that is why it has to be undocked at a screen size which is even bigger than your screen!

    The play-mode preview is very unusable, the undocked game-view kept on blocking the whole screen at all times, and clicking anywhere will get your game view rearranged to the top of the view again and again. :(

    I thought I could finally test out the density distance differences between each device from the editor,
    (The Unity New UI Input behaves differently depending on the dpi, that's why I need to test it out at different device screens).
    But seems like xARM does not arm me to my needs as I cannot use the xArm play mode preview to perform any touch-input. (I can do it using the play-mode dock, but I could barely see 1/4 of the game screen!)

    Thanks for making this awesome tool anyways!
     
  15. mdrotar

    mdrotar

    Joined:
    Aug 26, 2013
    Posts:
    377
    Potential customer here. I have a few questions first.
    1. Does it work with all uGUI canvas render modes (screen space overlay, screen space camera, world space)?
    2. Can I trigger a screen captures from runtime code? For example, if there is an exact frame I want to capture screenshots of and the only way to get the timing right is to trigger it from code at the exact point I know the action is happening.
    3. Does capturing screen shots of multiple resolutions advance the frame between each resolution? Or will I be able to get the exact same frame captured for all resolutions? UI component positions would have to be updated somehow.
     
  16. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    @Gekigengar: Thanks for purchasing xARM.
    I'm glad you find it helpful and have found an UI issue you've maybe otherwise haven't noticed early enough.
    And I've some good news for you ;)

    You're right, the Game View has to be undocked while the ScreenCaps are update.
    Unfortunately on Windows the Game View comes to front after every update (not on Mac).
    BUT you can move the Game View manually so it is almost completely offscreen
    OR you can use xARM's settings to move it completely offscreen (xARM Options -> Global Options -> Game View Position - Uncheck "Trace Game View ..." and specify a fixed position).

    xARM doesn't simulate device's DPI out of the box, but you can use xARM's Delegate to input the current ScreenCap's DPI value into your UI code. Please take a look at the User Guide page 31.
    xARM Preview with input is on the roadmap with high priority.
    For now you can do something like that:
    Focus the almost-offscreen Game View, navigate your UI by keyboard and see the results in xARM.
    Thanks a lot and I hope I could make it a little more awesome with the above info. ;)
    And please let me know if you miss a feature.
     
    Gekigengar likes this.
  17. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    Thanks for your interest in xARM.

    Yes. Everything you see in the Game View you'll also see in xARM previews.

    xARM comes with complete code access (C#), so yes it can be done. But the current version doesn't offer a function specially designed for that purpose. Contact me if you need help.
    I think the easiest way is to just pause the game by code (EditorApplication.isPaused) and then export the ScreenCaps by xARM's user interface.

    The UI etc. needs a couple of frames to react to resolution changes, so ScreenCaps can't display the exact same frame.
    But if you want to get the exact same state in all ScreenCaps use the xARM Delegates as described in the xARM User Guide page 31.
    You have to freeze the game (animations, effects, etc.) in OnPreScreenCapUpdate and unfreeze it in OnFinalizeScreenCapUpdate.
    After that all ScreenCaps will display the exact same state.

    Let me know if you need further information.
     
  18. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    738
    Lovely!, probably just what I will be needing soon.
    Thanks for the hard work! :D
     
    Thavron likes this.
  19. reese01

    reese01

    Joined:
    Oct 21, 2014
    Posts:
    21
    Another potential customer here with questions. https://d2ujflorbtfzji.cloudfront.n...9bb9a9-1ad8-40d7-8bf2-e932a9c2a9dc_scaled.jpg Here is a star which I don't understand. Does it mean it cannot show the exact colours which is expected? Is your asset capable of showing exactly how will my elements appear on all the iOS devices? If I understand correctly it enables you to take the screenshot of selected device and save it in appropriate resolution ready for mobile store requirements.
     
  20. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    @reese01: Thanks for your interest.
    xARM give you an exact preview at the resolution, aspect ratio and physical size of the targeted device, but it doesn’t simulate CPU, GPU, etc. It is not an emulator to test performance, shaders, etc.
    It is best practice to test on a physical device from time to time.
    xARM shows the same colors as the Game View.
    Yep. You can export one or all ScreenCaps as PNG files.
    See how it works (at 2:27):
     
  21. reese01

    reese01

    Joined:
    Oct 21, 2014
    Posts:
    21
    Great! You made everything clear. Will make the purchase now.
     
    Thavron likes this.
  22. lend

    lend

    Joined:
    Aug 7, 2014
    Posts:
    13
    Is it possible to turn off ”Game” View?
    It is sometimes annoying.
     
  23. Shardik

    Shardik

    Joined:
    Feb 18, 2013
    Posts:
    11
    Ummm // i too late comin for sale((((((
     
  24. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    24h Deal rush is over. Thanks a lot to all purchasers!
    Feel free to give feedback and a review at Unity Asset Store :)

    To everyone who missed the 24h Deal:
    A new 36% Sale is awaiting approval and should be live very, very soon.
    Stay tuned!

    @Shardik: You'll get another chance ;)

    @lend
    xARM needs an undocked Game View to work.
    But you can move the Game View manually so it is almost completely offscreen.
    Or you can use xARM's settings to move it completely offscreen (xARM Options -> Global Options -> Game View Position - Uncheck "Trace Game View ..." and specify a fixed position).
     
  25. Shardik

    Shardik

    Joined:
    Feb 18, 2013
    Posts:
    11
    ok, let me know)
     
  26. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    36% Sale is awaiting approval and should be live in a few days (hopefully monday).
     
  27. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    36% Sale is live.
     
  28. Shardik

    Shardik

    Joined:
    Feb 18, 2013
    Posts:
    11
    thanx)
    purchased it)
     
    Last edited: Mar 15, 2015
  29. lend

    lend

    Joined:
    Aug 7, 2014
    Posts:
    13
    Can I export option settings to other projects?
     
  30. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    @Shardik, @lend:
    Thanks. If you like give feedback and a review at Unity Asset Store. :)

    Yes. Close Unity and copy the /ProjectSettings/xARMSettings.xml to the other project. That's it.
     
  31. lend

    lend

    Joined:
    Aug 7, 2014
    Posts:
    13
    Thanks :)
     
  32. rafaellop

    rafaellop

    Joined:
    Feb 4, 2015
    Posts:
    26
    Hi, the game view handling is annoying. I know I can stick it to a position with the "trace gave view" option, but it's still a bit uncomfortable. For example, If I dock it to a Y position = -100 so the title bar isn't available, there's no option to movie it down without changing the settings in the xARM options. I think that a small set of commands on the preview button bar would help a lot. For example some commands to: * move gameview on/off screen, * stick to positon, *make titlebar visible, * dock / undock gameview. It would be perfect if the game view could work not in the free aspect only. At the moment it is practically impossible to do some screenshots of a gameview in high resolutions where interaction with the game UI is important to achieve some effects. The package is great but it could be better, even perfect.
     
  33. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    Thanks for your valuable feedback. I've put it on my list.
    I will probably add a button to xARM Preview to switch the Game View's position between an on- and off- screen position.
    For now: Have you tried an almost-offscreen position so you can still reach the Game View's toolbar?

    Docking is unfortunately not possible via code.
    What is the issue with "free aspect only"? You can add a ScreenCap for each aspect ratio and select it as needed.

    I'm glad you like xARM and I appreciate any feedback so I can improve it to reach perfection. ;)
    (For example making xARM Preview interactive is on my 2do list.)

    For now some tricks:
    • Use a resolution that fits onto your monitor and switch to high res only when needed
    • Use Unity's Pause (CTRL/CMD+SHIFT+P) and Step (CTRL/CMD+ALT+P) hotkeys to capture the right moment (pause e.g. while switching to high res). It is also possible to pause/step Unity by code.
    • Open/focus the Game View with CTRL/CMD+2 to bring it to front. The Game View is always opened onscreen.
      => CTRL/CMD+2, CMD+W (Alt+F4 on Win?), CTRL/CMD+2 reopens the Game View onscreen
     
  34. rafaellop

    rafaellop

    Joined:
    Feb 4, 2015
    Posts:
    26
    Yes, I've tried but on Windows, if I don't use the "trace game view" option, the game view is wandering on my screen :\

    If it was possible to move it the undocked game view into screen so that it can be dragged, it would be enough.

    Isn't the free aspect required to have xARM working properly? I remember I've seen this somehwere in the docs or I misunderstood this maybe. OK, got it: "Could not update all ScreenCaps. Switch 'Gameview' to 'Free aspect'. This is what I see in my Unity at the moment.

    In my question I meant that it would be great to have the game view of any size and xARM still capable to do screenshots and preview on any scren size independent on the game view. However, I suppose it isn't possible. So would there maybe be a chance to change the logic sometime in the future so that the game view is any size and offscreen during xARM is active and to have a second clone of the game view in a size that would allow me to operate on it and the third view of the xARM preview.

    Yes, I do screenshots in the screensizes I need or which are required for app stores and they started to ask for bigger and bigger. It's hard to fit a portrait screen of 1280px of height even on the 1920x1080 and operate when making screenshots. The rest of the tricks is what I do but it's really a pain in the ace :)

    Cheers,
    Rafal
     
  35. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    Do you mean you're using the fixed position and it is jumping back to that position after you've moved the Game View?
    xARM repositions the Game View after every ScreenCap update.
    You can control the behavior by deactivating auto update while you need the Game View onscreen.

    Have you tried to move the Game View manually allmost-offscreen (with either traced or fixed position) on the right side of your monitor?
    There it should be least annoying and always reachable.

    Thanks. It's on my list.

    Yep. Free Aspect is required because it's not possible to render e.g. 16:9 in a Game View set to 4:3.

    I've plans (can't promise it is possible) to make xARM Preview interactive, so that the game can be controlled while the Game View is offscreen. According to your idea, it'll be the "second clone" as part of xARM Preview.
    So basically the goal is that xARM user do not need to use the Game View anymore ;).

    I understand. With the above described feature that issue would be gone.
    Keep tuned for updates :)
     
  36. edwardtort

    edwardtort

    Joined:
    May 15, 2015
    Posts:
    1
    how to use this?
     
  37. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    Here is an overview:


    Setting up xARM is basically import & select what you'd like to preview.
    For more details please take a look at the "Getting Started" section of the xARM User Guide.
     
  38. DarthV

    DarthV

    Joined:
    Mar 25, 2013
    Posts:
    3
    I am trying to use xArm. My problem is the Game View that keeps blocking everything on screen and its size is too big. I tried unchecking "Trace Game View" and set a fixed position but is still the same. It might change for a while but then it still get the whole screen.
     
  39. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    Unfortunately every time xARM updates a ScreenCap the Game View comes to front (on Windows).
    I’m currently working on a new feature to improve this behavior.
    The new feature should be ready soon.

    For now please try something of the following:
    • move the Game View almost offscreen so it doesn’t cover other screens
    • specify a fixed almost or completely offscreen Game View position in xARM Options (Global Options -> Game View Position: deactivate „Trace Game View position automatically")
    • select a smaller resolution when possible
    • deactivate auto update (Edit, Pause, Play) when not needed
    Stay tuned. New version should be ready soon.
     
  40. The_BenEvans

    The_BenEvans

    Joined:
    Jul 31, 2012
    Posts:
    139
    Just tried getting screenshots in the new Unity 5.1f3 build, and all I got was errors.

    After a bit of snooping in the code, I managed to change (line 108 in xARMManager.cs):
    Code (CSharp):
    1. if(curr.title == "UnityEditor.GameView") _gameView = curr;
    to
    Code (CSharp):
    1. if(curr.title == "Game") _gameView = curr;
    And now it works fine. Did the window naming get changed in the new Unity update? Hope this helps anyone with the same problem!
     
    Thavron likes this.
  41. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    If you use xARM v1.04.340 (or older) with Unity 5.1 you'll get some errors.
    A xARM update with full 5.1 support will be ready very soon.

    If you don't want to wait, follow these three simple steps to make xARM v1.04.340 Unity 5.1 ready:
    1. Replace xARMManager.cs line 108
      Code (CSharp):
      1. if(curr.title == "UnityEditor.GameView") _gameView = curr;
      with
      Code (CSharp):
      1. if(curr.titleContent.text == "Game") _gameView = curr;
    2. Replace xARMPreviewWindow.cs line 54
      Code (CSharp):
      1. _myWindow.title = myWindowTitle;
      with
      Code (CSharp):
      1. _myWindow.titleContent = new GUIContent(myWindowTitle);
    3. Replace xARMGalleryWindow.cs line 65
      Code (CSharp):
      1. _myWindow.title = myWindowTitle;
      with
      Code (CSharp):
      1. _myWindow.titleContent = new GUIContent(myWindowTitle);
    xARM v1.04.340 and Unity 5.1 should work as expected after doing these changes.
    If you still encounter issues please let me know.

    Stay tuned for further updates.

    Thanks a lot for sharing! Saved me some time :)
    The window naming was indeed changed...
     
  42. The_BenEvans

    The_BenEvans

    Joined:
    Jul 31, 2012
    Posts:
    139
    No problem, glad I could help!
     
  43. Driven

    Driven

    Joined:
    May 31, 2013
    Posts:
    77
    is there a way to make the screnshots not getting scaled? in gallery preview i see that the gameview gets stretched to that format. i would like to have a screenshot as if you manually set the size in gameview (not stretching but cutting). is that possible? i tried changing gameview at runtime to my wanted resolution and tried to capture a screenshoot but the plugin says only error need free aspect..
     
  44. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    Yes, the Game View needs to be set to Free Aspect.
    xARM itself doesn't scale anything. Are you using 2D Toolkit?

    If you're using 2D Toolkit set its overrides to "pixel perfect" and deactivate "force resolution".

    Please let me know if you need further help.
     
  45. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    xARM v1.04.346 is available.
    Its a hot fix release to add Unity 5.1 support.
    The planed features and bugfixes are still in the works.

    Changelog 1.04.346
    Unity 5.1 support added​
     
  46. username132323232

    username132323232

    Joined:
    Dec 9, 2014
    Posts:
    477
    xARM saves so much time by automatically creating multiple screenshots. I'm glad I found it! I do have a question about managing screenshots.

    xARM includes resolution and device information in the .png file name. This is great. But would it be possibly to automatically add some prefix in case there are several screenshots per app (as is almost always the case). I just started using xARM and perhaps I missed something obvious, but currently it seems that xARM just overwrites the existing screenshots. Another solution that comes to mind would be to automatically create subdirectories like "Screen1", "Screen2", ... . Or maybe xARM already does something like that?
     
    reese01 likes this.
  47. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    I'm glad you like xARM!
    Feel free to give a review at Unity Asset Store ;)

    Currently there is no such option, but I've added it to my list.

    For now you can alter the code to add e.g. a timestamp.
    Open xARMManager.cs and change line 693 to fit your needs.
    Code (CSharp):
    1. ExportScreenCapToFile (currScreenCap, exportFolderPath + "/" + fileName);
     
  48. username132323232

    username132323232

    Joined:
    Dec 9, 2014
    Posts:
    477
    Thanks for a great suggestion. Review posted. xARM Rocks!

    I
     
  49. Arkade

    Arkade

    Joined:
    Oct 11, 2012
    Posts:
    654
    Hi, @Thavron
    A semi-urgent how-to question for you, please!

    You mention ...
    Are there some instructions for how to do this, please? Specifically at 9520 x 23693 with 300 DPI.
    (I did search docs and forum thread but I must be being blind! I admit I didn't read the docs thoroughly. Is it that one must edit xARMManager.cs to enter new resolution then just press some button?)

    As a secondary part to the question, I saw mention of few-frames after resize before capture. I'm using several image effects including motion blur. I've pre-canned my action. If I pause the game once it's about right, a *few* frames won't hurt. Anything else I need to do?

    Background:

    I bought xARM a while back in anticipation of mobile need now I'm finally about to use your asset ... but to screen-shot my game for a floor-standing banner to take to some conferences! Looking at the printers' specifications, they want that crazy high resolution. I took about 10 seconds to remember your asset and a solid minute to find the necessary feature on the first page!! Few!

    Really looking forward to your response!
    Thanks in advance!
     
  50. Thavron

    Thavron

    Joined:
    Aug 29, 2012
    Posts:
    364
    @Arkade: Hi again. :)
    We had a direct conversation via Twitter, but for all others:

    Unfortunately the Game View gets downsized automatically by Unity if a very high resolution is used.
    So currently it's not possible to use resolutions like 9.520 x 23.693

    I've put it on my list with high priority and I've removed the feature from the description until it's fixed.
    Sorry for the inconvenience.
     
    Arkade likes this.