Search Unity

[RELEASED] uConstruct - Fully generic, socket based runtime construction system

Discussion in 'Assets and Asset Store' started by ElroyUnity, Oct 17, 2015.

  1. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    uConstruct is a runtime building system, It is fully generic and socket based, it can create any kind of buildings with just simple few steps and with no limitations.
    uConstruct is a very powerful and generic building system available for unity. It doesnt have to only be used a building system but it can also be used in a level editor for example.

    Why uConstruct ?

    FULL Source Code : The system comes with FULL source code.

    Clean And Full API : The system comes with extremely clean code, Fully commented and a huge API, Giving you the ability to do anything in the system. The system also comes with many tutorials and a fully written documentation about the system.

    Sockets and Conditions : Sockets and Conditions are an innovative way to create buildings, Sockets will act as snap points for your buildings while you can visually scale and rotate them to your need, They can be snap sockets or free place sockets. (Explained in the docs).
    Conditions are a generic way of you to set up any condition you want that will give you the ability to make the building placeable only when all conditions are met. ( There are 4 extremely useful built in conditions as of now, Its extremely easy to code new ones )

    Snap points : Snap points are points on your building which will take a placed building and modify its anchor so it can fit to the building on that specific point, taking into account rotation, size and current position. This will allow you to use ANY kind of a shape with the system.

    Multi-Threading : The system uses a different thread in some cases in order to improve performance, the thread methods are also exposed so you can add your own calls to it!, supporting up to 4 generic types in 1 method!.

    Batching: The system will reduce thousands of draw calls into 1-2 draw calls and increase your performance substantially.

    Area Of Interest : The system has a very generic built in Multithreaded Area Of Interest system that will make the buildings have their unity physics, sockets and conditions enabled only when you are close to the buildings without effecting the main thread and will keep you away from the colliders limit and increase your performance without any main thread impacts.

    Blueprints : Blueprints are set of data that can be created and allows you to have any mesh/prefab to adjust to that data and transform to a fully set up building with sockets, conditions and everything else!, supports a feature that supports wrongly placed pivots.

    uConstruct Extensions : Get compactible assets working in your project with uConstruct in 1 click!. You can also design your own extensions for your own assets so people can use both your asset and uConstruct simultaneously!

    Templates : The system will give you the ability to save some of your sockets and conditions into a data file and allows you to have them on any of the buildings. The templates persist through buildings so any change you make to the template will be copied to the other buildings. This will help when you want building to have the same sockets and conditions and you want the changes to save to each one of them instead of applying the changes to each one of the buildings individually.

    Prefab Database : The system has a built in prefab database that gives each building an uniqueID and allowing you to get their prefab at runtime. Very useful for networking, pooling system etc.

    Custom Physics System : The system has a built in physics system that offers a much faster way to handle sockets physics and is mostly recommended. Even though the system doesnt support complex shapes and only a box shape the system doesnt prevent you from using normal unity physics. For example the terrain that serves as a socket for the foundation(in the rust demo for instance) has a terrain collider.

    Saving System : The system has an extremely generic built-in saving system that saves your buildings and loads them when the game starts. It is fully extendable to use with your own needs if needed.

    Building Types Code Generator : Normally in any building system if you would like to add a new building type you will need to dig into the code and change some references. uConstruct has an easy way of adding/removing building types through the editor. It even allows spaces.

    Smart Behaviour : The system is extremely smart, the system would disable any used sockets automatically, overlapping sockets and so on. It will save you a huge amount of performance and memory without you needing to do anything. It also saves all of the buildings in groups. Giving you full control over all the buildings in the game.


    ---------------------------------------------------------------------------------------------------------------------------


    Thanks for reading,
    Elroy.



     
    Last edited: Apr 2, 2016
    RoyalAllen, twobob, Gozdek and 4 others like this.
  2. Guideborn

    Guideborn

    Joined:
    Jun 15, 2013
    Posts:
    225
    Hmm. You have my attention. I'd like to see what you have!
     
    ElroyUnity likes this.
  3. Stanchion

    Stanchion

    Joined:
    Sep 30, 2014
    Posts:
    266
    Read the documentation this looks great
     
    ElroyUnity likes this.
  4. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Thanks for your interest :),
    Any pictures you would like me to upload ?
    currently the system is done with all the features above, as written i will start a testing phase soon :).
     
  5. Archania

    Archania

    Joined:
    Aug 27, 2010
    Posts:
    1,662
    got a video on what you have at this point to show the system working?
     
    ElroyUnity likes this.
  6. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,786
    Definitely interested! Sounds perfect for us. :)
     
    ElroyUnity likes this.
  7. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Going to work on a workflow video today or tommorow, I will upload a picture of the rust demo today. took me about 20 min to make with the system it has Stairs, foundations, ceilings,walls,pillars and all the good stuff. it also has a collapse condition ( as i said, all conditions are generic, so i coded a basic one for collapse. any one can code their own so you arent limited :) ).

    :).
     
    Archania, S4G4N and Teila like this.
  8. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    Sounds interesting. Would like to see pics or video of how this works :)

    You've got my attention for now :D
     
  9. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Will try to get a video or pics soon :).
     
    Shawn67 likes this.
  10. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,196
    Agree on the pics/videos.. Would be great to see more of what it does. I've used other systems like this that either just don't work or have been abandoned. Great to see you putting one together! Will be a great addition to the asset store!
     
  11. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    I got some sneak peaks that i made a few mins ago, its showing off a building i built with the rust clone demo and it is a replica of the "famous" 3 foundation tower in rust :).
    https://gyazo.com/22e933a9e6d8cc297c4d24a5e2783860
    https://i.gyazo.com/8fb9bab3d840e2cd63a6ea59d5756476.mp4

    i am not going to show any of the work flow as of now as its something i prefer not to expose for now.
    i am going to organize the testing group today and send out testing package tommorow, if there is someone that wants to join in the last minute send me a private message.


    Elroy.
     
    Shawn67 likes this.
  12. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    A new feature that was added in this testing week ( obviously more happend but keeping the core secret for now ;) ):

    Now Construere has its own raycast-physics system! yes you have heard right!. no more colliders for certain core systems in Construere and now reaching the physics limit is almost impossible !!.

    The Construere physics system opened many doors and we can now make anything much better than any one else did with a building system!

    Will keep you guys tuned with some more core features that will be added in the development time.
     
    Last edited: Nov 5, 2015
    Shawn67 likes this.
  13. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Shawn67 and Teila like this.
  14. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Shawn67 likes this.
  15. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Another great feature, easy extendable and extremely generic saving system!
    https://i.gyazo.com/2a1aea1fc19aa04c7ff402af01ba0471.mp4

    this system is really easy to extend on, and it efficently saves a building group instead of all buildings in the scene.
    its an extremely powerful feature :).

    also another feature, is the prefabDatabase, all buildings have prefabID that allows them to use the system to get the prefab of that building, very helpful with multiplayer integrations and polling systems. ( no compiling needed! ).
     
    Teila likes this.
  16. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Rewrite of the detail cleaner, super efficent. and also supports revert status when exiting the game on the editor.
    https://i.gyazo.com/4a5e74496e99c2a7eeb5edd215870bd0.gif

    works perfectly and easily extendable.
    Added other many cool stuff that were required in order to acheive a built-in saving and detail cleaner so keep your eyes peeled :)
     
    Last edited: Nov 1, 2015
    Shawn67 likes this.
  17. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Another new building to the demo scene : https://i.gyazo.com/f347eb3fa5b1a006292b39f9b85872f8.mp4

    as you can see free place sockets arent limited to "flat areas", a very cool feature.
    i will post some more updates on the asset as its getting further in development,
    also getting some new models soon so the release demo will look a lot better.
     
    Shawn67 likes this.
  18. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Please note: system was renamed from "UltimateBuildingSystem" to "Construere" which fits alot better.
     
  19. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    441
    The videos are to fast. and don't show much in my opinion, would be nice to show more and slow down a bit.
     
  20. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Yeah sorry they are gifs, when i record them i only have 6 seconds lol
    i will try to get better examples :),
    but i dont want to expose my workflow so much for now so i wont show the workflow.


    Edit:
    Also please note that currently they are just supposed to show unique features such as saving all buildings, cleaning details on placement / free place area sockets.
     
    Last edited: Nov 6, 2015
    Teila likes this.
  21. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Some performance work this week and MANY features that i cant talk about are coming, will have some good result videos soon from all testers.

    some pictures that shows the power of the system :



    Edit :
    Recorded with AMD Athlon II X4 Quadcore with 3 GHz and 8 GB Ram.


    Big thanks to Oliver for taking his time making this tower.
    as you can see he has solid 60 fps in the video when all sockets are working. the batching is at work and so on.
    as you can see the sockets are using a custom physics system so no overload of the physics engine. Very cool showcase of Oliver!, thanks a lot.

    going to upload more results soon as i complete the new features and get some new designs, also keep your eyes peeled for showcases from the other testers as well ! :).


    Elroy.
     
  22. SebastianMaj

    SebastianMaj

    Joined:
    Nov 28, 2013
    Posts:
    112
    You caught my attention. This looks really cool and would really fit my survival game that is currently in development. Can't wait to see more and be able to use it! :D
     
  23. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Happy you like it ! :)

    New feature !!

    Rendering batching (not only collider batching now), completely rewrote the system batching utility and added rendering to it.
    Results :

    Without render batching :



    With render batching :



    As you can see major improvement :).

    Edit :
    Forgot to mention, the custom batching utility also supports more than 64k vertices building.


    Elroy.
     
    SebastianMaj and Shawn67 like this.
  24. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Another update,
    Worked for few days on optimization and had to remove collider batching for now, it will be readded in the next version and it will be 10 times better. the issue with collider batching is that it was completely unefficent.
    BUT i created a new generic and fully extendable AOI(Area Of Interest) system that will only enable colliders where it needs to and it is fully multi-threaded so no overload.

    So performance have been increased in about 10 times and no issues with colliders :).

    Will edit this post soon and get an example running for you guys.
     
  25. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Area of interest example : (Sorry for no updates, been busy working on a new feature that is already finished).

    https://i.gyazo.com/c763e0bcedadaa899013ef0b2d5ac0fe.gif

    as you can see, when you go out of the building range it disables all colliders, conditions and sockets and as you go back in it enables it. its also fully multi-threaded and the sphere extends as you add new structures.

    Next feature, Templates :

    The templates are datas that are created from a building, they host certain sockets/ conditions and can be applied to each building. applying them will add the hosted sockets/conditions into the building and therefor you can make a "FoundationsTemplate" for example and have all foundations have that template. it will automatically apply all sockets and conditions you chose into those buildings and when you make a change in any of the templates it will update the template on all of the other buildings.

    Release News :
    Getting very close to release, polishing up the asset, doing last optimizations, doing last walk-through on the docs and re-creating all youtube tutorials that i made for the testers. After i do that i will probably release :).
     
    julianr and Shawn67 like this.
  26. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    That looks amazing!
    Elroy, could you provide me with some information on how your package removes grass from the ground?
    I am one of the developers of the MoleEngine package, a voxel-based terrain engine, and if possible we would like to add support for your package to our engine. I assume right now it is intended for Unity Terrains?

    If you are interested in making the packages compatible please let me know!

    With best regards,
    Daniel Eder
     
  27. Zedinex

    Zedinex

    Joined:
    May 26, 2015
    Posts:
    51
    I would like this now please!! haha
     
  28. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    First of all thank you for your interest :).
    The grass remover is a demo condition that i have created that handles details on the terrain. it basically reads all details with calculating width and height of the building and then removing any thing in its path. its stashing the data in order to retrieve it when the condition is being destroyed (a.k.a building destroyed).

    Yes!, i will absolutely look into making the demo script work with your system. i will actually make a tutorial on that before release so people can understand how to implement that :).

    i will contact you further in development before when i reach the polishing stage :).

    Haha :D, Thanks for your interest! :)


    -------------------------------------------------------------------------------
    Good news: i've been checking good options to get the system to work with MP(MultiPlayer) in the last days and have got the API to be exposed more than enough so you can implement any 3rd party system. It took me 1 and a half hour to implement photon (tbh not liking photon too much and not too familiar with it but i chose it because many people use it) and even though i most of the time prefer not to use photon it was very easy to implement.

    in the next couple of days i will be pushing out more tuts to my testers with some tutorials about Multiplayer integration with libraries like Forge, Bolt etc.


    Elroy.
     
  29. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Some more performance test :





    You can see the render batching at work (19 draw calls for that huge tower) and no fps hit.
    Definitely close to achieving my optimizations targets.


    Big thanks to Oliver for making this big tower :),
    Elroy.
     
    julianr, AdamGoodrich and Shawn67 like this.
  30. Ashkan_gc

    Ashkan_gc

    Joined:
    Aug 12, 2009
    Posts:
    924
    Nice System!
    When it will be available in AssetStore?
     
  31. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Hoping to release it in a week or two, finishing some importent features that will be announced soon, that again all unique and never done in any building system in the asset store and also polishing the assets and making multiplayer-integration tutorial.

    And thanks for your interest :),
    Elroy.
     
    Shawn67 and Teila like this.
  32. Zedinex

    Zedinex

    Joined:
    May 26, 2015
    Posts:
    51
    Oh sweet so not long then :p
     
    ElroyUnity likes this.
  33. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Thats right :).

    Another cool feature that was created for you guys, getting close to release so i started adding some last minute requests by the testers.
    Terrain formation condition - https://i.gyazo.com/6d26e50876c0f030c89a2f0b3d60b4bb.mp4.

    Changes the terrain to make sure the height fits to the terrain and it flattens the area around it. the reason its so sharp in that gif is because of that big slope. thats one of the use-cases lets say you want to achieve something like, houses that climb up a slope, like a middle eastern village or a town like one in Switzerland that would be the perfect thing for you,
    Or if you want to achieve a flat area for lets say, a farm thats also a thing that you can use it for. if theres a little area that isnt flattend that would take care of it for you!. you also have an option to revert changes or keep them like that when the building is destroyed. so definitely an amazing feature in my eyes :).


    If you have any more requests make sure to comment them here. Upon release i will also expose the trello page i created for the testers so you could see the future plans, milestones and post your own ideas on the "ideas card".



    Thanks for reading,
    Elroy.
     
    Shawn67 and Teila like this.
  34. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,786
    Excellent, Elroy! Thanks for adding this to the asset. I can find many uses for it and can't wait to start building. :)
     
    ElroyUnity likes this.
  35. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Thank you for your kind words Teila:).
     
    Last edited: Dec 9, 2015
  36. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,786
    Shhhh, it is Teila! :)
     
  37. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Oops ;)
     
    Teila likes this.
  38. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Name was changed again from "Construere" to "uConstruct" that was a last minute before release switch so you could actually pronounce the name lol :).

    Hopefully sending for approval on sunday! :).
     
    Shawn67 likes this.
  39. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Another update, most of the videos are ready. When i finish with all of them i will send for approval :).

    Also what do you guys think would be a reasonable price?
    I am thinking about 20$ for the first week.
     
    John-G and Shawn67 like this.
  40. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Submitting for approval today :).
     
  41. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Just wanted to say that the asset is on submittion process, i am going to update the thread content completely over the past few days and update it with updated information and features, also some pics :).
     
    Shawn67 likes this.
  42. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Still on submission, seems to take a while :),
    meanwhile working on a new version, will update this post with some future features :).
     
  43. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Last edited: Jan 7, 2016
    Shawn67 likes this.
  44. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
  45. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,647
    Congrats Elroy!!

    You should consider updating your signature with links to your assets :)
     
    ElroyUnity and Shawn67 like this.
  46. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,196
    Agree.. I love it when publishers have both their asset store link and forum thread link for their assets in their signatures (or publisher page if they have a ton of assets - always hope those have a link to their forum thread in product descripts lol)
     
    ElroyUnity likes this.
  47. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Thanks guys :),
    Adding it to my signature now :).
     
  48. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    a little fix sent for approval (ver 1.01):
    -Removed project settings from the package ( it was accidently put in there ).
    -Replaced an image with the docs that was outdated.
    -Also moved the asset to the "Scripting" category.
     
    Shawn67 likes this.
  49. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,786
    Thanks, Elroy! Congrats on your approval. I can't wait to try it. :)
     
    ElroyUnity likes this.
  50. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,582
    Thank you Teila :),
    At the moment i am working on finishing the networking tutorial which should hopefully be out tommorow :).


    Elroy.
     
    Teila likes this.