Search Unity

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

GeNa - Sophisticated procedural content spawner

Discussion in 'Assets and Asset Store' started by AdamGoodrich, Oct 22, 2016.

  1. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    232

    You will need to check to make sure your Graphics card can handle Compute Shaders.
    Most dedicated graphics can, some of the older graphics cards don't so we have to put a disclaimer in there just in case.
     
  2. markoal

    markoal

    Joined:
    Aug 31, 2015
    Posts:
    30
    Hi! I recently bought GeNa and it just doesn't work.
    Nothing actually works in my case. I tried using it on an existing project that uses the newest version of Gaia 2 - it's just terrain (3x3 = 9 terrains). I tried spawning a road spline, Ctrl + Left Click or any combination doesn't do anything, just selects my terrain, same for spawner. I also tried adding grass or something in the spawner but it didn't help.
    I was using Unity 2019.3.14f1 and then upgraded it to 2020.2.2f1.

    Before I invest more time in recreating a new project or something similar I hope it's some beginner's mistake.
    upload_2021-4-18_11-34-23.png
     
  3. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    835
    I'm new to it as well. Just double check the tutorials and check sample scenes to make sure it loaded properly. If not you might need to delete and reinstall.
    Good luck!
     
    markoal likes this.
  4. Pix10

    Pix10

    Joined:
    Jul 21, 2012
    Posts:
    850
    Check that you have Gizmos enabled in the Scene toolbar (and appropriate Gaia/GeNa gizmos enabled if you're filtering).
     
    dsilverthorn likes this.
  5. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    840



    I have used Gena since its release, I also have used Easy Roads since near its release and have hundreds if NOT thousands of hours in both...

    Gena is amazing for , cliffs, towns, game objects etc, nothing can touch it .. period... Roads, Gena pro is a lot easier to use, but its not as mature YET. ( I have no doubt it will be. Both are DLL's in that regard, both have API access.

    Both are professional tools.. My con on easy roads, is, that it has a deep learning curve over Gena.. But making tunnels, connecting interactions, is alot more mature in Easy Roads. and adding road curve objects is better in Easy roads...

    My con about GENA pro, is that its new, not mature yet.... Once it matures I have no doubt it will suppress easy roads, but every time I went to help users, with easy roads, most struggled.... So right now what Easy roads has over GENA is that its more mature...

    Gena, is super easy to use, when it comes to roads, it also is nice when carving roads, rivers etc... I use them both together and play on there pros for roads currently.... But everything else I use GENA and Octave 3d/Monkey/My own tools for level design and world building.. They all work together, nicely.....


    Gena is one of my favorite tools all around for Unity..... but I still do recommend Easy Roads for side objects.... until Gena pro, matures. But for the rest I recommend GENA pro.....100%.... I know PW will mature GENA, and it will completely make Easy Roads, near useless..... PW always make there tools easy to use and this helps when developing.... and being creative....

    If you could only buy one, I recommend Gena pro...




    @ to Developers.
    I do recommend, that GENA pro in the future , adds side object supports, with support for start / end cap support for shape type of side objects. I know you guys always add awesome features, I have no doubt, it will mature... I have seen GENA, start and become an amazing tool, that I wish I have in Unreal... Unreal has amazing tools as well, but, many of GENA features, I wish I had in UE.

    I develop a lot in Unreal, and I love the engine a lot, but I miss Gena when I develop in UE.

    So Gena will always have that special place in my heart, as it has been one of those tools, I just could never develop with out....
     
    Last edited: Apr 20, 2021
    dsilverthorn likes this.
  6. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    232

    Thank you for the positive and informative review:
    One thing I wanted to mention is that you can add side objects to roads. To do this you need to add the spawner extension to the road or river or any spline. Then you can spawn objects for example if you wanted to create a road spline then add the spawner extension that has light poles you can spawn them along the spline and change their rotation and position. Start and Endcap support I am not really sure what this is can you please provide an example?

    Here is a quick little screenshot with the settings:
    upload_2021-4-19_22-47-57.png
     
  7. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    840
    I know you can, if you ever use EASY ROADS, its much more mature, on that feature. (which in my state and others its really needed. Plus you can cap, it as seen in that video.

    , GENA you can't, it don't work the same way. It needs to mature. I used both tools extensively....for years now, and Pro, since its release.... Its still has a ways to go with side objects and no where near the functionlity of Easy roads.. Which is why I mentioned it.....

    around 17 seconds, the Editor, for retaining walls, is just great. Houdini also has something like this. my feed back is I hope to see Gena pro do this one day. ( Yes I know it takes time)

    But I have to be fair with pros and cons, even though Gena is my favorite tool.:)

     
    Last edited: Apr 20, 2021
    BryanPW likes this.
  8. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    840

    ^^^^ Gena pro does not have this. ( so I recommend this, since its widely used in many states, and areas.. But like I said, I know Pro is new, so I have no doubt it will, be even better. ( but this is my feed back based on the two tools.) relating to roads.


    Edit: Just thought of something. Maybe I will do this myself with the add ons. Dunno how hard it will be, since Pro is locked down now, but I will take a look. instead of building a Shape Editor..

    You could just leverage, Unity ProBuilder instead for this, with Gena pro.. https://unity3d.com/unity/features/worldbuilding/probuilder

    Going to see if I can look into this or not.
     
    Last edited: Apr 20, 2021
  9. newguy123

    newguy123

    Joined:
    Aug 22, 2018
    Posts:
    1,248
    Since my initial question, I've since went ahead and bought both Gaia Pro 2021 and Gena Pro. Also CityGen3D

    Citygen is awesome for using real world map data, heights, and roads from openstreetmap. Its a very easy thing to do. Our main use case is using real world data for terrain, roads, buildings etc.

    My wish is for Gena Pro to be able make roads from openstreetmap data, and for Gaia to be able to make terrain from real world data (I'm not talking about stamps).

    Failing that, I'd like to see Gaia, Gena and CityGen to somehow work together, each using the other's strenghts. However currently I'm not seeing how I would use the 3 together...
     
  10. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    840

    actually CityGen3D, its limited, I own it as well, it serves a purpose, but its lacking.. I recommended for OSM to use HOUDINI. Which you can use in Unity with even GAIA, and GENA... both as I do. I bought City Gen to leverage some of that aspects, and when I went to use it with modular assets out of the box, you are sadly not able, its mainly super low poly for RACING games, further way distance views, which if you seen my posts, was what that asset is more about.. Its still a decent tool but when working with tools together, having all of them as DLL's you end up with issues. City Gen is also a DLL.. Gena as a DLL is easier to work with since its related to spawning, and so forth..... City Gen I found it nearly impossible to get it working with modular assets...and actually procedural textures....as a whole.

    I spent a lot of time with this and sadly if you have detailed scenes, and actually modular assets, forget it....you will beat your head on the desk for hours... With Houdini, in the matter of an hour, I had OSM data, and my modular assets all working great. Use Gena Pro and aspects of GAIA ....., for everything else.

    I recommend to use Houdini, with GAIA, GENA. for OSM....it used in many AAA games, and there is a indie version as well.. on Steam.... if you are just a student, and aren't releasing, you can use Houdini 100% free..... from there website...

    For development if that is what you are doing.... I would use Houdini... most games do and I have for a few years now. There is integration for Unity as well.

    https://www.sidefx.com/products/houdini-engine/plug-ins/unity-plug-in/

    https://www.sidefx.com/tutorials/city-building-with-osm-data/

    https://createcg.net/create-city-building-in-houdini-using-oms/

    process is the same for Unity... more or less... You could also use the OSM data for roads and then use GENA pro to create if you wanted to... or just create in Houdini and bring it over to Unity. and use Gena pro for everything else.

    I can't see why you couldn't use GENA pro, from OSM data, once the data is in place.. ( prolly something for PW to consider in the future. maybe? Making it out of the box? that would be neat. for sure. for OSM data.


    News, also look into https://www.mapbox.com/mapbox-studio I been using this some as of late. I plan to see how it works if I bring the vector tiles into Unity and use GENA pro, to map roads from real Data.... a few people I use to work with, told me about it as they are using it on a game at the studio I used to work for , so I plan to try this as well, Houdini is fantastic either way. but I always look at new tools to see what is better or find new ways.... So we will see if this will cut out some work flow as well, which would be nice to be able to use with Gena pro as well . we will see...
     
    Last edited: Apr 23, 2021
    Mark_01 likes this.
  11. newguy123

    newguy123

    Joined:
    Aug 22, 2018
    Posts:
    1,248
    Actually the citygen3d dev is looking into some bits of mapbox integration into citygen. He also has a bunch of nice things on the roadmap.

    Houdini is cool and all, and you get great results following those millons of steps. I like CityGen3D since I just choose a map location and it does the rest fo me. What I dont like about it is the materials look junk out the box, too game looking. This will be fine for most people, but we dont work on games, we work on real world simulation and visualisation.

    PW metnioned a Geospatial product, but no news when it will be released, or even IF it will be released. Sounds like they use it for their own projects they do for clients https://www.procedural-worlds.com/products/professional/gaia-geospatial/
    I would love it if that can be purchased on Asset Store
     
  12. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    840

    Not sure where you get millions of steps but, many larger games use this in the professional world games like Wild Lands, and other larger open world games. and I have used for about 5 years or so now, and I spent 10 mins making OSM data. 1 hour in total....... and adding modular buildings...So if you are using a million steps, you are not using properly.




    But hey what ever works for you, I just was giving you options. If it works for you great. I personally have used a lot of tools over the years and found it useless for Open world , games that need realism. Its fine for NON games I suppose. Its still a decent tool, but you where asking about an integration, of sort. Ya I know PW has has GeoSpatial and other tools as well... but as I said plenty work with GAIA today and have seen GAIA 1 .. the issue is to many people are looking for one click solutions..

    making larger world takes time and experience, so good luck finding that ONE click solution.

    I'm sure PW will post something soon, .. https://www.procedural-worlds.com/products/professional/gaia-geospatial/ This is listed under professional. So give that a wait, i'm sure they will announce something soon as they are ready.

    I personally use only proven tools, like GAIA, GENA, Houdini, and other tools, to much JUNK on the store...
     
    Last edited: Apr 24, 2021
    Mark_01 likes this.
  13. cowj

    cowj

    Joined:
    Mar 10, 2019
    Posts:
    17
    why my spawner could not Spawn in same Location when i Respawn After Undo,Seeds not Change
     
    S4G4N likes this.
  14. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,210
    Hi @cowj
    This forum is not the official support platform.
    To get faster help head over to the PW Discord or the PW Web Support
     
    AdamGoodrich likes this.
  15. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,779
    We do use Gaia GeoSpatial when needed for internal projects, but it is not at the level of robustness that would enable it to be put on the asset store.

    The issue with the asset store is that people want stuff super cheap forever, and this makes it hard to support anything of any level of sophistication and cost to produce and maintain.

    On top of this there are a proportion of users out there that shoot from the hip and down rate anything that doesn't give them instant gratification, and in a significant majority of cases their issues are self inflicted.

    To try and negate this we code for all sorts of potential issues, and this annoys more advanced users when we get it wrong and get in their way.

    What this ends up doing is making it harder and harder to make a product that just works in all cases across all pipelines.

    Gaia Pro is awesome for design time generation, but not coded at all for runtime, and what we want GeoSpatial to do is support both.

    If you consider how GeNa Pro has been evolving you might get a sense of where we are headed. It can do sophisticated roads, rivers, structures, terrain shaping and more. It is both design time and runtime enabled, and api controllable.

    In the next week we should be able to release the next generation of our rivers, and shortly after that we will start working on runtime mesh based terrain generation.
     
  16. perholmes

    perholmes

    Joined:
    Dec 29, 2017
    Posts:
    296
    Hi,

    I have a GeNa Pro pre-sale question. Is it possible to randomize the rotation of trees in more than the Y direction? I find that real forests have crooked trees, and when I place using e.g. Prefab Brush, I randomize X and Z rotation from -20 to 20. It makes the forest look drastically more life-like.

    I have to ask, because I've seen countless tools that don't think about X and Z rotation, and basically only produce golf course vegetation. So if it does this, I'll get it on the spot.

    Best,

    Per
     
  17. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,779
    Yes absolutely. You would need to spawn them as prefabs however as terrain trees wont allow you to do this.

    So then you have a potential performance issue... but we have that nailed as well. With next major Gaia Pro 2021 release we will also be releasing the next major release of Flora... and in GeNa we will add a tool to ingest them and render them instanced indirect.

    To give you a sense of the performance boost check this image below... 2.6m trees in this stress test scene!

    Trees.jpg
     
    Last edited: Jul 27, 2021
    Mark_01 and StevenPicard like this.
  18. perholmes

    perholmes

    Joined:
    Dec 29, 2017
    Posts:
    296
    But ingesting prefabs still means that they're prefabs in the scene, and just GPU instantiated like with GPUInstancer, correct?

    That's the workflow I'm already doing. I'm trying to come up with a way that doesn't involve tens of thousand of prefabs, but aren't also severely limited in their randomness. Basically, everything generated with the Unity terrain tool looks like a golf course because there's too little randomness. I'd like to simply be able to add deterministic rotational randomness within a range, even if it's not configurable, as a pure rendering decision. But maybe I should add the feature to GPUInstancer myself, it can't be more than a few lines of HLSL.

    I really do think that just because the Unity terrain tool doesn't support a feature, you shouldn't be limited to also not providing it, because it's still you deciding how to render it, and you can inject decisions. It should only be about how much granularity you can give people, it shouldn't be about being limited to not having the feature because Unity doesn't have it.
     
  19. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,779
    You asked about getting trees to have a more natural aspect - which Unity terrain does not support.

    So the alternative is to spawn using prefabs - which can be rotated and placed any way you want, and GeNa does that easily.

    The next challenge is performance... the approach we are taking that solves this is Flora. It will have the ability to ingest and export prefabs... and will render this instanced indirect at runtime. You can also delete the game objects when you ingest... so no.. they are not lying around and you get 100% control.

    While Flora does use instanced indirect, tile culling and other render management is done on CPU instead of GPU. The inherent flaw of GPU instancer is that its doing all that work on the same GPU that is also trying to render your scene. You are using the bottleneck to try and manage the bottleneck, and this does not make sense to me.

    Flora also supports things custom rotation influence on the GPU as well, so you could just import your trees from the terrain instead and add in the variation you mention.

    Additionally, Flora will also work happily with grass and trees on mesh terrains.. it doesn't care as long as it has the source data.

    I don't understand what you are saying here. I make a living out of making tools that do stuff that Unity can't.

    To get a sense of what Gaia brings to the table, here is a set of tutorials on the latest version:

     
    Last edited: Jul 27, 2021
  20. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,779
    Here is a video on our latest asset release. It is a procedural spawner pack for the POLYGON Fantasy Kingdom by Synty Studios. It needs GeNa Pro and optionally Gaia Pro to work.

     
    Mark_01 likes this.
  21. perholmes

    perholmes

    Joined:
    Dec 29, 2017
    Posts:
    296
    OK, that's good, so I gather that Flora will in a sense let you set up the scene as prefabs and then absorb it and render it on the GPU? Can vegetation also be placed and edited with more control directly with Flora, or should the geometry start as prefab placements?

    What is the release date of Flora?
     
  22. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,779
    Yes - one work flow is to set up prefabs and render with Flora. Another is with terrain trees, and I am sure we will do an API as well.

    Flora is already included free as part of Gaia Pro 2021 and it does grass in hdrp. The next free update adds support for trees and is a significant performance improvement on the first. It should land in the next week or two.

    After that we will release Flora as a standalone product as well.
     
    Mark_01 likes this.
  23. perholmes

    perholmes

    Joined:
    Dec 29, 2017
    Posts:
    296
    Hi,

    Purchased GeNa Pro today, and I have a crash. It's probably because I'm on bleeding edge Unity beta (2021.2.0b4.3123) against Gena Pro 3.2.5. I realize this sometimes causes problems, but I'm forced to since I depend heavily on UI Toolkit.

    It crashes on line 68 in UndoProManager.cs:

    upload_2021-7-31_11-38-5.png

    This is the crash:

    Code (CSharp):
    1. ArgumentException: method arguments are incompatible
    2. System.Delegate.CreateDelegate (System.Type type, System.Object firstArgument, System.Reflection.MethodInfo method, System.Boolean throwOnBindFailure, System.Boolean allowClosed) (at <fd976842c3634855aba83404a44c7daa>:0)
    3. System.Delegate.CreateDelegate (System.Type type, System.Reflection.MethodInfo method, System.Boolean throwOnBindFailure) (at <fd976842c3634855aba83404a44c7daa>:0)
    4. System.Delegate.CreateDelegate (System.Type type, System.Reflection.MethodInfo method) (at <fd976842c3634855aba83404a44c7daa>:0)
    5. GeNa.Core.UndoProManager.EnableUndoPro () (at Assets/Procedural Worlds/GeNa/Scripts/Editor/UndoProManager.cs:68)
    6. GeNa.Core.UndoProManager..cctor () (at Assets/Procedural Worlds/GeNa/Scripts/Editor/UndoProManager.cs:50)
    7. Rethrow as TypeInitializationException: The type initializer for 'GeNa.Core.UndoProManager' threw an exception.
    8. UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at <bd5db0e0a5434805b15a1c521ea345cc>:0)
    As far as I can see, the delegates are the same format on all sides, so I'm a bit confused. I'll try to debug it myself, but I'd drop it here in case you check forums on a weekend. You obviously know your code much better than I do.

    And I must say, kudos on GeNa Pro. I've been a purist with spawning using various prefab brushes, Grabbit for physics etc, and I now see that that's for idiots. GeNa Pro is my dream spawner that strikes a perfect balance between automation and control. I should have switched a long time ago. I just need to get past this bug. Since it's in the undo manager and called from everywhere, practically nothing works.
     
  24. perholmes

    perholmes

    Joined:
    Dec 29, 2017
    Posts:
    296
    This probably doesn't help, but the line

    Code (CSharp):
    1.             MethodInfo getRecordsInternal = undoType.GetMethod("GetRecordsInternal", BindingFlags.NonPublic | BindingFlags.Static);
    returns something very different than an Action<object, object>:

    Code (CSharp):
    1. Void GetRecordsInternal(System.Object, Int32 ByRef)
    At least that's from inserting

    Code (CSharp):
    1.             Debug.Assert(false, getRecordsInternal.ToString());
    So it looks like maybe the Unity undo system has changed significantly recently, or the delegate isn't properly registered to begin with and there returns a generic type. There are no other errors in the log.
     
  25. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,779
    Yep. I was concerned that Unity may change this. Can you please log a ticket with this information to service desk linked to from here: Support | Procedural Worlds (procedural-worlds.com)
     
  26. perholmes

    perholmes

    Joined:
    Dec 29, 2017
    Posts:
    296
    Hi,

    I've posted a support ticket. When you have a fix and if it's a few lines of code, I'd love if you'd email the changes so I can make a manual edit. I'm completely blocked, since the app crashes on every frame and also breaks much Unity functionality.

    But I'm happy to be a canary, because this is likely a Unity change that will become standard in the next proper release, so it's good to know about it.
     
    StevenPicard likes this.
  27. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,779
    Yeap - thanks for the heads up.

    We managed to fix that issue, but then something else pops its head up. It's extremely frustrating.

    As much as anything else, being an early beta, its quite likely that the next issue is with Unity rather than with us. We can't dig too deep as Unity is a black box.

    It would be very frustrating to have to roll that undo system out, as it currently works quite nicely.
     
  28. Mannilie

    Mannilie

    Joined:
    Jan 29, 2016
    Posts:
    6
    Hey there everyone,

    Looking deeper into this issue, I found that Unity has definitely made changes to their Undo System internally and renamed a few of their functions. I've attempted to fix the issue with UndoPro by changing 'GetRecordsInternal' to 'GetTimelineRecordsInternal'.
    upload_2021-8-1_11-0-4.png

    This has partially fixed the issue where the errors stop accumulating and UndoPro gets all of the information necessary to perform undo + redo operations. However, the main issue that started happening is this archaic Unity error that appears to only be happening in this new Beta version of Unity.

    upload_2021-8-1_11-1-25.png

    I'm unsure what causes this error but I've made the developer of UndoPro aware of it on their GitHub repo: https://github.com/Seneral/UndoPro/issues/4
     
  29. Mannilie

    Mannilie

    Joined:
    Jan 29, 2016
    Posts:
    6
    Okay great news!

    This bug ended up being divided into two totally unrelated issues.
    1). Unity has moved their internal method 'GetRecordsInternal' to 'GetTimelineRecordsInternal'.
    To fix this, I simply put a version-specific wrapper around the effected area like so:
    Code (CSharp):
    1. #if UNITY_2021_2_OR_NEWER
    2.             MethodInfo getRecordsInternal = undoType.GetMethod("GetTimelineRecordsInternal", BindingFlags.NonPublic | BindingFlags.Static);
    3. #else
    4.             MethodInfo getRecordsInternal = undoType.GetMethod("GetRecordsInternal", BindingFlags.NonPublic | BindingFlags.Static);
    5. #endif
    6.             getRecordsInternalDelegate = (Action<object, object>) Delegate.CreateDelegate(typeof(Action<object, object>), getRecordsInternal);
    2). The 'CheckConsistency: Restored Transform child parent pointer from NULL' error.
    After a long time of diangosing, I finally figured out what was causing this issue. It appears to only happen if users call 'Undo.RegisterCreatedObjectUndo' in any events other than EditorApplication calls. This is because Unity has restricted users to only call it during EditorApplication methods.

    Therefore, I updated GeNaUndoRedoEditor (which is in the 'GeNaUndoProcessorEditor' file) to push to a queue and only perform those operations within EditorApplication.update.
    Code (CSharp):
    1. using System.Collections.Generic;
    2. using UnityEditor;
    3. namespace GeNa.Core
    4. {
    5.     [InitializeOnLoad]
    6.     public class GeNaUndoRedoEditor
    7.     {
    8.         static GeNaUndoRedoEditor()
    9.         {
    10.             UndoProManager.EnableUndoPro();
    11.             GeNaUndoRedo.onRecordUndo -= OnRecordUndo;
    12.             GeNaUndoRedo.onRecordUndo += OnRecordUndo;
    13.             EditorApplication.update -= Update;
    14.             EditorApplication.update += Update;
    15.         }
    16.         private static Queue<UndoEntity> undoQueue = new Queue<UndoEntity>();
    17.         private static void Update()
    18.         {
    19.             while (undoQueue.Count > 0)
    20.             {
    21.                 var entity = undoQueue.Dequeue();
    22.                 RecordUndo(entity);
    23.             }
    24.         }
    25.         private static void ProcessEntity(UndoEntity undoEntity)
    26.         {
    27.             switch (undoEntity)
    28.             {
    29.                 case UndoRecord undoRecord:
    30.                     RecordUndoPro(undoRecord);
    31.                     break;
    32.                 case SplineEntity splineEntity:
    33.                     if (splineEntity.Spline != null)
    34.                         Undo.RegisterCompleteObjectUndo(splineEntity.Spline, splineEntity.name);
    35.                     break;
    36.                 case ResourceEntity resourceEntity:
    37.                     if (resourceEntity.GameObject != null)
    38.                         Undo.RegisterCreatedObjectUndo(resourceEntity.GameObject, resourceEntity.name);
    39.                     else
    40.                         RecordUndoPro(resourceEntity);
    41.                     break;
    42.                 case GameObjectEntity gameObjectEntity:
    43.                     if(gameObjectEntity.m_gameObject != null)
    44.                         Undo.RegisterCreatedObjectUndo(gameObjectEntity.m_gameObject, gameObjectEntity.name);
    45.                     break;
    46.                 case TerrainEntity terrainEntity:
    47.                     RecordUndoPro(terrainEntity);
    48.                     break;
    49.             }
    50.         }
    51.         private static void OnRecordUndo(UndoEntity undoEntity)
    52.         {
    53.             undoQueue.Enqueue(undoEntity);
    54.         }
    55.         public static void RecordUndoPro(UndoEntity undoEntity) => UndoProManager.RecordOperation(undoEntity.Perform, undoEntity.Undo, undoEntity.Dispose, undoEntity.name, undoEntity.mergeBefore, undoEntity.mergeAfter);
    56.         public static void RecordUndo(UndoEntity undoEntity)
    57.         {
    58.             switch (undoEntity)
    59.             {
    60.                 case UndoRecord undoRecord:
    61.                     int group = undoRecord.Group;
    62.                     ProcessEntity(undoRecord);
    63.                     Undo.CollapseUndoOperations(group);
    64.                     break;
    65.                 default:
    66.                     ProcessEntity(undoEntity);
    67.                     break;
    68.             }
    69.         }
    70.     }
    71. }
    The next GeNa update will reflect these new findings and contain fixes to them.
     
    Last edited: Aug 1, 2021
  30. perholmes

    perholmes

    Joined:
    Dec 29, 2017
    Posts:
    296
    That's dynamite! Sorry for dragging you in on a weekend!

    There's a small issue with the change to GeNaUndoProcessorEditor.cs. In the pasted code, all the "splineEnity.Name" things (and 3 others) actually need lower case ".name" on my end to compile. Is the code above just hand-edited into the forum (and hasn't run through C# yet), or do we actually have this difference in what compiles?

    Because that's a really strange difference. Unless you perhaps updated the undo framework in the meanwhile, and the author has renamed those fields in their latest version?
     
  31. Mannilie

    Mannilie

    Joined:
    Jan 29, 2016
    Posts:
    6
    My appologies, yes I updated the Undo Framework's name value. But it was copy & pasted from a source that was a test so in the future, the 'Name' property will actually still be the 'name' value when I drop the new GeNa version.

    Thank you for your patience! Hope it all works after you made that change. (I just updated the C# source in the above reply as well).
     
  32. mwkacca

    mwkacca

    Joined:
    Oct 6, 2013
    Posts:
    7
    hi
    in hierarchy section,the gena option is not showing the roads spline..how to add it ?its showing only gena splines and gena spawners...i have easy roads installed too..please help how to add the road option in gena in hierarchy
    TIA
     
  33. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    555
    Hmm, this sounds like you would have an older version of GeNa installed? Could you please check and let us know the version number on top of the GeNa spawner here:
    upload_2021-10-26_19-52-36.png
     
  34. mwkacca

    mwkacca

    Joined:
    Oct 6, 2013
    Posts:
    7
    hi
    issue solved.thank u
    how can i increase the size (width) of the road ? as currently its kind of small sized road
     
  35. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    555
    There is a setting for the road width in the Road Extension on the spline. You can see it in this video at 03:50


    The carve settings has its own width as well, so you can decide how wide the carve should be independently of the road.
     
  36. ASIM-SENYUVA

    ASIM-SENYUVA

    Joined:
    Apr 29, 2013
    Posts:
    90
    How can i upgrade gena pro road shaders to HDRP? Any tutorial or documentation?
     
  37. ASIM-SENYUVA

    ASIM-SENYUVA

    Joined:
    Apr 29, 2013
    Posts:
    90
    delete old building shader baked road and bake again :) thank you
     
  38. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,779
    Hi. We have moved our support to our new forum system Canopy.

    GeNa has quite a substantial amount of documentation. You can find it in the installed asset.

    If that does not give you what you need then you can browse the GeNa forums on Canopy here:
    GeNa Pro - World & Game Creation Tools - Procedural Worlds (procedural-worlds.com)

    And you can also browse the library on Canopy:
    GeNa Pro - Articles - World & Game Creation Tools - Procedural Worlds (procedural-worlds.com)

    If you would like to ask specific questions, then please send us a message via Canopy with your invoice number, and we will give you access to post in the forums.
     
    Last edited: Feb 7, 2022
  39. ASIM-SENYUVA

    ASIM-SENYUVA

    Joined:
    Apr 29, 2013
    Posts:
    90

    I registered there thank you.
     
    AdamGoodrich likes this.
  40. jnbbender

    jnbbender

    Joined:
    May 25, 2017
    Posts:
    483
    I know you guys are trying to switch over to Pro versions but all I can find in my pockets these days is lint. Although it's not supported does GeNa 2 actually work in 2021.3.3?
    Thanks.
     
  41. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    232
    Please note that we do not monitor this thread as often anymore for product support. The official product support for Gaia is handled in Canopy:
    https://canopy.procedural-worlds.com/
    Please head over there to make a free account to post your questions on the forum there. After creating your account you can also send us your invoice number to register your copy of Gaia & you can download 3 free stamp packs as a small bonus
     
  42. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    232
    GeNa 2 works with Unity versions 2018 - 2020.3