Is it “wrong” to build Unity games entirely with UI elements VS sprites?Model a chain with different elements in Unity 3DBuild custom editor to UI elementsUnity: Interactive menu with sprites changing with buttonsTop down 2d orthogonal view with 3D elements (Unity)MobileSingleStickControl Elements Disabled UnityWhat's wrong with this Height Map in Unity?Unity - Progress bar with spritesUnity tilemap wrong draw orderWrong movement with Inverse Kinematics?Unity build shows wrong date

Is there an expression that means doing something right before you will need it rather than doing it in case you might need it?

How do I handle a potential work/personal life conflict as the manager of one of my friends?

What is the idiomatic way to say "clothing fits"?

Can the Meissner effect explain very large floating structures?

Why didn't Miles's spider sense work before?

One verb to replace 'be a member of' a club

Why doesn't using multiple commands with a || or && conditional work?

Detention in 1997

Assassin's bullet with mercury

Why would the Red Woman birth a shadow if she worshipped the Lord of the Light?

CAST throwing error when run in stored procedure but not when run as raw query

Why didn't Boeing produce its own regional jet?

What do you call someone who asks many questions?

Can I run a new neutral wire to repair a broken circuit?

How to show a landlord what we have in savings?

Expand and Contract

Valid term from quadratic sequence?

Can a virus destroy the BIOS of a modern computer?

Apex Framework / library for consuming REST services

Cursor Replacement for Newbies

Why do bosons tend to occupy the same state?

Should I tell management that I intend to leave due to bad software development practices?

Why is consensus so controversial in Britain?

Which is the best way to check return result?



Is it “wrong” to build Unity games entirely with UI elements VS sprites?


Model a chain with different elements in Unity 3DBuild custom editor to UI elementsUnity: Interactive menu with sprites changing with buttonsTop down 2d orthogonal view with 3D elements (Unity)MobileSingleStickControl Elements Disabled UnityWhat's wrong with this Height Map in Unity?Unity - Progress bar with spritesUnity tilemap wrong draw orderWrong movement with Inverse Kinematics?Unity build shows wrong date













8












$begingroup$


I find myself coming on board a Unity project with an outsourced programming team. Our mobile game has a number of minigames and they have built them entirely out of UI elemetents, or raw images on only one or two canvas elements. Now, I know the term "wrong" is open to interpretation since the games are quite simple and they run fine on the modern devices we've tested them on.



However my somewhat perfectionist attitude often has me concerned about the "correct/best practice" way of doing things and I have a hard time letting go of the idea that this is not the best way to be developing the games. I look at the Unity best practices of not having too many elements in a canvas due to redrawing it anytime something changes, sprite renderers optimized polygon trimming as opposed to max rects to keep overdraw down, etc. And the response I get from the programming team is, "the screen-ratio ability of canvas elements makes it easy to handle different aspect ratios, so that's how we build games".



I don't want this to be a down voted "personal" question, so is there a more compelling reason to not build simple mobile games in this fashion? Or is it a case of if it works on targeted devices and isn't causing issues why not?
Thanks in advance for any replies,
Jaysin










share|improve this question







New contributor




Jaysin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$







  • 2




    $begingroup$
    This question looks opinion-based to me, but I'll wait & see how other users & mods vote. One thing I will mention though is that resource efficiency isn't just about processing speed and memory use. Often the most limited resource for a game is developer time. So if using this tech allows your partners to iterate quickly and deliver the target quality on-time across many target devices, that alone may well be enough to justify some increased runtime overhead.
    $endgroup$
    – DMGregory
    Mar 31 at 23:40











  • $begingroup$
    Thanks for your feedback, I was trying my best to word it in a way that would solicit real world best practices and potential unforeseen consequences of using one method over another. If there's no clear cut technical reason not to, then that helps point to an answer that one can use that method if it suits their needs. I asked here, because after days of searching I couldn't find a current response on the issue.
    $endgroup$
    – Jaysin
    2 days ago















8












$begingroup$


I find myself coming on board a Unity project with an outsourced programming team. Our mobile game has a number of minigames and they have built them entirely out of UI elemetents, or raw images on only one or two canvas elements. Now, I know the term "wrong" is open to interpretation since the games are quite simple and they run fine on the modern devices we've tested them on.



However my somewhat perfectionist attitude often has me concerned about the "correct/best practice" way of doing things and I have a hard time letting go of the idea that this is not the best way to be developing the games. I look at the Unity best practices of not having too many elements in a canvas due to redrawing it anytime something changes, sprite renderers optimized polygon trimming as opposed to max rects to keep overdraw down, etc. And the response I get from the programming team is, "the screen-ratio ability of canvas elements makes it easy to handle different aspect ratios, so that's how we build games".



