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

How to turn the most infuriating thing in Unity into the most useful tool

Discussion in 'General Discussion' started by MrKysaka, Nov 14, 2022.

  1. MrKysaka

    MrKysaka

    Joined:
    Jan 17, 2017
    Posts:
    3
    Developers probably spend a third of their lives waiting for the compilation of the project, at least that's how it feels. So why don't we make the most of this time?
    I offer to your attention:
    Clippings from documentation while waiting for compilation!
    (example in the attached photo)
    This will help refresh your knowledge, and some will learn something new. And in such a simple way, we turned a waste of time into a useful learning process.
    Thank you for your attention .
     

    Attached Files:

  2. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,553
    This sort of feature would TRULY infuriate many programmers.

    Because a programmer worth their salt would already know all that. And showing them somethin they already know is an insult. As it implies that they could possibly forgot what Clamp01 does.

    The correct approach would be to reduce compilation time to zero seconds, and not this.
     
    Ruslank100 and Metron like this.
  3. MrKysaka

    MrKysaka

    Joined:
    Jan 17, 2017
    Posts:
    3
    Documentation generally does not end with one Clamp01
    It was just convenient to insert this specific example in Photoshop.
    The easiest way to speed up compilation time is to update the characteristics of your PC, but it still won't make compilation instant.
    What you require at the moment is most likely impossible. How can demand something impossible?
    It remains to smooth out the corners and choose from two evils what will benefit.
     
  4. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,082
    Just use alt-tab
     
    Kiwasi likes this.
  5. MrKysaka

    MrKysaka

    Joined:
    Jan 17, 2017
    Posts:
    3
    We all know perfectly well how it ends.

    One day I woke up two hours later watching a YouTube video.
     
    Ony and Martin_H like this.
  6. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,082
    Sounds like you shouldn't have put youtube on your primary monitor.
     
  7. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,553
    Compilation used to be MUCH faster in previous versions, hence "demanding" that is reasonable, as it is not impossible.

    Near instant compilation was quite possible in select languages back in 2005. Delphi 4, for example, had such high compilation speed of inidividual units, that you could use it for syntax checking.

    The problem with your suggestin is that there's nothing to learn from the docs this way. Anything small will be suggested to you by your IDE autocompletion. ANything that is not small will require a hour of reading time, and then you'll be distracting yourself, just like that youtube video.
     
    Ruslank100 and Ryiah like this.
  8. SunnySunshine

    SunnySunshine

    Joined:
    May 18, 2009
    Posts:
    974
    I don't think it's a bad suggestion as long as you can turn it off. I'm sure newcomers to gamedev and Unity would appreciate such a feature.
     
  9. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    9,350
    cool idea in theory, but might end up causing more issues : D
    - Not everyone has docs installed, so then would need to install extra content just for those tips
    - Need to consider translations, different screen sizes, fonts, resolutions
    - Someone in unity has to maintain those, update, fix typos / bugs, get them into releases
    - What if unity builds it as a (another) node.js server to serve that content? (or through hub, to make it more bloated)
    - Unity might get other ideas from this, "lets promote our services and asset store sale here, no harm in that!"
    - Then it expands into personalized tips & trips, need to accept eula's, has to be logged in, soon tracking will be added..(to see CTR click through stats) and eventually cannot disable it from free version anymore (it becomes "ads")

    #ivebeenheretoolong
     
  10. koirat

    koirat

    Joined:
    Jul 7, 2012
    Posts:
    2,068
    And I think it is not a bad idea.
    Personally I would prefer more advanced or more surprising information than just pure docs.


    Or something like this ex: Why use saturate instead of clamp.
     
  11. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,082
    If you don't have docs installed it just opens the website.

    Literally everything in the engine needs to consider this to some extent, but most of this can be done with the default text rendering. Do you think this stops all the other dialogues in the editor?

    Again, this is a trivial consideration.

    This is catastrophizing.

    So is this.

    And this is too.

    The reason this is a bad idea is because it's pointless and helps next to nobody in any meaningful capacity, not for reasons you have to make up.
     
    JoNax97 likes this.
  12. spiney199

    spiney199

    Joined:
    Feb 11, 2021
    Posts:
    7,606
    The time is probably better spent improving reload times rather than adding, uh, 'features' to it.
     
    Ruslank100 and neginfinity like this.
  13. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    1,677
    You are on a fairly high horse if you assume the majority of Unity users has major parts of the docs in their mind.

    I do like the idea in every case. Even if we know the overall methods, the Docs do often hold information we have forgotten or never knew because we used the API in a more basic way.

    On thing it would need however is a menu "Show last Tips" so you can access the info easily if the compilation window closed before you read everything.

    Hmm, wonder if this could be added through a plugin.
     
  14. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,553
    I'm not sure how the hell this is a "high horse", because this is not even a thing to be proud of, but something that you're supposed to be able to do by default when you program. You install software, you read or scan through the docs and get a rough idea of where everything is. It is basics.
     
  15. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,255
    This would be like having the highway code pop up in a car when you're stopped at traffic lights. Dumb idea.
     
    neginfinity likes this.
  16. CodeSmile

    CodeSmile

    Joined:
    Apr 10, 2014
    Posts:
    5,511
    I love the idea! It‘s like what many apps use to introduce new users, and even games use that to present crucial or lesser known features during loading screens.

    Of course it would be trivial and recommended to have a setting that turns this off for users that find it offputting.

    And one step further: select categories of information. Like choose what systems you work with so you only get animation or shader tips or even general coding best practices such as DRY. And of course advertising Rider. :D
     
  17. CodeSmile

    CodeSmile

    Joined:
    Apr 10, 2014
    Posts:
    5,511
    Theoretically it seems possible to do such a "tips on reload" window with editor scripting.

    OnPostprocessAllAssets runs early enough to show an editor window and draw its contents. It could monitor for changes to any file with .cs or .asmdef extension.

    The "before" AssemblyReloadEvent occur too late for the window to render though, that's what I tried first.

    Also with OnPostprocessAllAssets one could automatically close the tips window if didDomainReload is true. Though that may prematurely close the window if the compilation is done quickly.

    Also it doesn't wait for the "Hold on" progress bar to finish, this seems to be running after assembly reload is completed and I'm not aware of any event that would run after the "Hold on" progress bar disappears.
     
    Last edited: Nov 14, 2022
  18. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    while there is waiting time you could us that to update your own projects API / documentation or review your to-do list, etc.
    this way you aren't context switching and losing focus.

    while poking around the docs is probably more useful than looking at youtube, it's still something that distracts mind from task at hand and can lead you down some rabbit hole.
     
    Last edited: Nov 14, 2022
  19. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,624
    Come on people, just skip to the end game directly:

    They should put ads on that compilation window, and then they will be incentivised to make compilation even slower, so users will watch more ads.
     
    Kiwasi and MrKysaka like this.
  20. Niter88

    Niter88

    Joined:
    Jul 24, 2019
    Posts:
    112
    I actually use that time to check on my scripts, or on the backup computer, or just to take a break and fresh myself.
    Very useful
     
  21. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,553
    Suuure.

    "Watch this advert if you want the compilation to finish, and then answer the short quiz about the advert correctly. In event any of your answers are incorrect you'll have to start over. To begin the advert watching experience, please mark all the fire hydrants on the next 50 pictures. Please do not close editor and do not shut down your computer, otherwise you'll be locked out of your account. If you're already locked out of your account, you'll need to contact unity support. Unity support will tell you the address you'd have to visit in person in order to unlock your account, list of required government-issued IDs, and fees involved. Please note that visiting in person is mandatory. Please note that you cannot create another unity account once you've been locked out and if you attempt to do that, fees will only increase. Please note that unpaid fees will incur interest and will be billed to your main bank account. Please note that the interest is compound. Please note that you're contractually obliged to launch Ad-watching experience 10 times per week, otherwise you'll be locked out of your account.

    With all that in mind, we hope that you'll enjoy Ad-watching experience. "
     
    Kiwasi and Niter88 like this.
  22. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,753
    Yep, many games uses such tips, and does great.

    Tips like UI navigation, version controlling, tips on use of popular tool sets, programming principles, would be great. Ideally would need to be automatically targeted for programmers and none programmers. Can be easily detect, if user is working often on scripts or other tools. Such could adjust with tips, to most relevant project process.

    On other hand, I am worry, that such thing would add additional overhead, for progress bars. Also, I wouldn't neccessery like to see internet browser popups, since if anything I expect to take time for load, I would checkout Unity forum, internet, or doing my tee.
     
    DragonCoder likes this.
  23. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    1,677
    The idea here isn't to teach absolute basics but bring up details man devs may have not read before. Yeah, what matters most is to be able to find the exact info when you need it, but what if you don't know what features exist?
    This idea would actually be handy for Unity to showcase their "hidden" features/packages like splines, testing, pooling, shadergraph for birp and so on.

    Several adobe products and other productivity programs as well. And they don't even have the occasion to display while the user is waiting for something else but it's a prompt at startup instead.

    Of course at that point this does get resource intensive as someone has to currate tips and that also for every major version of the software.
     
    Antypodish likes this.
  24. koirat

    koirat

    Joined:
    Jul 7, 2012
    Posts:
    2,068
    After a while a got better idea.
    During "stand by" moments in editor, they should show window with random anti unity rants from the forum.
     
    Ony, Niter88 and Kiwasi like this.
  25. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,624
    Haha! :p I want royalties when they show mine!
     
  26. koirat

    koirat

    Joined:
    Jul 7, 2012
    Posts:
    2,068
    With all your posts, the market would be saturated from the beginning ;)
     
    angrypenguin likes this.
  27. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    I don't mind the idea. Tips during loading screens are a fairly common feature in games. They cost virtually nothing performance wise. And most of the time you ignore and alt tab anyway.

    I don't like the idea of the tips being dynamically loaded from the internet though. Many of us work on slow connections, so there is a genuine possibility of finishing compiling before the tip is downloaded. And given Unity's history with in editor web connections, I don't want to wait for the "tip loading bar" to finish after compiling is done.
     
  28. Niter88

    Niter88

    Joined:
    Jul 24, 2019
    Posts:
    112
    Yes It would need to have some internal tips, in case you don't have connection. It could download some when you're using, before you actually start the compiling.

    Also, @koirat , your profile picture broke, lol