Search Unity

Nature Renderer: Better terrain detail rendering ✅ PBR ✅ Custom Shaders ✅ Shadows ✅ Wind ✅ SRP

Discussion in 'Assets and Asset Store' started by Visual-Design-Cafe, Oct 3, 2019.

  1. kopanz

    kopanz

    Joined:
    Dec 6, 2016
    Posts:
    82
    Currently nature renderer is not in my project but I'm keeping monthly full backups.
    Screenshots are from the November 2022 backup.
    With the same settings and same look I'm not having any performance issues with Advanced Terrain Grass.
    I'm using Amplify Imposters for tree LODs.
    I'm using IL2CPP to build the game.

    terrain.JPG nrSettings.JPG grass.JPG
     
  2. benthroop

    benthroop

    Joined:
    Jan 5, 2007
    Posts:
    262
    Hi I would like to incorporate wind into a custom shader, a straight vert/frag "shell fur" setup on the built in renderer. I've taken a look at the GlobalWind component and it's not obvious what it's doing or how to access its params in a shader. Is there documentation on this you could point me to? Thanks!
     
  3. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    206
    Hello!
    Wanted to ask if we can still expect some of these features from the roadmap for NR 2021 before Unity 2022.3 LTS comes out :)
    They've been in dev ever since NR2021 got released but there's not been an update in a very long time on any of these.
     
  4. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    If you are doing a direct comparison with Advanced Terrain Grass please take note of the following:
    • Nature Renderer draws cross-quads by default for grass textures (which you are using) instead of single quads, which is the default of Unity (and probably Advanced Terrain Grass as well). This results in (visually) more dense grass because the mesh is more dense, but it also reduces performance because more triangles are rendered.

      They also use different shaders, which can have a huge impact. I don't know what shader features Advanced Terrain Grass has so I can't give any advice besides to make sure that you are comparing performance with the same/similar shader features enabled.

      For both Nature Renderer and Advanced Terrain Grass I recommend to create a grass mesh that contains multiple quads, it can improve performance a lot.
    The rest of the terrain settings look fine. It may help to split the terrain up into 4 1K terrains instead of a single 4K terrain, but it shouldn't matter too much.

    If you are seeing unusual/sudden performance spikes with Nature Renderer then I may be able to help or fix it, if you can share profiler stats of the performance issue. If the overall performance is consistently bad on the GPU then it is most likely the shaders/overdraw that are causing the performance issues, especially in 4K. Increasing the "Reduce Density in Distance" value can help a lot with this, or disabling shader features.
     
  5. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    The full wind computations are a mix of different things, so it may not be very straightforward to implement.
    The parameters are set in the Global Wind component using the following code:
    Code (CSharp):
    1. Shader.SetGlobalVector(
    2.                 "g_SmoothTime",
    3.                 new Vector4(
    4.                     (float) _smoothWindOffset * 6f, // Ambient Wind
    5.                     (float) _smoothWindOffset * 0.15f, // Gust
    6.                     (float) _smoothWindOffset * 3.5f, // Turbulence
    7.                     (float) _smoothWindOffset * 3.5f ) ); // Shiver
    8.  
    9. Shader.SetGlobalVector(
    10.                 "g_WindOffset",
    11.                 new Vector4( _windOffset.x, _windOffset.y, _prevWindOffset.x, _prevWindOffset.y ) );
    12.  
    13.             Shader.SetGlobalVector( "g_WindDirection", new Vector4( _direction.x, 0, _direction.y ) );
    14.             Shader.SetGlobalVector( "g_Wind", new Vector4( _speed, _strength ) );
    15.             Shader.SetGlobalVector( "g_Turbulence", new Vector4( _speed, _turbulence ) );
    These should be enough to link your own wind computations to the same parameters. (_strength, _speed, and _turbulence are the values from the inspector)

    For the exact wind code you can look in the file Assets/Visual Design Cafe/Nature Shaders/Common/Wind.templatex and the other Wind files in that folder. It's the shader source code (it's a custom file extension, but you can open it with any text editor)
     
    benthroop likes this.
  6. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Yes, rendering any objects is 100% done. We are just doing some final performance tests to ensure that it is significantly faster than using regular Game Objects. We have an update ready for next week-ish, it was pushed back a bit due to a bug on Android which ended up being a bug in Unity itself.

    Occlusion Culling will most likely be available at the same time as the 2022 release (for both 2021 and 2022). Although there is no specific timeline for those releases yet.

    Quality Settings is still in early development. It's a bit of a difficult one to get right in terms of workflow/UX.

    We have spent a lot of time on QA the past few months for Nature Renderer to become a Unity Verified Solution, which is why the new features have not been released yet.

    I do want to point out that in-development/planned features are not 100% guaranteed. If they end up not performing as expected or if we run into some limitations of Unity that we can't work around then it is always possible that we have to scrap a planned or in-development feature.
     
  7. dinhvix

    dinhvix

    Joined:
    May 11, 2020
    Posts:
    1
    Hi!
    I have an issue with fps when I apply nature render in my multi-terrain. I have a very large terrain so I split it into 4 terrains.I applied a nature script to each of the four terrains in my scene. However, the game's frame rate dropped by roughly 15 fps. But when I only apply it to one big terrain only, it works perfectly.
    Can nature support multi-terrains? How can I use one script to apply nature render to all four terrains?
     
  8. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Nature Renderer fully supports multi-terrains, there should not be any significant performance impact from Nature Renderer. A few things to keep in mind:
    • Make sure that the detail resolution per patch in the terrain settings is not set to a small value. A value of 32 is usually best. Lower values can cause too many culling calculations, which slows down the rendering.
    • It is possible that Unity is issuing more draw calls for the terrain itself when using multiple terrains. This could potentially slow down rendering as well. If the slow down is caused by Nature Renderer then could you share a screenshot of both the Unity and Nature Renderer profilers?
     
  9. benthroop

    benthroop

    Joined:
    Jan 5, 2007
    Posts:
    262
    Thanks for this. I took a look and yeah it's a lot for where I'm at currently. I'd love a shader include function for your wind where I could just put a world position into and get a new one that has been wind-ed. Seems like it would be useful for a number of things like cloth and fur on characters.
     
  10. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    206
    Hey again, any update on that game object rendering?
    Been almost 2 months since :)
     
  11. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    It's already available in version 2021.2.0 :) You can go to Help > Nature Renderer > Check for Updates to download it, or download the latest version from the Asset Store. Here are the related docs: https://v3.visualdesigncafe.com/nature-renderer/docs/2021/nature-instances
     
    Bwacky likes this.
  12. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,980
    The demo scene has flickering shadows in URP on latest 2022.2 release - does this asset not work in latest unity?

    If it does work, what do I do to stop the demo scene from having severely flickering shadows?

    Thanks :)
     
    Last edited: Mar 28, 2023
  13. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Unity 2022 is not yet supported. We follow the LTS releases of Unity, which means the current latest supported version is Unity 2021.3 LTS. More info can be found on our support website and on the upgrade page.
     
  14. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,980
    Thanks :)
     
  15. Smugmushroom

    Smugmushroom

    Joined:
    Feb 10, 2018
    Posts:
    1
    Hi, Is there an incompatibility between your shaders and TVE + Amplifiy Impostors? Everything was working lovely until I imported the Impostor package and then constantly getting shader errors between the impostor and nature renderer.
    I know TVE works with your package. Thanks.
     
  16. SammmZ

    SammmZ

    Joined:
    Aug 13, 2014
    Posts:
    174
    Pay attention that Amplify Impostors should be also compiled with NR-compatible shaders. It's a separate panel from your default TVE compatibility selection.
     
    Bwacky likes this.
  17. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,980
    Using latest 2021 LTS we have trees that are popping in and out of view right in the middle of the camera. Using a default orbital transposer cinemachine camera. Rotating around the player causes the trees to pop in and out of view. Any ideas what settings etc we can change to stop this happening or increase the distance at which this calculation is taken into account?
     
  18. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    There is a known issue in the current version that causes culling issues with trees, if the trees have a scale that is too large. The scale of the original tree model (with a scale of 1,1,1) is used for culling, instead of the scale of the placed trees. This is most likely the issue that is happening. We are working on a fix for the next update. Until this is fixed I recommend to either disable tree rendering (disable "Render Trees with Nature Renderer" in the advanced section of the Nature Renderer component), or use a previous version of Nature Renderer. Once the fix is out, you can update to the latest version and enable tree rendering again.
     
    MadeFromPolygons likes this.
  19. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    There is no known incompatibility. If Amplify Imposters is set up for compatibility with Nature Renderer then everything should work. Make sure that the Amplify Imposters shaders are specifically set up for Nature Renderer, either through their integration (if they have any) or by patching the shaders using our tools.
     
  20. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,980
    Just to confirm, the tree in question had a pivot that was not at 0,0,0 and once corrected culling was fine :) Just to make sure you are not working on false postives :)
     
    Visual-Design-Cafe likes this.
  21. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Thanks for letting me know, turns out that either an offset or a large scale could result in culling issues. I have just published the latest version with a fix. You can go to Help > Nature Renderer > Check for Updates in Unity to download the update (version 2021.2.1)
     
    MadeFromPolygons likes this.
  22. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,980
    Thats wonderful, thanks very much for the quick resolution! I had assumed this was just a limitation of the system, so its great to know that is not the case :)
     
  23. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    206
    Any way to increase the area at which NR checks for when to unload trees? I still get trees unloaded when the camera is 1cm away from looking at them, which makes shadows flicker out of existence. It's especially bad with quite tall trees.
    It gets a bit jarring :(
    If there's something like a bounding sphere that checks, I'd love a way to increase it to at least not unload trees in a certain radius.

    All are scaled at 1x1x1 on the prefab level, albeit Unity controls height for some randomization.
    Tried in Unity 2021.3 and 2022.2 thinking it was just URP being an absolute mess yet again.
    Running NR ver. 2021.2.1.

    EDIT: Video link.
    Dropbox - Unity_pjEKEREh6g.webm - Simplify your life

     
    nordegraph likes this.
  24. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    This is definitely a bug. Very strange, since we specifically tested and fixed this situation. I'll look into it more. Until then, it is probably easiest to just disable Nature Renderer for trees. You can do this in the Advanced section of the Nature Renderer component (the Render Trees With Nature Renderer setting). If you need to keep Nature Renderer enabled and want a temporary hack around this then you could alter the internal compute shader to increase the bounds. Let me know if you want to go this route and I'll help you with it.
     
  25. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    206
    If you're interested in reproducing this specific case it happens with the trees from Pure Nature asset. I had it happen both with Nature Shaders, as well as Boxophobic's TVE shaders.
    Would love to increase the bounds temporarily if you can spare some time to explain the steps to me :)

    NR performance for trees is leaps and bounds beyond the built-in renderer in my case so would prefer to keep it enabled.
     
  26. mroshaw

    mroshaw

    Joined:
    Oct 11, 2020
    Posts:
    47
    I wondered if Nature Renderer fully supports DLSS / dynamic resolution? I'm currently using an alternate instancing solution and the occlusion and frustrum culling doesn't work with dynamic resolution enabled. Thanks!
     
  27. Sp4rk

    Sp4rk

    Joined:
    Sep 24, 2012
    Posts:
    19
    Hey! I'm currently having 4MB of "Perlin Noise" texture allocated in the memory coming from Nature Renderer. It sounds ok but that is quite a lot for the platform I'm targeting. Is there a way to tune the settings and lower its size?
    Also, is there a way to limit/optimize the size that the "Compute Shaders" occupy in the memory? Using several terrains these can make them add up quickly as well.
    Thanks!
     
    Last edited: May 13, 2023
  28. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    I have sent you a private message with a temporary fix.
     
    Bwacky likes this.
  29. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
  30. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    The perlin noise texture size can't be reduced, this is a technical limitation. A smaller size would introduce artifacts in the noise.

    For the compute shaders, what memory usage are you seeing exactly? Almost all memory usage of Nature Renderer is determined by the number of instances that are on the terrain, which can be optimized by tweaking the detail resolution of the terrain and/or the mesh sizes of the detail meshes (for example, merging multiple grass meshes into a larger grass patch can drastically reduce memory usage).
     
  31. Sp4rk

    Sp4rk

    Joined:
    Sep 24, 2012
    Posts:
    19
    Thank you for the tips!
    At the beginning of my game, I see ComputeShader taking about 9.8MB. But as I keep playing the game it goes up to more than 50MB.
    I don't understand why there are so many "Instancing" being created. Each one takes 0.7MB. I also have several "VR" Compute Shaders, these are not as worrisome as each one takes 31.9KB, but it bugs me that I'm not using VR at all for anything.

    The only thing that comes to mind is that I'm enabling and disabling several terrain components as my player moves along, for performance. Maybe the compute shader is created when the terrain is enabled but isn't destroyed when it is disabled?
    Do you have any ideas about what might be going on?
     
    Last edited: May 17, 2023
  32. AGSSA

    AGSSA

    Joined:
    Jan 8, 2020
    Posts:
    7
    Hello,
    We're having a problem with building our project (even building the demo scene) on the Xbox One Game Core.
    The PC version is building and running just fine.
    We're using Unity version 2021.3.25f1 URP, and Nature Renderer 2021.2.1, as soon as we click build (maybe 10-15 seconds) this error appears:

    Code (CSharp):
    1. ArgumentException: The Assembly UnityEngine.VRModule is referenced by VisualDesignCafe.Rendering.Instancing ('Assets/Visual Design Cafe/Nature Renderer/Plugins/VisualDesignCafe.Rendering.Instancing.dll'). But the dll is not allowed to be included or could not be found.
    2. UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1[T] alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2[TKey,TValue] cache, UnityEditor.BuildTarget target) (at <5092d70d16a64dd9a555dd50f38aead0>:0)
    3. UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1[T] alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2[TKey,TValue] cache, UnityEditor.BuildTarget target) (at <5092d70d16a64dd9a555dd50f38aead0>:0)
    4. UnityEditor.AssemblyHelper.FindAssembliesReferencedBy (System.String[] paths, System.String[] foldersToSearch, UnityEditor.BuildTarget target) (at <5092d70d16a64dd9a555dd50f38aead0>:0)
    5. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
    6.  
    Help us solve it, please.
     
    Last edited: May 25, 2023
  33. understory-games

    understory-games

    Joined:
    Aug 20, 2014
    Posts:
    3
    Hi!
    We are thinking about using Nature Renderer for our project. I have a couple of questions:

    We would like to render a large number of trees that are also interactive (i.e. can be cut or otherwise modified by the player at runtime) - is this a good usecase for your Nature Instances feature? Can you add / remove nature instances at runtime (in our case just a few at a time) without impacting performance too badly?

    The player is able to modify the heightmap at runtime. This was not an issue for us with the default terrain systems until we added some detail meshes to our terrain. Now it seems the terrain is refreshing all the details any time the heightmap is modified, which is very expensive. Does nature renderer handle refreshing details in a more performant way?

    Thanks!
     
  34. SteenPetersen

    SteenPetersen

    Joined:
    Mar 13, 2016
    Posts:
    103
    Hi,

    I'm currently working on testing performance with some different assets, next up is nature renderer. Currently I use mapmagic 2 to create my worlds or terrains, microsplat for the textures, TVE and TVE+impostors, for the vegetation shaders and LODs, and GPU instancer for rendering objects.

    Now as I understand it NR should replace GPU instancer in this context? And if so how compatible is NR with mapmagic 2, because GPU instancer has an integration package which works really nicely, I'm wondering is NR has the same?

    I have read a few users in this thread have had issues adding NR to mapmagic2 so before I jump in and spend many hours playing with it, I'd like to know where NR stands with playing nice with mapmagic 2 if at all possible.

    Thank you :)
     
  35. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    206
    From my experience last year working with Map Magic 2 it works quite well.
    There's no need for an integration - you select all your terrains, add a Nature Renderer component to each of them, call it a day. Rendering is taken over by NR while placement and rules are controlled by Map Magic 2.

    There's a free trial you can try out on the asset store I believe - would recommend doing that to clear your doubts.
     
  36. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    206
    Also 2022.3 has been out for 2 minutes already, where do I get NR 2022? :p:p
     
  37. SteenPetersen

    SteenPetersen

    Joined:
    Mar 13, 2016
    Posts:
    103
    My world is procedurally generated, I can't just attach to individual terrains. Has to happen at runtime
     
  38. AGSSA

    AGSSA

    Joined:
    Jan 8, 2020
    Posts:
    7
    Any updates on this?
     
  39. MartinFinch_PlayPlanetX

    MartinFinch_PlayPlanetX

    Joined:
    Jun 1, 2023
    Posts:
    3
    Hey all. I'm trying to do some optimization tests as we have quite a lot of grass in our scene.
    I'd like to get all the NatureRendererObjectSettings components during runtime so that I can adjust them and see how it impacts the frame rate.

    How do I gather these? Do i need a reference to the prefab. Or I can get them from the scene during runtime?

    upload_2023-6-7_16-44-47.png

    I've tried this:

    Code (CSharp):
    1. natureRendererObjSettings = FindObjectsOfType<NatureRendererObjectSettings>().ToList();
    but nothing is found. Horrible code I know :D but just for quick testing and adjusting values.

    thanks for any help all
     
  40. GarrettF

    GarrettF

    Joined:
    Jul 4, 2019
    Posts:
    49
    Hey, it might be a little soon to expect support for 2022LTS, but is there a chance you have an ETA?
     
    Fabbs, Eloujah, TheSniperFan and 2 others like this.
  41. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Thank you for reporting this issue. I looked into it for you and it should be fixed for the next update. If you can contact us via the support form on our website then I'll send you the latest version with the fix later today or tomorrow via email. (if you already did then there is no need to re-submit, I'll get to your support ticket soon)
     
  42. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Yes. You can add the trees as Nature Instances to the scene (https://v3.visualdesigncafe.com/nature-renderer/docs/2021/nature-instances). That way, there is no overhead for moving/deleting them.

    For detail objects, Nature Renderer is faster than Unity's default terrain at refreshing but there is still an overhead. Unity needs to reload the heightmap and detail maps whenever the terrain changes, which can take a bit of time.
     
  43. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Map Magic should have an option to copy custom components to each terrain that is generated. I believe you can just add the Nature Renderer component to the Map Magic object and it should work, but I could be wrong on the exact workflow of Map Magic. It is probably best to ask the developer of Map Magic how to add custom components to generated terrains. You can always add the Nature Renderer components via a custom script at runtime if Map Magic has no option for it.
     
  44. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    You would need a reference to the prefab to get that component. You can use Unity's default terrain API for this: https://docs.unity3d.com/ScriptReference/TerrainData-detailPrototypes.html
    Note that Nature Renderer does not register the root of the prefab if you use LOD Groups (a child is registered instead), so you may have to use GetComponentInParent instead of GetComponent on the prefab.
     
  45. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    For anyone requiring support, please contact us via our support website:
    https://support.visualdesigncafe.com/hc/en-us/requests/new

    Our support website has a system to manage support tickets and notifications so that we can properly communicate and help. You'll be able to get better and faster help than here on the forums, since forum posts often get lost in the thread and notifications are not always sent by the forum. We'll be closing this forum thread soon.
     
  46. unity_73DF5CB06F918670E195

    unity_73DF5CB06F918670E195

    Joined:
    Mar 20, 2021
    Posts:
    4
    Hi. I am a user of the Nature Renderer and have been quite pleased with the overall functionality it offers. However, I've come across a hurdle that I am hoping to find some assistance with.

    In my project, I have multiple terrains. My detail objects are equipped with LOD Groups, which is one of the primary reasons I opted for Nature Renderer. According to the documentation, "Detail objects with a LOD Group component can only be added via the Nature Renderer component - Unity does not support LOD Group without Nature Renderer."

    The issue I am facing is that the process to add these LOD Groups to the Nature Renderer component seems to only be manually available. Given the number of terrains in my project, this process is not only time-consuming but also prone to errors.

    I am curious, is there a way to automate this task through a script? I am more than willing to write one myself if there are no existing solutions. I've tried to seek assistance through the "Support" button listed on the website, but it redirects me to the "Report Bug" section, which I don't believe is the same. Nevertheless, I submitted this question some time ago and have yet to receive any feedback.
     
  47. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    206
    While I don't have NR on hand right now, is it not possible to add what you need to one terrain, then copy the entire nature renderer component and paste is as new onto the terrain?

    An option I frequently use for this operation solely is the Mega World asset on the asset store. It allows you to define a group of detail & trees for one terrain and when you use it to paint on all terrains, they get added to the terrain data.
    Alternatively, use Vegetation Spawner (also on the asset store) which is very similar in that regard and will apply all your vegetation across all terrains for NR to render.
     
  48. MaddGameStudio

    MaddGameStudio

    Joined:
    Sep 3, 2021
    Posts:
    13
    Can Nature Renderer be used in deferred rendering?
     
  49. Wolfos

    Wolfos

    Joined:
    Mar 17, 2011
    Posts:
    951
    Yes
     
  50. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    You can use the regular Unity terrain API, here is an example: https://v3.visualdesigncafe.com/nature-renderer/docs/2021/terrain-vegetation#scripting-api

    If you register a prefab with a LOD Group (via script) then Nature Renderer will automatically modify it to select the first LOD. There should be no need to change any of your code for Nature Renderer, just stick with the regular Unity API.