I don't want this to be a down voted "personal" question, so is there a more compelling reason to not build simple mobile games in this fashion? Or is it a case of if it works on targeted devices and isn't causing issues why not?
Thanks in advance for any replies,
Jaysin










share|improve this question







New contributor




Jaysin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$







  • 2




    $begingroup$
    This question looks opinion-based to me, but I'll wait & see how other users & mods vote. One thing I will mention though is that resource efficiency isn't just about processing speed and memory use. Often the most limited resource for a game is developer time. So if using this tech allows your partners to iterate quickly and deliver the target quality on-time across many target devices, that alone may well be enough to justify some increased runtime overhead.
    $endgroup$
    – DMGregory
    Mar 31 at 23:40











  • $begingroup$
    Thanks for your feedback, I was trying my best to word it in a way that would solicit real world best practices and potential unforeseen consequences of using one method over another. If there's no clear cut technical reason not to, then that helps point to an answer that one can use that method if it suits their needs. I asked here, because after days of searching I couldn't find a current response on the issue.
    $endgroup$
    – Jaysin
    2 days ago













8












8








8


1



$begingroup$


I find myself coming on board a Unity project with an outsourced programming team. Our mobile game has a number of minigames and they have built them entirely out of UI elemetents, or raw images on only one or two canvas elements. Now, I know the term "wrong" is open to interpretation since the games are quite simple and they run fine on the modern devices we've tested them on.



However my somewhat perfectionist attitude often has me concerned about the "correct/best practice" way of doing things and I have a hard time letting go of the idea that this is not the best way to be developing the games. I look at the Unity best practices of not having too many elements in a canvas due to redrawing it anytime something changes, sprite renderers optimized polygon trimming as opposed to max rects to keep overdraw down, etc. And the response I get from the programming team is, "the screen-ratio ability of canvas elements makes it easy to handle different aspect ratios, so that's how we build games".



I don't want this to be a down voted "personal" question, so is there a more compelling reason to not build simple mobile games in this fashion? Or is it a case of if it works on targeted devices and isn't causing issues why not?
Thanks in advance for any replies,
Jaysin










share|improve this question







New contributor




Jaysin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$




I find myself coming on board a Unity project with an outsourced programming team. Our mobile game has a number of minigames and they have built them entirely out of UI elemetents, or raw images on only one or two canvas elements. Now, I know the term "wrong" is open to interpretation since the games are quite simple and they run fine on the modern devices we've tested them on.



However my somewhat perfectionist attitude often has me concerned about the "correct/best practice" way of doing things and I have a hard time letting go of the idea that this is not the best way to be developing the games. I look at the Unity best practices of not having too many elements in a canvas due to redrawing it anytime something changes, sprite renderers optimized polygon trimming as opposed to max rects to keep overdraw down, etc. And the response I get from the programming team is, "the screen-ratio ability of canvas elements makes it easy to handle different aspect ratios, so that's how we build games".



I don't want this to be a down voted "personal" question, so is there a more compelling reason to not build simple mobile games in this fashion? Or is it a case of if it works on targeted devices and isn't causing issues why not?
Thanks in advance for any replies,
Jaysin







unity






share|improve this question







New contributor




Jaysin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




Jaysin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




Jaysin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Mar 31 at 22:20









JaysinJaysin

412




412




New contributor




Jaysin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Jaysin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Jaysin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 2




    $begingroup$
    This question looks opinion-based to me, but I'll wait & see how other users & mods vote. One thing I will mention though is that resource efficiency isn't just about processing speed and memory use. Often the most limited resource for a game is developer time. So if using this tech allows your partners to iterate quickly and deliver the target quality on-time across many target devices, that alone may well be enough to justify some increased runtime overhead.
    $endgroup$
    – DMGregory
    Mar 31 at 23:40











  • $begingroup$
    Thanks for your feedback, I was trying my best to word it in a way that would solicit real world best practices and potential unforeseen consequences of using one method over another. If there's no clear cut technical reason not to, then that helps point to an answer that one can use that method if it suits their needs. I asked here, because after days of searching I couldn't find a current response on the issue.
    $endgroup$
    – Jaysin
    2 days ago












  • 2




    $begingroup$
    This question looks opinion-based to me, but I'll wait & see how other users & mods vote. One thing I will mention though is that resource efficiency isn't just about processing speed and memory use. Often the most limited resource for a game is developer time. So if using this tech allows your partners to iterate quickly and deliver the target quality on-time across many target devices, that alone may well be enough to justify some increased runtime overhead.
    $endgroup$
    – DMGregory
    Mar 31 at 23:40











  • $begingroup$
    Thanks for your feedback, I was trying my best to word it in a way that would solicit real world best practices and potential unforeseen consequences of using one method over another. If there's no clear cut technical reason not to, then that helps point to an answer that one can use that method if it suits their needs. I asked here, because after days of searching I couldn't find a current response on the issue.
    $endgroup$
    – Jaysin
    2 days ago







