Search Unity

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

Official World Building Public Roadmap and Feature Requests

Discussion in 'World Building' started by EricDziurzynski, May 16, 2023.

  1. Onigiri

    Onigiri

    Joined:
    Aug 10, 2014
    Posts:
    459
    I honestly dont think layers are flexible enough. We need strong procedural workflows not only for terrains but all kinds of objects big and small like buildings, roads, bridges, pipes, cabels, fences etc. Better to take inspiration from things like unreal pcg and railclone and make node based workflow. I feel like by the time they would release new environment system it will be already outdated.
     
  2. Flavelius

    Flavelius

    Joined:
    Jul 8, 2012
    Posts:
    943
    It's unlikely that this will release anyway, and the more thirdparty tools show up the less likely it gets. It's more likely that they continue to add or extend APIs to encourage the use of the asset store for thirdparty tools to fill that niche, which is a little sad but also good at the same time.
     
  3. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,457

    I wish- the terrain API's are 10 years old, and way, way out of date. They should be fixed, but no one seems to want to fix any old code in Unity, just write new systems instead. Even if they get this new terrain system done pronto, we'll be living with those old APIs for years longer.

    Example:

    Code (CSharp):
    1. public void SetDetailLayer(int xBase, int yBase, int layer, int[,] details);
    The docs say the data for details is stored as an R8 texture, though I've been told this isn't actually true. Either way, details use an 8 bit value, not a full int. So when I render this stuff on the GPU, I have to read back the resulting r8 texture and convert it into a int[,] in a job, just to set it trough this ancient API and have it internally turn it back into 8 bits again. I suspect this is because the API hasn't been updated since the time Unity had 3 different scripting languages and one of them didn't support a byte type. That's how old these APIs are.

    Anyway, point is, I'd expect them to finish a new terrain system before I'd expect them to fix the APIs for asset store publishers.
     
  4. EricDziurzynski

    EricDziurzynski

    Unity Technologies

    Joined:
    Mar 11, 2022
    Posts:
    51
    Hi All,

    Apologies for my lack of responses for a while. I'll just say a lot has been going on since my last post but I want to assure you that World Building tools and technology are still high priority. I still can't commit to any specific timelines yet but I do still read all of your posts and appreciate the feedback, good or bad, and all the comments. We are actively re-working our priorities and efforts to deliver the most value possible as quickly as possible. It is definitely a complicated process to push features and tech into the editor that support as many users, game genres, and platforms as possible and to ensure that it works as expected with all the other necessary unity systems and technology. I assure you we are doing as much as we can on our team to set up unity users for success on the long haul.

    @jbooth , you do incredible work and we all appreciate everything you do for Unity and the community more than I can express in words and we are probably overdue for a conversation so we'll be trying to set than up in the near future. I can say that everything you are doing will likely work well with any new systems we provide and will continue to add a ton of value and impact to anyone choosing to build large, open world experiences in Unity. If anything, we hope that you will continue to build upon the capabilities and technology we release as you are 100% correct that you will be able to release usable additions to our tools and tech much faster than we can and I feel confident that anything we provide will only empower you to do more and provide more value on top of our systems as you do today.

    As for the Shader Graph integration, I did push that back to 'under consideration' as we can't yet commit to a timeline for release but we will likely create 2 separate cards for the roadmap for this particular capability and one will happen sooner and one will get pushed back longer but it's still part of the long term plan. I'll try to post updates more frequently moving forward and be as transparent as I can until we can commit to a realistic timeline for the release of any new tech.

    Thank you all again for being active on our forums and for any support and use of Unity. We appreciate you all very much.
     
  5. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,457
    Thanks! Happy to have a conversation any time- I have a lot of ideas about both the current terrain API and how I'd build a more modern one to support the range of workflows and capabilities that people request. I think the more work Unity puts into the base system, the more the ecosystem can flourish around it.
     
    jwinn and Rowlan like this.
  6. asiertroiti

    asiertroiti

    Joined:
    Jan 28, 2021
    Posts:
    15
    Hello, now that you have added in the 2022 version the feature that the grass aligns with the terrain, I think it would be good if in the terrain options, specifically in the tree placement section, when placing them you could choose how deep you would like Regarding the terrain, I explain to you, when I create a terrain and make tall mountains and I want to place trees on it, the terrain, being very vertical, remains as if they were floating as it appears in this image that I have shared.
    And of course I could remove these trees and put them in manually, but that would be a lot of work, another option would be to create 2 prefabs of the same tree and have one have the pivot higher (these would be the ones on high ground) and the others would be the originals They would be on flat terrain, but if you have more than 1 type of tree it would also be more work.
    So add that small function of choosing before placing the trees how deep you want the base of the tree to be with respect to the terrain (it can be done with respect to the terrain or with respect to the pivot that the tree prefab has, perhaps that can be done to choose) would be quite good and would make the work easier for some.
     

    Attached Files:

    EricDziurzynski likes this.
  7. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,457
    So I allow this with MicroVerse, but they eventually get reset to align with the terrain anyway. I think it's due to something in the Unity terrain tools calling terrainData.SetTreeInstances and passing true to the scond parameter:

    Code (CSharp):
    1. public void SetTreeInstances(TreeInstance[] instances, bool snapToHeightmap);
    public void SetTreeInstances(TreeInstance[] instances, bool snapToHeightmap);

    So yeah, being able to do this in Unity's terrain tools would be nice, but having that fixed pretty much requires that this option be removed, because some internal or external tool is likely to pass true and destroy the offsets.
     
    EricDziurzynski likes this.
  8. EricDziurzynski

    EricDziurzynski

    Unity Technologies

    Joined:
    Mar 11, 2022
    Posts:
    51
    @asiertroiti , thank you for this feedback and the explanation. This is an extremely helpful insight and helps validate some things that are already high priority for us. It's clearly an issue in terrain. I'll add all of this to our backlog to make sure your feedback doesn't get lost.
     
    asiertroiti likes this.
  9. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,110
    @EricDziurzynski what the World Building seriously lacks - and I also mean that when I use Unreal Engine - is a smooth, flexible and fast navigation. I wrote an asset for that to solve that problem for myself, but frankly if you guys wanted to integrate that into Unity, feel free to use it as it is or enhance it to whatever is required for your overall Unity internal standards and I'd give that asset away without any additional requirements from Unity's side. It's all about Community for me.

    Fact is: You just can't move in a time saving manner in Unity's World Building. To not make it look like an ad of my asset, here's just a video:



    It's basically a combination of 2 things:
    • a mini-map as it's common in games
    • the windows task manager which zooms out and back in to the target
    It's really nothing fancy, but it's such a time saver for navigation in large worlds.
     
    wyattt_, EricDziurzynski and Lymdun like this.
  10. Deleted User

    Deleted User

    Guest

    Will there be API's for getting data from the new terrain? i.e. (Sounds from objects colliding with rock, grass, sand. Have these materials been recently affected by water etc.)

    Will there also be an easier way for interacting with vegetation from the new terrain system. (an explosion that uproots trees and sets nearby plants on fire.)

    Could the new terrain system be compatible with ECS?
     
    Last edited by a moderator: Oct 11, 2023
  11. EricDziurzynski

    EricDziurzynski

    Unity Technologies

    Joined:
    Mar 11, 2022
    Posts:
    51
    @Rowlan thanks for sharing this and yes, this is definitely a known problem that needs to be solved and part of our existing backlog. I'll forward this to our engineering team to evaluate and make note of it in our backlog entry as well. It's not currently a high priority problem to solve but could become one. Really appreciate the solution you made!

    @OutDoorsScene , our intent is to provide APIs for all of this stuff in any new system yes. Everything you mentioned here are very valid needs! We can't speak to any more of the specifics yet but look forward to being able to share them as soon as we can.
     
  12. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,110
    EricDziurzynski and wyattt_ like this.
  13. TJHeuvel-net

    TJHeuvel-net

    Joined:
    Jul 31, 2012
    Posts:
    836