Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] Realtime CSG - level design for Unity

Discussion in 'Assets and Asset Store' started by LogicalError-Unity3D, Aug 24, 2016.

  1. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    Realtime CSG is a level design tool for Unity that allows you to design levels in Unity using boolean operations / CSG;

    It uses an unique algorithm that makes it possible to perform these boolean operations in
    real-time! Even while having thousands of brushes in the scene.


    If you'd like to know more, just visit the Real-time CSG site here!





    Some key features:

    You can create your own prefabs that you can then drag & drop in the scene. While dragging your prefabs the scene will update in real-time and your prefabs will align to the surface beneath your mouse. All while aligning to the grid of course!



    You can create your brushes, the building blocks with which you build your level, by just drawing and extrude the shape you just drew!


    You can do this on any surface, not just the grid plane


    Curved edges can be used to created curved surfaces



    You can also quickly create standard shapes such as cubes, cylinders and stairs



    Brushes can also be edited by moving vertices, edges or rotating and scaling polygons.
    It's also possible to chamfer vertices or edges




    As for texture tools, there are plenty of things to help you there.
    For example, you can easily drag your mouse over multiple surfaces and the
    material will follow your mouse over all these surfaces .


    Keep in mind the project is still quite young, so more and more will be added over time! This is just the beginning. If you have a need for certain features, let me know!

     
    Last edited: Apr 15, 2018
    Kin0min, Deleted User, John-G and 4 others like this.
  2. Ieatlegobricks

    Ieatlegobricks

    Joined:
    Aug 24, 2016
    Posts:
    1
    Thanks for this man looks like a lot of hard work went in to this, cant wait to check it out.
     
    LogicalError-Unity3D likes this.
  3. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    Please let me know what you think when you do! :)
     
  4. FuRy

    FuRy

    Joined:
    Apr 16, 2013
    Posts:
    28
    What sets this apart from SabreCSG? Just that it is realtime?
     
  5. PartyBoat

    PartyBoat

    Joined:
    Oct 21, 2012
    Posts:
    97
    Are there any plans to have Realtime CSG work at run-time so that players could create levels with an in-game level editor?
     
    reddefine likes this.
  6. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    Hi FuRy & PartyBoat!
    Off the top of my head, some other differences besides the real-time feedback (which is a pretty big usability improvement IMHO) is that realtime-CSG:
    + has Intersection operations besides just Additive and Subtractive operations
    + has full hierarchical CSG (meaning that you can define sub-shapes that you can subtract, add and intersect with)
    + has the ability to work on a rotated grid that can be resized differently for X, Y and Z
    + works with drag & drop

    As for plans to make it work in Runtime, yes there are plans for that but it'll take some time before that's ready
     
    Last edited: Aug 30, 2016
  7. 2dgame

    2dgame

    Joined:
    Nov 24, 2014
    Posts:
    83
    Can you explain what 'realtime' means in this sense? Despite being in the title of the asset I'm not sure I understand.
    For example in SabreCSG, when you switch on 'auto-rebuild', geometry rebuilds right as you modify a brush. Does 'realtime' mean that it rebuilds faster or are there other benefits?
    Anyways, nice to see a new player has entered the field. So far it's looking very promising.
     
  8. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    Hi 2dgame, SabreCSG auto-rebuild basically rebuilds the entire model every time you move a brush in it.
    This will be responsive as long as you don't have too many brushes, but at some point this will break down.
    I'm not sure how many brushes, could be tens or a couple of hundred. I know Unreal, for instance, will become unusably slow way before you even reach a hundred brushes.

    Realtime CSG works differently under the hood and it's responsiveness won't change much when adding more brushes (well at some point Unity itself will start to choke on the number of objects in the scene, but I can't do much about that!)

    I've imported brushes from half-life black mesa levels containing thousands of brushes and realtime CSG remained real-time. So essentially, realtime CSG is more scalable when it comes to it's performance.
     
  9. 2dgame

    2dgame

    Joined:
    Nov 24, 2014
    Posts:
    83
    Thanks for clarifying!
    About that half-life thing. That was pretty impressive.

    How did you do that? Is the plugin capable of loading bsp/map files, so we can do this ourselves?
     
    LogicalError-Unity3D likes this.
  10. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    Thanks :)
    I wrote that half life importer for testing purposes, it's a bit hacky though
    I'm considering cleaning it up a bit and releasing it on the side on github (open source)
    The importer imported .map files
     
    CommunityUS likes this.
  11. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    This is really cool - reminds me of using unreal editor and udk.
    Can imported meshes be used as brushes? I think yes - but it wasn't explicitly explained above and I didn't see an example of it in the videos.

    Awesome work!
     
  12. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    Hi!
    I'm afraid that you can't import meshes to use them as brushes, sorry.
    What exactly did you have in mind?
     
  13. mviuk

    mviuk

    Joined:
    Jul 27, 2012
    Posts:
    37
    That's incorrect, SabreCSG's Auto Rebuild feature only rebuilds brushes that it needs to. As you edit changes are tracked and the build engine selectively builds the brushes that have changed, ignoring unchanged brushes. Here's a video of editing in realtime on a scene of 2500 brushes with SabreCSG:

     
    Flurgle likes this.
  14. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    o
    Ok, my mistake, I guess that's something both tools are similar in. I thought SabreCSG used BSP, my mistake.
     
    Last edited: Aug 30, 2016
  15. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    Similar functionality as I remember unreal ed (2004) and possibly udk used to have.
    I might be assuming a bit too much from past experience also. As I remember in udk most everything was considered a brush - that could be used to boolean combine or out of other volumes. So if I wanted to remove a complex tunnel/dungeon shape - I could roughly model the shape in 3D and import it in to remove the space from a volume.

    That is probably a bad example and backwards thinking for designing a dungeon. I might give your tool a look soon and see how it works.

    Can you briefly explain brushes?
     
  16. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    Brushes are simple primitives that are completely convex .. which basically means that they can't have any inward angles.
    So a cube is convex, a sphere is convex, a cylinder is convex .. an L shape is not
    Note that the draw tool allows you to draw non-convex shapes and extrude them, but it simply subdivides the non-convex shapes into multiple convex ones..
     
    theANMATOR2b likes this.
  17. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    Version 1.100 is now available on the beta download site and has the ability to go back forth between an exported FBX and the original CSG model!
     
  18. 2dgame

    2dgame

    Joined:
    Nov 24, 2014
    Posts:
    83
    While we're on the topic of exporting I'd like to start a conversation about a workflow I was thinking of since I started using SabreCSG, but equally applies here. This is a bit of a long shot, but how I see it the ideal workflow would be this:
    You block out a level in Realtime CSG. At some point you export the mesh to work on some finer details in Blender for example (maybe even ProBuilder), maybe bevel some edges etc. Now, what if at this point you could still continue work on the brushes in Realtime CSG. I wouldn't mind if brushes that got tinkered with aren't modifyable anymore. Do you think this doable somehow? I think it would greatly improve the utility of the plugin.

    You mentioned you had this map file importer for Realtime CSG. Not sure if this is of help but I did read that earlier versions of Blender had quake map file exporting capabilities. If you google it you find a couple of posts. Here's one:http://www.katsbits.com/tutorials/idtech/exporting-models-as-bsp-maps.php
    Here you apparently can still download the plugin for Blender (didn't try it): https://sourceforge.net/projects/q3mapexporter/
    Could this be a start for a common ground between Realtime CSG and Blender? Any thoughts for another way to have a two-way workflow?
     
  19. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    Hi!

    The problem here is that it's almost impossible to identify what pieces of the geometry are part of the original brushes because a lot of geometry has been destroyed at that point ..
    It should, in theory at least, however be possible to split the blender created mesh into multiple brushes though .. but this is a slow operation that gets exponentially slower the more complicated a mesh is.. having multiple materials greatly complicates this..

    I was actually thinking about adding map import capability to realtime-CSG .. but this would only work if it's actually a .map file, importing a .bsp file would be more complicated to convert into brushes (I'm not sure if the second link exports a map)
     
  20. 2dgame

    2dgame

    Joined:
    Nov 24, 2014
    Posts:
    83
    So, I tried out that .map export addon for Blender I linked. Couldn't open the resulting file in the trenchbroom map editor. I guess it doesn't work. (I'm sure you do, but just in case you don't know the trenchbroom editor, it's an open source map editor for .map files. Might be a good resource for your importing code if you still want to do that).
     
  21. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    New version on beta site, which has the ability to make the world start out as solid instead of empty by checking a flag on a model! Which allows you to do Unreal style subtractive CSG :)

    2dgame: thanks for the suggestion!
     
  22. Zaicheg

    Zaicheg

    Joined:
    Sep 30, 2009
    Posts:
    46
    Hello.

    I can do subtraction models in application builds in realtime?
    To which platforms (WebGL, Android, ...)?

    Example of code:
    Code (CSharp):
    1. void Update()
    2. {
    3.     if (Input.GetKeyDown(KeyCode.K))
    4.     {
    5.         GameObject bigGameObject = Instantiate(...);
    6.         GameObject smallGameObject = Instantiate(...);
    7.         Mesh resultMesh = CSG.Substract(bigGameObject, smallGameObject);
    8.         bigGameObject.GetComponent<MeshRenderer>().mesh = resultMesh;
    9.     }
    10. }
    Example of use:
    There is a room with six walls and the floor plane. It is necessary to trim the plane on the wall to get the correct form the floor.
     
  23. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    Sorry, there's no runtime support just yet
     
    Last edited: Sep 5, 2016
  24. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    newClipping.gif
    New version on beta site has new improved clipping behavior!
    Also, previously mentioned classic unreal style "world is solid by default" option is now out on asset store
     
  25. andyz

    andyz

    Joined:
    Jan 5, 2010
    Posts:
    2,246
    Access to a runtime API would definitely be a bonus - for procedural generation with CSG, end-user level editing etc.
     
  26. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    I agree, and it will be added at some point
     
  27. kdgalla

    kdgalla

    Joined:
    Mar 15, 2013
    Posts:
    4,613
    Wow. This looks really good. I'm very interested in buying some in-editor way to build levels and looking at different options. The "features" page on your website is very informative, but is there a comprehensive manual that I could look at? For me I find that reading the manual is the best way to get a full picture of what I'm getting.
     
  28. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    58
    Hi!
    Right now there's the "getting started section", which is still a WIP.. otherwise the "features" actually does describe most of what's in real-time CSG
    The plan is to also post a tutorial video soon
     
  29. ncho

    ncho

    Joined:
    Feb 1, 2014
    Posts:
    99
    Has anyone used both this and SabreCSG? It would be great to have a comparison since the two seem exceedingly similar.
     
  30. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    207
    Realtime CSG has instant feedback, which allows you to scale/move/modify things and immediately see the results, and this makes it easier to work with. I'd also like to think Realtime CSG is more user friendly.
    AFAIK SabreCSG development has stopped or at the very least slowed down dramatically..
    Realtime CSG is very much in active development with bug fixes and features being released regularly
     
  31. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Hey logical,

    Awesome work! Tried Sabre for a while but so far this has been a little nicer, more responsive, better UI, seems like a cleaner design. Has been a smooth ride so far!

    Few points of feedback though:

    -I would love the grid system to be more general and optionally snap 'normal' game objects to the same grid when using unitys normal tools
    -Group all files under the some root folder (in Plugins/RealtimeCSG). I like to keep everything under the same root, the editor default resources stuff could be loaded with AssetDatabase.LoadAssetAtPath();
    -Quick hide with H is great but personally I would like it to toggle hide instead of only disabling
    -I would like dedicated hotkeys for Object/Generate/Mesh/Clip/Surfaces mode vs the page up/page down cycle.
    -I don't like the errors 'can use xx Tool in yy mode'. I'm not always CSG modelling and maybe I just need to use these tools for something else for a bit

    Few bugs:

    -Turning Do Not Render back on still has the object hidden
    -Generating an object -> extruding it -> Undo throws a Null reference error
    -Window mentions alt to extrude, but it seems broken? It just rotates the scene view still. Plus isnt extrusion the default anyway?
    -The V hotkey for free draw interferes and bugs out the vertex snapping unity has. Probably needs a different key :/ (thankfully easy to edit in Keys.cs but just needs a better default)
    -When moving an entire model the CSG sometimes doesnt update
    -When closing a scene I get an error:
    -It frequently seems to interfere with unitys selection :( I sometimes cant use the move tools / drag select anymore. Removing realtime CSG fixes the issue.

    Destroying object multiple times. Don't use DestroyImmediate on the same object in OnDisable or OnDestroy.
    UnityEngine.Object: DestroyImmediate(Object)
    RealtimeCSG.CSGSceneManager:OnDestroyed(CSGModel) (at Assets/Plugins/RealtimeCSG/Editor/Scripts/Managers/CSGSceneManager.cs:974)
    InternalRealtimeCSG.CSGSceneManagerInstance:OnDestroyed(CSGModel) (at Assets/Plugins/RealtimeCSG/Editor/Scripts/Managers/CSGSceneManagerInstance.cs:23)
    RealtimeCSG.CSGModel:OnDestroy() (at Assets/Plugins/RealtimeCSG/Runtime/Scripts/Components/CSGModel.cs:69)
    UnityEditor.SceneManagement.EditorSceneManager:CloseScene(Scene, Boolean)

    Then some larger feature requests:

    -Instead of generating separate objects for each material, generate a unity submesh for each material and keep a CSG model as one gameobject. Should be more efficient for unity, especially for the Physics engine.
    -Some vertex coloring options - no need for full vertex painting but even just selecting a face and picking a colour would already be great!
    -Options to Bevel edges. Possibly per edge, possibly to control how brushes merge. Not sure how doable this is for a CSG.
    -An option to generate a (Hemi-)Spherical surface
    -Support the scale tool in Mesh / surfaces mode, saves some time vs manually moving vertices in/outwards.
    -I have a few scenes in which I don't need any CSG modelling - the ability to turn off the lower toolbar would be nice.


    In any case thanks for the development on this! It's already working wonderfully with some impressive results. Looking forward to updates to come, will post here if I have some more requests - or have some nice looking results :) I'm using it alongside my own Voxel Cone tracing GI system and it's really been a pleasure to build stuff with this!
     
    Last edited: Nov 15, 2016
    logicalerror and 2dgame like this.
  32. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    207
    Hi pvloon!
    I'm glad you like Realtime-CSG :)

    "Group all files under the some root folder (in Plugins/RealtimeCSG). I like to keep everything under the same root, the editor default resources stuff could be loaded with AssetDatabase.LoadAssetAtPath();"

    Unfortunately "Editor Default Resources" can only be put in the root folder..
    If I put my icons in another folder then they might end up in your final build ...
    I suppose I could put the prefabs folder in Plugins/RealtimeCSG ..​


    "When closing a scene I get an error"

    Could you tell me the error message?​


    "Instead of generating separate objects for each material, generate a unity sub-mesh for each material and keep a CSG model as one gameobject. Should be more efficient for Unity, especially for the Physics engine"

    Unfortunately then Realtime CSG would be limited to 64k vertices per model. It wouldn't really save anything on the vertex count either since vertices that are shared between multiple surfaces will still each generally have different texture coordinates and/or normals..

    I already have a ticket to create collision meshes separately ( https://github.com/LogicalError/realtime-CSG-for-unity/issues/99 ) ​


    For all the other things you mentioned I created tickets at https://github.com/LogicalError/realtime-CSG-for-unity/issues

    Requests #100 #101 #102 #110 #111 #112
    Bugs #103 #104 #105 #106 #107 #108 #109



    You can submit tickets there directly in the future if you want.
    I also just set up a forum at https://prenominal.nl/forum/
    It's quite empty at the moment since it's new, but I'm sure things will pick up once people start posting there

    Thanks for the feedback!
     
  33. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Hi Logical,

    Thanks for the detailed reply! Great to see the GitHub page, didn't know about that. I've created an issue there with the error mentioned.

    As for the other two points:

    -I understand that Editor Default Resource has to be in root - but I'd suggest just dropping that folder entirely. From code you would have to replace EditorGUIUtility.Load with AssetDatabase.LoadAssetAtPath. It does indeed mean that people could accidentally reference an icon from their game and include it - but I guess if someone really wants to show some GUI icon in their build why not - at least I think it's not a huge issue.

    -The splitting I mentioned does not happen based on vertex limits though. CSG also splits meshes into seperate game objects based on their material. It is not a huge overhead (except for loading a few GO's more) for rendering purposes, but for physics purposes it seems this still could just consist of one mesh, which is more efficient for PhysX. It is not a huge deal though - especially if we get vertex coloring so I'm assigning less materials to an object!

    If you'd prefer these discussions about feature requests on github / other forum let me know and I'll make some tickets there :)

    Thanks for the great work though, looking forward to the upcoming updates for sure!
     
  34. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    207
  35. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    207
    andyz and SteveB like this.
  36. andyz

    andyz

    Joined:
    Jan 5, 2010
    Posts:
    2,246
    Nice. Do you have spheres and bevels? Does subtracting complex curved objects in realtime cause any slowdown?
     
  37. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    207
    No spheres or bevels yet, but they are in the planning!
    The idea is to extend shape drawing w/ extruding them over a spline, and that will make it trivial to also create support for bevels.

    And no slowdowns!
     
    2dgame and SteveB like this.
  38. 2dgame

    2dgame

    Joined:
    Nov 24, 2014
    Posts:
    83
    Ouh, extending over spline sounds awesome. How about revolve extrudes, are those coming, too?
     
  39. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    207
    Yes, once extruding over a spline is implemented, revolving extrudes would be easy to implement as well :)
     
    atomicjoe and 2dgame like this.
  40. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    @logicalerror I just purchased your plugin. I love it!
    However I miss a sphere primitive and the freeform curves are not always correctly smoothed, as you can see in the screenshot below: it keeps making creases even when I specifically select the surfaces and reset them to smoothed.
    (all curves here are set to smoothed, even the low-poly ones. It shouldn't look like this. Increasing poly count is not an option for me, I need the good old fake polygon smoothing)
     
  41. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    207
    Don't worry, I'm looking into it, this will get fixed! :)
    Keep in mind that the curve support is relatively new functionality, it'll get better and better over time
     
    SteveB and atomicjoe like this.
  42. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    Seriously, I'm glad you're working on it because now I just can't use anything else for level design than your awesome CSG level editor! :D
     
  43. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    207
  44. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    Greetings! I just bought Realtime CSG a few days ago and haven't really had time to learn it yet, but I wanted to let you know that (modulo an automated API update) it seems to import fine into Unity 5.6.0b1. I happen to have just finished a project, and as I start my next I am doing a little early "sandbox" testing of 5.6 beta, with the question being "Do I start a brand-new project in 5.5 and then upgrade, or do enough of my tools work in 5.6 that I could go ahead and get ahead of the curve?"

    As it happens, I was doing a sandbox empty-project test in 5.6 the day I bought Realtime CSG, and since I used that version to download RCSG from the Asset Store to my local asset library, I thought, "What the heck, let's see if this thing imports!" It did.

    I have two new-user questions, if I may: First, how do I turn off all RCSG UI elements during the time when I happen to be working on something else in the scene view? I know how to dock the RCSG window, but what about the gizmos and other things that are in the scene? Second, what is the correct procedure to uninstall RCSG from a project? When I tried that in my sandbox, I was left with a visible rendered mesh in the scene that was not selectable and also did not appear in the scene hierachy, yet which somehow persisted even across stopping and restarting Unity.

    This looks like an excellent tool. The ability to do subtractive prefabs is going to be really handy for door and window openings, as my project is in the visual/simulation area.
     
  45. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    207
    Hi @syscrusher !

    You can turn realtime-CSG on/off with control-F3 (you can see all the keyboard shortcuts here)
    As for uninstalling realtime-CSG .. if you want to keep your meshes, you can export your models by going to your model in the inspector, selecting mesh at export and pressing the export button. Then you can delete your plugin folder and no hidden objects should remain ..

    Let me know if you run into any other issues :)
     
  46. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    @logicalerror Thanks for the reply and the links to the keyboard documentation. I actually do RTFM on assets I buy. :) In this case, I literally was just testing to see if it would even import into the beta, on a whim. You've got some excellent tutorials online, and I'm going to take some time this weekend to work through those with Unity open as I follow along.

    In the delete situation I asked about, I didn't want to keep the mesh; I was cleaning out my 5.6.0 sandbox so I could test the next asset import into a blank project. No worries, really -- since it was just an empty sandbox, I nuked the empty scene and made a new one. This is why I don't test in a production workspace. :) The main reason I asked the question was that I'm puzzled how Unity could "remember" the presence of that mesh when it wasn't in the scene hierarchy. I've not seen anything like that before. But, hey, we're talking not just about a beta, but the very earliest beta for 5.6, so all bets are off. :)
     
  47. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    207
    @atomicjoe the smoothing issues should be solved in version 1.339 !
    @syscrusher Ah ok. Well unity has had the ability to have GameObjects be hidden for a long time. Realtime CSG uses this to hide the meshes it generates so you don't accidentally delete, move, or modify them .. which can create all kinds of headaches. Of course if you delete Realtime-CSG, realtime CSG isn't there anymore to clean it up ...
     
    syscrusher likes this.
  48. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    Thanks for explaining. I wasn't aware GOs could be hidden. Is there a way in the UI, short of a script, to unhide all?
     
  49. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    207
    Unfortunately no. Unity doesn't have a way to do this from the UI, a script would be required ..
     
  50. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    207
    Hi!
    I just put an evaluation version online for realtime-CSG:
    https://logicalerror.github.io/evaluate.html

    It's limited to 200 brushes, doesn't have an editor API and lacks the export ability that the asset store version has :)