2




2




$begingroup$
This question looks opinion-based to me, but I'll wait & see how other users & mods vote. One thing I will mention though is that resource efficiency isn't just about processing speed and memory use. Often the most limited resource for a game is developer time. So if using this tech allows your partners to iterate quickly and deliver the target quality on-time across many target devices, that alone may well be enough to justify some increased runtime overhead.
$endgroup$
– DMGregory
Mar 31 at 23:40





$begingroup$
This question looks opinion-based to me, but I'll wait & see how other users & mods vote. One thing I will mention though is that resource efficiency isn't just about processing speed and memory use. Often the most limited resource for a game is developer time. So if using this tech allows your partners to iterate quickly and deliver the target quality on-time across many target devices, that alone may well be enough to justify some increased runtime overhead.
$endgroup$
– DMGregory
Mar 31 at 23:40













$begingroup$
Thanks for your feedback, I was trying my best to word it in a way that would solicit real world best practices and potential unforeseen consequences of using one method over another. If there's no clear cut technical reason not to, then that helps point to an answer that one can use that method if it suits their needs. I asked here, because after days of searching I couldn't find a current response on the issue.
$endgroup$
– Jaysin
2 days ago




$begingroup$
Thanks for your feedback, I was trying my best to word it in a way that would solicit real world best practices and potential unforeseen consequences of using one method over another. If there's no clear cut technical reason not to, then that helps point to an answer that one can use that method if it suits their needs. I asked here, because after days of searching I couldn't find a current response on the issue.
$endgroup$
– Jaysin
2 days ago










4 Answers
4






active

oldest

votes


















5












$begingroup$

A solution needs to be tailored to your needs. If the game needs (I.E. performance, responsiveness, ease of development, etc.) are met by using only UI elements, then there's no problem.



One thing that should be considered is that this system means that your development team probably doesn't know how to use Unity's full capabilities. If in the future the UI will be insufficient, it will probably be hard to steer them towards a more standard Unity flow.






share|improve this answer









$endgroup$












  • $begingroup$
    I think that @Jaysin is looking for information on which solution is "a more standard Unity flow".
    $endgroup$
    – Luke
    2 days ago


















3












$begingroup$

I agree with nihohit on this. It's important to take the scope of the project into consideration. It might be easier/faster to get the project done this way. If it's only a small type of game or app, going the un-optimized way often saves a lot of time, which then saves money. If it's unlikely that a project needs to be maintained for years or needs to be expanded on, it might make sense to go with what the developers are used to, even if it's considered less of a good practice.



This doesn't mean that your mindset should be changed, because, if you start a project from scratch you should totally think about the way you implement things and how to make it the cleanest. But, if you're in production and especially if you work with outsourced code, it might be better to use a hack, which is unclean, but takes an hour to implement rather than refactoring a whole section of code to make it clean, which might take a week and costs thousands of dollars.






share|improve this answer









