Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Feedback A thread for features that Unity should have.

Discussion in 'General Discussion' started by PaulMDev, Aug 23, 2022.

Thread Status:
Not open for further replies.
  1. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,601
    Yes, separate play / stop buttons would be great.
     
  2. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,601
    Actually... Making that whole toolbar moddable would be great. Even if it's just exposing it's class for extension and reorganising its internals appropriately, it's a significant chunk of real estate I'd love to do useful things with.
     
  3. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,706
  4. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,601
    It's a decent enough workaround as something coming from an end user, but it can't address the underlying issue.

    The play button's design was fine back when Unity and the scenes made in it were typically quite light. These days many people have wait times of several seconds between pressing it and something happening, so the design really just ought to be revised accordingly.

    And I've got a big strip of wasted space all the way across my screen which could have other useful toolbar stuff in it. A whopping 60 horizontal centimeters of screen real estate is being spent on a paltry 10 buttons. Note that the Scene tab has moved to using draggable blocks in its toolbar, similar to most code IDEs I'm familiar with. Would be super sweet if the main toolbar could do the same, and if we could provide our own "Overlays", as they're called in there.
     
  5. Deleted User

    Deleted User

    Guest

    It's great that level blueprints exist... Useful for assembling quick debug maps, but priceless for teams without any technical member (programmer or capable designer).

    However, level blueprints are the most limited form of blueprints which are itself limited in terms of system scripting. If you want to script a game scenario, you'd definitely want that based on a system, not loose graphs COPY-PASTED TO EVERY NEXT SUBLEVEL. That's a huge issue if your game grows in logic, and every game grows in logic quickly.
    Especially if you'd let somebody not experienced in scripting script your game scenario entirely on their own. That leads to nightmares.

    In Unreal's realm, I maintain an open-source plugin designed to entirely replace level blueprints in many projects. A blueprint isn't a solution for everything ;)
    https://github.com/MothCocoon/FlowGraph

    Just leaving it here as a reference as Unity could relatively easily provide a built-in solution for that by curating Bolt properly. And get a bit ahead of Epic in this regard. I hoped that Gigaya would lead to the development of such solutions.

    Plus, they should shamelessly steal Gameplay Tags from Unreal, as is an extremely useful way of referencing things without hard references.
    That's plus a few types of soft references introduced on the engine level, and all these cross-level reference issues go away. Brings much more functionality than Guid references - restricts types of references object, is able to load soft referenced assets, etc. Thought Asset Addresables would provide such an out-of-box solution? Perhaps I misunderstood that.
     
  6. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,601
    Good point. Coming at it from the engine perspective they could well come up with a better solution than the one we're able to feasibly bolt on from the outside.
     
    Deleted User likes this.
  7. TheVirtualMunk

    TheVirtualMunk

    Joined:
    Sep 6, 2019
    Posts:
    150
    We need a way to create our own build targets/platforms or at least make variants of a platform.

    Android by itself have a ton of different platforms (especially now with MagicLeap 2 using android), and the playersettings, android manifest, and texture imports are all different.

    As it is now, we are forced to third party or in-house solutions.
     
    Last edited: Sep 6, 2022
    Shizola likes this.
  8. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,699
    I just discovered an asset for adding your own elements to the toolbar and verified it works in 2021.3.

    https://github.com/marijnz/unity-toolbar-extender
     
  9. judah4

    judah4

    Joined:
    Feb 6, 2011
    Posts:
    256
    More keybindings for the Editor. It would nice to be able to remap showing the cursor from the ESC key to test consistent menu behaviors in the editor.
     
  10. vertexx

    vertexx

    Joined:
    Mar 18, 2014
    Posts:
    365
    An old one but still a goodie...A better more intuitive method of both movement and searching in the Scene window without the necessity of purchasing a tool from the Store to do this.
    Full screen as an option for both windows, not just a "maximise".
    And this will probably show me up as a beginner, but an easier way to save a Prefab without having to uncheck 90% of the save options shown in the requestor!! Oh boy wouldn't that be something.
     
  11. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,638
    Just FYI, this has landed and will ship in 2023.1.0a11. I'm seeing if it can be backported to earlier releases. :)
     
  12. FungusMonkey

    FungusMonkey

    Joined:
    Jun 30, 2016
    Posts:
    41
    I know there are many things that should be handled better. I have read many of your posts and I cannot relate to most but yes, it seems they need to start thinking more about adding even one at a time, things that users are requesting. For me, mostly a hobbyist until now where I am building a custom Gaia like interface for a few who are making a game, for the most part, everything I have needed has worked fine so I don't understand why they keep changing things that already work, of course they have their reasons I am certain. Perhaps they should, when they make changes, have some thread explaining why. One thing I have had issues with, especially now, is the whole distance thing with the camera, I get it. If the user can see 3000 meters, the performance suffers due to too much being processed but why can't I choose then what is seen or not. I am posting this because hopefully someone here may have an answer for me.

    Simple task. I have a moon image I am using when the sun sets, and I need that to be behind the clouds etc. so it doesn't look stupid when visible. Moving the clouds forward doesn't appear to the answer. I would love to be able to send it far away and behave like a directional light and always be visible like handled in the skybox. I create my own skybox and it would be nice to be able to add my own moon image to it. Even if I can't have it be part of the skybox, it is only one image and will not affect performance. If anyone has a suggestion or I am missing something that is available, please let me know. Thanks in advance.
     
  13. FungusMonkey

    FungusMonkey

    Joined:
    Jun 30, 2016
    Posts:
    41
    Not to give you a hard time, this is a good thread. But.. You did say... :)

    "Feel free to criticize my list and remember to be nice and don't get upset for nothing, we're just talking about features and workflows."
     
  14. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,601
    This is off topic and should really be in its own thread. But:
    - You can choose what is and isn't seen. Your post doesn't explain your exact use case, but check out the near/far fields on your camera and the layer masks. If there is just one Camera then also consider looking at enabling / disabling renderers. In some circumstances the depth and/or stencil buffers might be of use.
    - On the topic of the moon being in front of / behind clouds, it's probably worth looking at the order objects are rendered in, and their depth write and depth test settings. For your scenario I'd probably 1) draw skybox, 2) draw sun/moon, 3) draw clouds, all with depth write off and depth test always pass. Then start drawing your other GO's as usual. Using this approach the sky can actually be a little box or sphere around the player.
     
    PaulMDev likes this.
  15. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,010
    Custom Templates That Don't Feel Like a Hack Job

    Right now, creating a custom template in Unity is a frankly cumbersome affair and does not leverage a lot of the features it should. For instance, when I start a new project in Unity, I always import the following packages:
    • 2D Sprite (why is the sprite editor not a standard package anyway?)
    • Input System
    • Cinemachine
    • Post Processing
    More than just packages, however, I also import things I own on the Asset Store, such as:
    • Easy Save
    • Amplify Shader Editor
    • NaughtyAttributes
    I should be able to just create a template for all of this, but more than that, I think that templates should also have an option to let me know if there are updates to both packages and assets, as well as links to the changelog. Something as simple as "the following resources have been updated" in a popup or whatever, as well as a link that simply says "changelog" next to them. Given that the Package Manager and Asset Store are woven into Unity in such a way that I can see this from the editor, this doesn't seem unreasonable.


    The Ability to Select Assets and Packages Before Starting a Project

    This is slightly different from the first suggestion, but related in its own way. Sometimes I may not need an entire template. Maybe I just want Unity to handle me also wanting to add A* Pathfinding or Kinematic Character Controller to my project first thing without having to make a whole template for it. A simple little button in the Hub that says "add packages/assets" that opens a window akin to the package manager so I can have things download and import automatically would be great.
     
  16. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,483
    * An ability to exclude a folder from build (current ~Samples approach is ugly)
    * Proper VSCode support
    * Builtin GLTF support.
    * Automatic material configuration upon export from blender.
     
    Deleted User, florianBrn and PaulMDev like this.
  17. IllTemperedTunas

    IllTemperedTunas

    Joined:
    Aug 31, 2012
    Posts:
    763
    New Suggestion 1: "Mirror Components"
    This would be so damned useful. So imagine you have 2 prefabs, one has the inheritance structure you want, one has the actual values you want. It would be fantastic if we could right click an object and select a "copy components" sort of deal, where it would get a list of components for every child within said object and it could simply unload all the values and references onto a different gameobject and all of its children so long as they share a similar component anatomy. It wouldn't freak out if there was a component missing, it would just do the best it could to essentially "clone" those values onto an existing object. This would allow us to very quickly without any headache mix and match values across scene objecst, prefabs of different inheritances, etc.

    New Suggestion 2: "None destructive parent transform adjustments/ centering/ reseting"
    An ability to adjust the transform of a parent object while leaving child objects in their current positions and scales (especially useful for prefab assets as this is a real pain). Maybe a "reset object" or "Center to child pivots" for the transform object that would keep all child objects at current values.

    A situation pops up often where i don't realize I've created a prefab where the child objects aren't centered to the parent prefab location, and it's a total nightmare to try to clean that up, as there's no way to move the children out and move it once a prefab assets are created. Simply being able to toggle a visual indicator of where the parent transform would be handy as well.
     
  18. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    1,630
    To a degree the usecase that requires this sounds like an architecture based on scriptable objects would be something to consider.
     
  19. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I think Unity should ship 2 kinds of template: a guided template with accompanying PDF (see HDRP's resources that depend on the template but the resources aren't SHIPPED with the template) and of course a blank template.

    So that's not really a feature but something I see crop up often. There's no use in having your tutorial content so far apart from your tutorial scenes. And what are templates, if not an indicator of how to set the engine up for a certain job?

    So I see this problem crop up on the forum quite often. People get going with a HDRP template but then have to put in the work finding Unity's tutorial content and PDFs which are HIDDEN on the blog BEHIND an email wall. Talk about stupid? That's stupid right there. Fix that.

    Anyway, Unreal of course does this. You've got your usual corridor scene with all the samples lined up, but now they all have links to the accompanying resources like guides, tutorials and videos so your learning is in "3D" basically.

    Just... small things at Unity can make a huge difference. I don't know why there isn't someone just going through the entire engine and doing that. Oh wait, that's me. But I won't do it unpaid, but consider it a freebie.

    I know, I sound kind of buzzwordy today.
     
  20. lmbarns

    lmbarns

    Joined:
    Jul 14, 2011
    Posts:
    1,628
    I wish Terrains could auto optimize, simplify in broad flat areas while keeping detail on hills. You can edit the pixel error of the entire thing but still...

    Like in Blender I can generate a terrain from heighmap and then decimate large flat areas down to almost nothing. Terrain to Mesh plugin has been good enough but still would be nice if it was just a feature.
     
  21. IllTemperedTunas

    IllTemperedTunas

    Joined:
    Aug 31, 2012
    Posts:
    763
    Piggy Backing on this Terrain comment, I had this idea to use terrain as a vertical slice where i could paint out areas as if it was a kind of ant farm for my game that takes place on a 2D plane to have cavernous regions but it turns out Unity Terrain is hard coded to only be Z-Up.

    I'd imagine a lot of 2.5 D games could benefit from the ability to rotate the terrain 90 degrees so that it could be used to paint in floating islands or deep caverns. The ease of creating performant level areas with syncronized mesh and collision while being very performant would be awesome.

    Another quick feature for terrain that would be nice would be an auto generate new heightmap for terrain instances that are duplicated. Currently when you duplicate a terrain it becomes a nightmare to try to figure out how to give it its own unique heightmap and you end up going through a nightmare of 2 terrains mirroring each other's collision and visual height data. Even just a warning that said, "Duplicating a terrain is not suggested unless you want 2 identical terrain instances" would save a lot of headache for designers who might want to use one terrain as a base for a new terrain chunk.
     
    lmbarns likes this.
  22. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,005
    Proper 2D pathfinding with local avoidance that doesn't involve GitHub dumped, bugged and poorly documented optional downloads or experimental packages that have been experimental for years.
     
    florianBrn likes this.
  23. REDACT3D_

    REDACT3D_

    Joined:
    Nov 8, 2020
    Posts:
    222
    Things that would be OP:
    - Built-in mesh cutting and destruction
    - Built-in 3d Water and Buoyancy system with wave following and accurate caustic refraction
    - Built-in complete save system for all kinds of variables
    - Built-In 3d character generator (Humanoid or other)

    Things that would be dope:
    -Buttons next to the Transform to rotate and flip objects by some value when clicked.
    Basically a hot button for transform.

    - Freekin' renderer on the raycasts lol

    - Auto format images upon importing via syntax ( like LODS but for _Normals _Emission etc)

    - ez Flying NavMesh Agent with obstacle avoid
     
  24. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,010
    The requirements for the implementation of this vary greatly depending not just on project, but even platform. I do all my mesh destruction by making models in advance and baking simulations to textures, then run it back through shader operations to save on performance, for instance.

    Not everyone wants or needs this degree of realism, so it doesn't make sense to make it an engine feature.

    Save systems are also something that vary from project to project. Different data needs to be saved and serialized in different ways. At most I think there should be a built-in system to handle things like Vector3 serialization to a file natively without having to break apart its values.

    There are already loads of different pieces of software that do this, what benefit does Unity making their own bring?

    Debug.DrawRay. You don't want or need this to be done regularly.

    The requirements for this are so broad and specific to projects that it's literally why AssetPostprocessor exists.

    Once again, the requirements for this vary greatly per project.
     
  25. spiney199

    spiney199

    Joined:
    Feb 11, 2021
    Posts:
    7,199
    I might almost be possible for Unity to do this, I think.

    I've been working on my own 'generic' save game system that I should be able to use in any project. It's pretty much working, though it needed both:
    1. The Odin serialiser and it's ability to swap out UnityEngine.Object references with a value I provide (so a GUID)
    2. A robust database system that these GUID's can be used to look up the asset on load
    So right now I can throw any data object at it, and works nicely saving and loading, so long as all the assets live in my databases.

    The 'database' system could easily be Addressables (which is what mine uses), and Unity's limited serialiser could be adjusted to swap UnityEngine.Object references with their already existing guid (I have to use my own for the moment).

    Of course this ties the idea in with Addressables, but potentially Unity could make it more general for both Addressables and non-Addressables use.

    Iunno, I don't think it'd be that far-fetched for Unity to provide at least that. But hey, for the moment, I made my own solution, like I imagine many of us do.
     
    REDACT3D_ likes this.
  26. REDACT3D_

    REDACT3D_

    Joined:
    Nov 8, 2020
    Posts:
    222
    I like how there's a saved variables tab for visual scripting. And yeah. For the Vector 3 thing. Just to make that easy-to-use and all that. Not the end of the world of course but I notice it's always been a popular request.

    For visual Scripting, It would be interesting to see a table. Just rows and columns.
    I'd use it to save the positions and rotations of items the player interacts with. But for now just use object variables.

    But really how much customization do you need for new users right? Half the time they're attempting to remake their favorite game. I mean there's built-in terrane, trees, gras and lighting for example. Not to mention input systems of which we have two of lol.

    I think just having built-in water and character navigation makes as much sense as built-in navmesh agents.
    all the aforementioned things could be bult-for-and-sold on the asset store. so kind of the more that's built in the less that sells? idk.

    Once they had plans for a water system, but i think that hit the cutting room floor.
     
  27. kaiyum

    kaiyum

    Joined:
    Nov 25, 2012
    Posts:
    686
    My attempt for a generic save system.
    https://github.com/kaiyumcg/KSaveDataManager

    It has a three concepts.
    • Saving small atomic data such as bool, int, vector3, vector2, datetime etc.
    • Saving any serializable class data.
    • Saving big data file(i.e. a custom level data file or custom asset type or similar. typically they can be megabytes to several gigs)
    Atomic save data is basically a playerpref replacement with encryption support and it saves into a file inside AppData or Persistent data. You can encrypt file name along with your inside data contents. Workflow is similar to playerpref but a lot better, a lot of data types are supported natively that playerpref does not recognize. (i.e. ray2D or DateTime)

    Class data are jsoned and saved accordingly. Async read/write support. My next plan is to have user provided save data class much like in Unreal engine.
    :)

    So ya, save system in unity can be a lot better.
     
    Ryiah likes this.
  28. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,638
    Please don't resurrect a nearly-year-old thread just to have a flamewar.
     
Thread Status:
Not open for further replies.