Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

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

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

  1. Sarrivin

    Sarrivin

    Joined:
    Dec 18, 2015
    Posts:
    24
    Wow, so it's much better than I thought :). And great you added the rest of those features to the roadmap.
    About layers I think I just didn't remember, I played with uConstruct few months ago only a while, menaged to integrate Medieval Interriors and it worked, just found out that pack has walls textured from only inside :D the other was black. So I figured out I'd just make prefabs of joined two walls, back to back, I think developer of that asset does it that way even himself. I plan to return to uConstruct as soon as I finish my current project. So yeah, you must be right about everything here - which is really awesome! :)
    Thank you too, especially seeing that you plan to actively develop this plugin further :). Got also uNature, seems really good thing for performance too.
     
    ElroyUnity likes this.
  2. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Cheers and happy you liked it :)
    Got big plans for this asset!

    Will keep you updated! :D
     
    Sarrivin likes this.
  3. Ferrat70

    Ferrat70

    Joined:
    Jun 13, 2013
    Posts:
    3
    Ok, I know it's something I am doing wrong, and the tutorials and docs aren't the easiest to decipher.

    At the moment I am just trying to get it running, and so far so good, I have the exterior 3D Forge and I am trying to get it to work. If I use the blueprints system, and try and add a wall or floor, it doesn't matter if I use the fbx, or the prefab, the export button remains grayed out and I cannot do anything.

    So I am currently stuck with the demos white walls.
     
    ElroyUnity likes this.
  4. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Apparently many have issues with the bp system, going to submit the uNature today and work on tutorials for both uNature and uConstruct.

    I will make sure to check the bp issues meanwhile :)

    Sorry for the inconvinience and will look at it asap!
     
    Sarrivin likes this.
  5. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,192
    @ElroyUnity, I'm running 5.5.0f3 and uConstruct 1.5. I'm following your Integrating Photon Cloud setup and I'm getting this error:

    Assets/uConstruct/Scripts/Core/Extensions/Extensions/Photon/Integration/Core/PhotonCloudEntitiesManager.cs(311,125): error CS0234: The type or namespace name `ReceiverGroup' does not exist in the namespace `ExitGames.Client.Photon'. Are you missing an assembly reference?

    Thoughts?
     
    ElroyUnity likes this.
  6. Ferrat70

    Ferrat70

    Joined:
    Jun 13, 2013
    Posts:
    3
    Thank you :)

    It was a toss up between this and Easy build as you can gather I picked this :)

    Its not urgent for me at least anyway, this is all for building my 5 year old a Fallout like game.
     
    ElroyUnity likes this.
  7. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Hey -
    Photon changed some of their code, to fix this replace "ExitGames.Client Photon.ReceiverGroup" with "ReceiverGroup" and it should get rid of the errors :)
    Oh I see, that's awesome! :)
    Thank you ;)
     
  8. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634
    Did you follow this?



    You add your own, like he did with the Cube, use your own, instead of the cube, and then add it to the manager, like it shows in the video.
     
    ElroyUnity likes this.
  9. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    notice you said to use the Prefabs you can make blueprints, that is what I do, to use the prefabs.

     
    ElroyUnity likes this.
  10. StephenL

    StephenL

    Joined:
    Oct 18, 2010
    Posts:
    218
    Did you read the documentation pdf? It explains step by step how to do your own prefabs and how it all works.
     
    ElroyUnity likes this.
  11. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634
    6. We should be able to click on object and move it around, rotate it, copy, duplicate, etc.

    There are many tools people use like Snappy Grid, and Pro Grids, that do this so maybe add a feature like they did, which is really simple.. Make a small custom UI Tab for this When you open that window.. So for those that do not have those assets, it would be useful. I would make sure if you make this though to turn that option off or on, incase people want to use those tools instead for stuff like this..

    Far as the socket system maybe add it later on , so we have more control. But I think its fine the way it is.. But if you plan to, maybe add more control over the socket system....
     
    Sarrivin likes this.
  12. amynox

    amynox

    Joined:
    Oct 23, 2016
    Posts:
    172
    Hello Elroy,

    First of all thank you again for this great asset !!! very powerfull and easy to use.

    I've just complete the intergration of uConstruct in my game but i'm running in a very wirred issue :

    I'm using a raycast to decide wether or not the player can place the building (UCPhysics.RaycastAll..), but depending on the hit point uConstruct strruggle and the HandlePlacing(hits) function return isFit = true and isFit = false for the next frame for the same hit point !!

    For exemple when i place a Fondation (with a fondation collider on the object + CheckForCollisionCondition as condition) the First fondation get placed on the Terrain without any issue. Now when i try to place a second fondation on the top of the first one, the second fondation start poping in Red (cant be placed) and Green (can be placed) and keep doing this.

    After digging, it seems that when uConstruct call ( isFit = CheckConditions(); ) the CheckForCollisionCondition return true (no collider detected, player can place the fondation) and JUST AFTER that the collider of the first Fondation is detected and added to the CheckForCollisionCondition script who now return False.

    I tryied to move my raycast the to FixedUpdate() and LateUpdate() to give the time for the physics engine to add the collider before uConstruct call CheckConditions(); but nothing changed.

    This issue is driving me crazy from 2 days now !!! :) any help will be much appreciated !

    Thank you
     
    ElroyUnity likes this.
  13. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Hey amynox,
    That sounds pretty weird, try playing with the scale of the CheckForCollisionCondition it might be the case (maybe it's too big/ too small)
     
  14. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    I can't seem to find, but does this support third person placement, or more accurately, integration with the Third Person Controller asset? And if not, is it in the near future plans?
    I also see Forge Networking listed for integrations, does this include the latest Remastered release?
    I'm down to 2 choices between uConstruct and Easy Build System, both seem pretty decent, can't really decide which is best yet for my needs, but I see uConstruct hasn't been updated since last year so it's probably due for an update soon with new goodies... I'd like to know what's coming to assist this decision.
    I'm also looking at uNature so it's probably not hard to convince me to go with uConstruct with a couple of the right answers :)
    The couple of points with EBS that are still attractive... in the demos the runtime snapping looks more responsive for players (this may be a configurable snapping threshold?), and it has a nice initial set of modular wood parts that really demo well which I think also impacts the quality of the placement ghosts (combination of model+transparency). But it's hard to get the details for a 1:1 comparison... like does uConstruct support terrain adaptations?
    I realize there is a free version I could go mess with, and I do appreciate that about this package, but I just haven't had time to play with every demo package. If I can just get a few questions answered to make some choices, it goes a long way.

    Thanks for your time.
     
    ElroyUnity likes this.
  15. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Hey -

    Yes, it supports third person placement and terrain adaption but not the new forge (as of now).

    And you are correct, working on a huge update which I am going to reveal soon, but for now lets just say its a huge update ;)
     
    Last edited: Feb 16, 2017
    Sarrivin likes this.
  16. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    Argh. Between the two systems, you guys make it very hard to decide. I feel my wallet is going to take a hit for both... but maybe I'll just wait a little and see if this next update pushes uConstruct over the top, thanks for the heads up :)
     
    ElroyUnity likes this.
  17. StephenL

    StephenL

    Joined:
    Oct 18, 2010
    Posts:
    218
    I have both systems, and uConstruct is better.
     
    ElroyUnity likes this.
  18. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    @StephenL Thanks for vote, would you care to give a bit more detail on what specifically makes you feel that way?
     
    ElroyUnity likes this.
  19. StephenL

    StephenL

    Joined:
    Oct 18, 2010
    Posts:
    218
    You can setup prefabs in one click without having to spend time lining everything up, the blueprints system is amazing, comes with numerous networking examples, the support is amazing, etc.

    Don't get me wrong, EBS is very good too and comes with some nice prefabs as well, but overall, uConstruct is superior in my opinion. :)
     
    ElroyUnity likes this.
  20. LostPanda

    LostPanda

    Joined:
    Apr 5, 2013
    Posts:
    168
    hello,this assets inIntegrated photon cloud?thanks!
     
    ElroyUnity likes this.
  21. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Yes :)
     
  22. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    862
    Hi Elroy,
    Will anything new come for uConstruct?
    I'm having a problem in developing my game, it's not from uConstruct but is related to my building system. Donno if you can help :)
    For my game let players hide in their buildings from cold temperature or wild wind, the program need to know when a player is inside a building and check if it can keep warmth, block wind, roof out the rain etc.
    I find it difficult to work out an efficient way to achieve this, do you have any ideas?
     
    ElroyUnity likes this.
  23. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Hey -

    Yes a new huge update is coming up, can't really estimate but its going to be a game changing :).

    About your issue - The most simple solution would be placing a trigger collision on each of your foundations / under your ceilings and then detect when they enter/ exit.

    That's the most simple solution for it, but definitely not the best. Might implement something like that for uConstruct :)
     
    Sarrivin likes this.
  24. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    862
    will it be a performance hit if the building gets too big? We are already using lots colliders for rock prefabs, can't imaging a big building with all that colliders.
     
    ElroyUnity likes this.
  25. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    The approach I will most likely add to uConstruct wont. but I don't know about this one.

    A bit amount of box colliders dont affect performance that much.
     
  26. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    862
    For I have triangle foundations, I need to use some simple triangled mesh for their colliders, donno if this is performance comsuming.
     
    ElroyUnity likes this.
  27. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Oh if you are going to use mesh colliders then yes its going to absolutely kill your performance lol
     
  28. ostrich160

    ostrich160

    Joined:
    Feb 28, 2012
    Posts:
    679
    Hi there
    I've had your asset for some time and Im loving it
    I was wondering if there was a way to place objects on 'grid'.
    So essentially a mix between free place and snap to sockets, in which you can place an object anywhere but its always aligned with each other. I suppose like minecraft or something.

    Thanks
     
    ElroyUnity likes this.
  29. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Uhm yea, you could most likely on the free placibg use Mathf.Floor/Ceil to create sone kind of grid-simulation. The sockets should apply properly too
     
    ostrich160 likes this.
  30. ostrich160

    ostrich160

    Joined:
    Feb 28, 2012
    Posts:
    679
    Fantastic! I'll try that in a bit, thanks
     
    ElroyUnity likes this.
  31. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,628
    @ElroyUnity - Any guidance on what to expect in a future version of uConstruct?
     
    ElroyUnity likes this.
  32. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Let me know how that worked!
    I am going to start working on it somewhere next week, got mostly all of the concepts and new ideas done and ready to be programmed. I dont want to say too much but I am going to rewrite a lot of the aspects (allow compatibility with the old approach obviously) and add so much more to the system. Mainly making it a lot easier to use and to set up new buildings. Going to be amazing for sure :)
     
    Sarrivin and StephenL like this.
  33. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    862
    will it still be heavy if the mesh is about only 10 tris?
    or it is the mesh collider method itself a performance killer?
     
    ElroyUnity likes this.
  34. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Uhmm if its only 10 tris it might be fine but honestly I can't really tell, I would reckon testing and seeing whats going on :)
     
  35. YOAJ1

    YOAJ1

    Joined:
    Jul 17, 2014
    Posts:
    26
    I am using uConstruct 1.5 and Inventory pro 2.5.4

    I tried to itemize Foundation by looking at pdf of Inventory pro integration
    but I want to let it be equipped with a character and build it on the ground
    but I get an error <Can't add item to collection, restriction filter does not allow: #1 uConstructEquipableItem>

    Is there any good solution?

    Because machine translations are used, the meaning may be wrong
     
    ElroyUnity likes this.
  36. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    It seems like you can't create the item which is more related to inventory pro, did you try contacting them?
     
  37. YOAJ1

    YOAJ1

    Joined:
    Jul 17, 2014
    Posts:
    26
    I have not taken contact.

    EquippableItem of inventory pro can equip to character,
    An error appears for uConstructEquippableItem
     
    ElroyUnity likes this.
  38. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    I will check it out during the week - thanks for letting me know, did you try to follow the documentation though? (On the extensions window, open the Inventory Pro integration and click "Open Docs")
     
  39. YOAJ1

    YOAJ1

    Joined:
    Jul 17, 2014
    Posts:
    26
    ok
    I will try it
     
    ElroyUnity likes this.
  40. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    A game object can only be in one layer. The layer needs to be in the range [0...31]
    UnityEngine.GameObject:set_layer(Int32)
    uConstruct.Sockets.BaseSocket:Awake() (at Assets/uConstruct/Scripts/Core/Sockets/Base/BaseSocket.cs:206)

    so I Debug.Log (LayersData.DefaultSocketLayer);
    and it's
    -1
    UnityEngine.Debug:Log(Object)
    uConstruct.Sockets.BaseSocket:Awake() (at Assets/uConstruct/Scripts/Core/Sockets/Base/BaseSocket.cs:207)

    unity 5.5.2.f1 latest your thing.
     
    ElroyUnity likes this.
  41. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Hey Twobob, did you follow the documentation and clicked on the "Create Missing Layers" button in Window/uConstruct/Manager ?
     
  42. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Documentation?
    There was documentation?
    Possibly not - slightly.

    I found them. Top. Sweet.

    Must admit I found the "Pressing 2 Twice rather than pressing 3" to get a doorway confusing but it's all good. Thanks for the great system so far.

    (looks like the GUI number bindings are wrong)
     
    Last edited: Mar 4, 2017
    ElroyUnity likes this.
  43. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Good point regarding the door key will change :)
     
    twobob likes this.
  44. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Crazy thought.
    If the level = -1 then the person didn't add the layers yet
    Show a Custom error in that instance "Hey, dumbass, read the docs, Click the add layers button"
     
    StephenL and ElroyUnity like this.
  45. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Haha good thinking ;)
     
    hopeful and twobob like this.
  46. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Last edited: Mar 4, 2017
    ElroyUnity likes this.
  47. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    twobob likes this.
  48. Spacewalker

    Spacewalker

    Joined:
    Nov 28, 2016
    Posts:
    12
    Hello, I have a problem with the integration of InventoryPro. During the construction the object is not removed from the CharacterWindow. How do I remove it?
     

    Attached Files:

    ElroyUnity likes this.
  49. ElroyUnity

    ElroyUnity

    Joined:
    May 20, 2015
    Posts:
    1,588
    Hey Spacewalker,

    Haven't seen that before, did you follow the integration steps properly? (Window/uConstruct/Manager/Extensions/InventoryPro/Open Docs)
     
  50. Spacewalker

    Spacewalker

    Joined:
    Nov 28, 2016
    Posts:
    12
    Hello, yes, I did everything according to the instructions. There are still problems if you download the demo scene, then there will be problems with links. Apparently you have integration with the old version of InventoryPro? In any case after fixing all the errors, there too, the object is not deleted from CharacterWindow. Probably you are deleting the item from the database, but do not clean out the slot in CharacterWindow.

    If you add a delete from characterUI in uConstructEquipableItem.cs, everything will work:

    public virtual bool Place()
    {
    currentStackSize--;

    for (uint i = 0; i < PlayerManager.instance.currentPlayer.inventoryPlayer.skillbarCollection.collectionSize; i++)
    {
    if (PlayerManager.instance.currentPlayer.inventoryPlayer.skillbarCollection.item == this)
    {
    PlayerManager.instance.currentPlayer.inventoryPlayer.skillbarCollection.SetItem(i, this, true);
    }
    }

    //Remove from characterUI
    for (uint i = 0; i < PlayerManager.instance.currentPlayer.inventoryPlayer.characterUI.collectionSize; i++)
    {
    if (PlayerManager.instance.currentPlayer.inventoryPlayer.characterUI.item == this)
    {
    PlayerManager.instance.currentPlayer.inventoryPlayer.characterUI.SetItem (i, this, true);
    }
    }

    if (currentStackSize == 0)
    {
    NotifyItemUnEquipped(PlayerManager.instance.currentPlayer.inventoryPlayer.characterCollection, 0);

    var skillbar = PlayerManager.instance.currentPlayer.inventoryPlayer.skillbarCollection;
    var inventoryCols = PlayerManager.instance.currentPlayer.inventoryPlayer.inventoryCollections;

    //Remove item from character slot
    var characterCols = PlayerManager.instance.currentPlayer.inventoryPlayer.characterUI;
    if (characterCols != null)
    {
    foreach (var wrapper in characterCols)
    {
    if (wrapper.item != null && wrapper.item.currentStackSize == 0)
    {
    wrapper.item = null;
    wrapper.Repaint();
    }
    }
    }
    ......................and so on
     

    Attached Files:

    ElroyUnity likes this.