$endgroup$




















    2












    $begingroup$

    There is nothing wrong with only using canvas elements



    But there could be bad practices here none the less (but it isn't that).






    share|improve this answer









    $endgroup$




















      1












      $begingroup$

      I think the only question you should ask in this case is: "Is UI providing all the functionality that I need?"



      I've head a very similar problem, except I was working with UE4. I wanted ot make a puzzle game where you move a lockpick and try to set up pins in proper position. At first I thought it would be easier and faster to use UI - but it quickly turned out that sprites already had a loot of features that I would have to implement myself. In my case, that answer was "No, UI is NOT providing all the features that I require".



      It seems like for you it's not the case. But in future, maybe try sprites just to see if it is easier for you in the long run?






      share|improve this answer









      $endgroup$











        protected by DMGregory 2 days ago



        Thank you for your interest in this question.
        Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



        Would you like to answer one of these unanswered questions instead?














        4 Answers
        4






        active

        oldest

        votes








        4 Answers
        4






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        5












        $begingroup$

        A solution needs to be tailored to your needs. If the game needs (I.E. performance, responsiveness, ease of development, etc.) are met by using only UI elements, then there's no problem.



        One thing that should be considered is that this system means that your development team probably doesn't know how to use Unity's full capabilities. If in the future the UI will be insufficient, it will probably be hard to steer them towards a more standard Unity flow.






        share|improve this answer









        $endgroup$












        • $begingroup$
          I think that @Jaysin is looking for information on which solution is "a more standard Unity flow".
          $endgroup$
          – Luke
          2 days ago















        5












        $begingroup$

        A solution needs to be tailored to your needs. If the game needs (I.E. performance, responsiveness, ease of development, etc.) are met by using only UI elements, then there's no problem.



        One thing that should be considered is that this system means that your development team probably doesn't know how to use Unity's full capabilities. If in the future the UI will be insufficient, it will probably be hard to steer them towards a more standard Unity flow.






        share|improve this answer









        $endgroup$












        • $begingroup$
          I think that @Jaysin is looking for information on which solution is "a more standard Unity flow".
          $endgroup$
          – Luke
          2 days ago













        5












        5








        5





        $begingroup$

        A solution needs to be tailored to your needs. If the game needs (I.E. performance, responsiveness, ease of development, etc.) are met by using only UI elements, then there's no problem.



        One thing that should be considered is that this system means that your development team probably doesn't know how to use Unity's full capabilities. If in the future the UI will be insufficient, it will probably be hard to steer them towards a more standard Unity flow.






        share|improve this answer









        $endgroup$



        A solution needs to be tailored to your needs. If the game needs (I.E. performance, responsiveness, ease of development, etc.) are met by using only UI elements, then there's no problem.



        One thing that should be considered is that this system means that your development team probably doesn't know how to use Unity's full capabilities. If in the future the UI will be insufficient, it will probably be hard to steer them towards a more standard Unity flow.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 2 days ago









        nihohitnihohit

        386111




        386111











        • $begingroup$
          I think that @Jaysin is looking for information on which solution is "a more standard Unity flow".
          $endgroup$
          – Luke
          2 days ago
















        • $begingroup$
          I think that @Jaysin is looking for information on which solution is "a more standard Unity flow".
          $endgroup$
          – Luke
          2 days ago















        $begingroup$
        I think that @Jaysin is looking for information on which solution is "a more standard Unity flow".
        $endgroup$
        – Luke
        2 days ago




        $begingroup$
        I think that @Jaysin is looking for information on which solution is "a more standard Unity flow".
        $endgroup$
        – Luke
        2 days ago













        3












        $begingroup$

        I agree with nihohit on this. It's important to take the scope of the project into consideration. It might be easier/faster to get the project done this way. If it's only a small type of game or app, going the un-optimized way often saves a lot of time, which then saves money. If it's unlikely that a project needs to be maintained for years or needs to be expanded on, it might make sense to go with what the developers are used to, even if it's considered less of a good practice.



        This doesn't mean that your mindset should be changed, because, if you start a project from scratch you should totally think about the way you implement things and how to make it the cleanest. But, if you're in production and especially if you work with outsourced code, it might be better to use a hack, which is unclean, but takes an hour to implement rather than refactoring a whole section of code to make it clean, which might take a week and costs thousands of dollars.






        share|improve this answer









        $endgroup$

















          3












          $begingroup$

          I agree with nihohit on this. It's important to take the scope of the project into consideration. It might be easier/faster to get the project done this way. If it's only a small type of game or app, going the un-optimized way often saves a lot of time, which then saves money. If it's unlikely that a project needs to be maintained for years or needs to be expanded on, it might make sense to go with what the developers are used to, even if it's considered less of a good practice.



          This doesn't mean that your mindset should be changed, because, if you start a project from scratch you should totally think about the way you implement things and how to make it the cleanest. But, if you're in production and especially if you work with outsourced code, it might be better to use a hack, which is unclean, but takes an hour to implement rather than refactoring a whole section of code to make it clean, which might take a week and costs thousands of dollars.






          share|improve this answer









          $endgroup$















            3












            3








            3





            $begingroup$

            I agree with nihohit on this. It's important to take the scope of the project into consideration. It might be easier/faster to get the project done this way. If it's only a small type of game or app, going the un-optimized way often saves a lot of time, which then saves money. If it's unlikely that a project needs to be maintained for years or needs to be expanded on, it might make sense to go with what the developers are used to, even if it's considered less of a good practice.



            This doesn't mean that your mindset should be changed, because, if you start a project from scratch you should totally think about the way you implement things and how to make it the cleanest. But, if you're in production and especially if you work with outsourced code, it might be better to use a hack, which is unclean, but takes an hour to implement rather than refactoring a whole section of code to make it clean, which might take a week and costs thousands of dollars.






            share|improve this answer









            $endgroup$



            I agree with nihohit on this. It's important to take the scope of the project into consideration. It might be easier/faster to get the project done this way. If it's only a small type of game or app, going the un-optimized way often saves a lot of time, which then saves money. If it's unlikely that a project needs to be maintained for years or needs to be expanded on, it might make sense to go with what the developers are used to, even if it's considered less of a good practice.



            This doesn't mean that your mindset should be changed, because, if you start a project from scratch you should totally think about the way you implement things and how to make it the cleanest. But, if you're in production and especially if you work with outsourced code, it might be better to use a hack, which is unclean, but takes an hour to implement rather than refactoring a whole section of code to make it clean, which might take a week and costs thousands of dollars.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 2 days ago









            iQewiQew

            843




            843





















                2












                $begingroup$

                There is nothing wrong with only using canvas elements



                But there could be bad practices here none the less (but it isn't that).






                share|improve this answer









                $endgroup$

















                  2












                  $begingroup$

                  There is nothing wrong with only using canvas elements



                  But there could be bad practices here none the less (but it isn't that).






                  share|improve this answer









                  $endgroup$















                    2












                    2








                    2





                    $begingroup$

                    There is nothing wrong with only using canvas elements



                    But there could be bad practices here none the less (but it isn't that).






                    share|improve this answer









                    $endgroup$



                    There is nothing wrong with only using canvas elements



                    But there could be bad practices here none the less (but it isn't that).







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Mar 31 at 23:05









                    Draco18sDraco18s

                    5,7731332




                    5,7731332





















                        1












                        $begingroup$

                        I think the only question you should ask in this case is: "Is UI providing all the functionality that I need?"



                        I've head a very similar problem, except I was working with UE4. I wanted ot make a puzzle game where you move a lockpick and try to set up pins in proper position. At first I thought it would be easier and faster to use UI - but it quickly turned out that sprites already had a loot of features that I would have to implement myself. In my case, that answer was "No, UI is NOT providing all the features that I require".



                        It seems like for you it's not the case. But in future, maybe try sprites just to see if it is easier for you in the long run?






                        share|improve this answer









                        $endgroup$

















                          1












                          $begingroup$

                          I think the only question you should ask in this case is: "Is UI providing all the functionality that I need?"



                          I've head a very similar problem, except I was working with UE4. I wanted ot make a puzzle game where you move a lockpick and try to set up pins in proper position. At first I thought it would be easier and faster to use UI - but it quickly turned out that sprites already had a loot of features that I would have to implement myself. In my case, that answer was "No, UI is NOT providing all the features that I require".



                          It seems like for you it's not the case. But in future, maybe try sprites just to see if it is easier for you in the long run?






                          share|improve this answer









                          $endgroup$















                            1












                            1








                            1





                            $begingroup$

                            I think the only question you should ask in this case is: "Is UI providing all the functionality that I need?"



                            I've head a very similar problem, except I was working with UE4. I wanted ot make a puzzle game where you move a lockpick and try to set up pins in proper position. At first I thought it would be easier and faster to use UI - but it quickly turned out that sprites already had a loot of features that I would have to implement myself. In my case, that answer was "No, UI is NOT providing all the features that I require".



                            It seems like for you it's not the case. But in future, maybe try sprites just to see if it is easier for you in the long run?






                            share|improve this answer









                            $endgroup$



                            I think the only question you should ask in this case is: "Is UI providing all the functionality that I need?"



                            I've head a very similar problem, except I was working with UE4. I wanted ot make a puzzle game where you move a lockpick and try to set up pins in proper position. At first I thought it would be easier and faster to use UI - but it quickly turned out that sprites already had a loot of features that I would have to implement myself. In my case, that answer was "No, UI is NOT providing all the features that I require".



                            It seems like for you it's not the case. But in future, maybe try sprites just to see if it is easier for you in the long run?







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered 2 days ago









                            lilKriTlilKriT

                            514




                            514















                                protected by DMGregory 2 days ago



                                Thank you for your interest in this question.
                                Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



                                Would you like to answer one of these unanswered questions instead?



                                Popular posts from this blog

                                Sum ergo cogito? 1 nng

                                419 nièngy_Soadمي 19bal1.5o_g

                                Queiggey Chernihivv 9NnOo i Zw X QqKk LpB