Search Unity

PoolManager [By Path-o-logical-Games]

Discussion in 'Assets and Asset Store' started by Rafes, Sep 13, 2011.

  1. Burletech

    Burletech

    Joined:
    Jul 1, 2010
    Posts:
    73
    I'm having the exact same problem. I don't know why Unity let me update when I'm not running 4.0. I also don't have the email Unity sent me with the invoice number and am now having to try to get Unity to track it down so I can email the number to rafe. What a pain in the ass :(

    Should clarify that the pain is Unity telling me to update something that isn't going to work on my current version. The asset itself is indispensable.
     
    Last edited: Dec 19, 2012
  2. Zozo2099

    Zozo2099

    Joined:
    Jul 15, 2012
    Posts:
    478
    Please can someone tell me if it works with Unity 4? thanks
     
  3. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Yes, all of our plugins are now for Unity4.
     
  4. S0ULART

    S0ULART

    Joined:
    Jun 14, 2011
    Posts:
    131
    Hey :)
    what's the difference between your pooling method and unity de-activate option of objects?
     
  5. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    PoolManager uses SetActive() internally, though we do have a feature request in the backlog to despawn by moving objects off-camera.

    The real benifits of PoolManager are the pooling and productivity features such as caching, pre-loading, static access to pools and prefabs, loading and unloading pools and storing them as prefabs, spawn limiting, and more. Check out the info at http://PoolManager.path-o-logical.com

    Also note the user testimonials down the right margin.
     
    Last edited: Jan 6, 2013
  6. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    ...Clean streets even with heavy puppy traffic, ofc. Sorry, couldn't resist the joke ^_^
     
  7. Joe ByDesign

    Joe ByDesign

    Joined:
    Oct 13, 2005
    Posts:
    841
    I hope not too far in the backlog! Hint: we were the ones that requested this ;)

    Adding, had to waste time to implement PoolManager, then revert re-roll our own pooling once we realized PoolManager doesn't play as well with mobile as needed (due to using always using SetActive, not optionally moving offscreen).

    "PoopManager"!? HAHAHAHAHAHHAHA

    :)
     
  8. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Hah! Corrected.

    PoolManager plays incredibly well with mobile.

    I still have not seen any profiler blips during respawn, and SetActive is even more efficient (Unity4). I'm not sure why you guys saw a performance hit. I know we have a number of users pooling full characters without issue and one of our own games pools a few prefabs with a large amount of logic on re-spawn. The reason the feature is low priority is because we still aren't sure it would benefit many users and it isn't trivial (significant development time, high potential for setup issues, fringe issues such as incompatible with motion-blur, and very rare use-case). I'd like to hear if anyone else has come across this need first. So far no one has reported any issues and I would need to see a stripped down package from you that reproduces the issue before we can determine the best way to support you.
     
    Last edited: Jan 6, 2013
  9. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    We just released PoolManager 4.1 with backwards compatibility for Unity3.x!

    There is a great new feature and more API access. See the release notes for more information: http://forums.support.path-o-logical.com/viewtopic.php?f=3&t=31


    Available now for users who purchased directly from us. Also submitted to the AssetStore.
     
  10. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    Rafes, sorry if this has been asked before, and I know it's not a "default" thing since it's not official in Unity 3.5, but does Pool Manager 2 work with the 3.5 Flash preview build option?

    PS.: Congratulations on the Unity 3.5 backwards compatibility ;)
     
    Last edited: Jan 15, 2013
  11. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Hah, thanks! (Still waiting on the AssetStore)

    I'm not sure about Flash. Last I heard there was some .Net/Flash compiler issues. I honestly can't recall what it was but it was major enough that I literally scratched my head... If anyone has tried it recently I would love to hear an update!
     
  12. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    PoolManager 4.1 is now available in the AssetStore as well.

    I want to clarify again: this new version is compatable with both Unity 3.x and 4.x.
     
  13. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,527
    Nice to see 3.5 supported, I'm still using that. I just updated to the new pool manager version and have one error with a playmaker action.


    Assets/PlayMakerCustomActions/Path-o-logical/PoolManager2/PmtCreatePrefabPool.cs(162,33): error CS0029: Cannot implicitly convert type `void' to `System.Collections.Generic.List<UnityEngine.Transform>'


    Do you know how to solve this?

    Thanks
     
  14. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Unless you have a full traceback to a PoolManager file it would be hard for me to guess. If you could email support with more information and a code sample, we could have a look. Or contact the folks at Playmaker.
     
  15. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    A few days ago I created this node for use in uScript. It's up for grabs if anyone uses both uScript and PoolManager.



    I will be adding more nodes when necessary. :)
     

    Attached Files:

  16. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Nice one! Thanks for sharing this with the community.
     
  17. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Last edited: Feb 25, 2013
  18. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764

    Released Version 4.1.1

    • The OnDespawned event message is no longer sent when preloading. By definition, an instance which is preloaded hasn't been spawned yet, so it shouldn't trigger this event.

    Full release notes: http://forums.support.path-o-logical.com/viewtopic.php?f=3&t=31

    Available now to users who purchased via our webstore. Pending approval in the AssetStore.
     
  19. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    I keep getting an error when I try to declare PrefabPool to gain access to prefab settings. I just copy and pasted the example given in the pool manager documentation. Has anything changed?

    Nvm : I was using a gameobject variable instead of a transform. So I just added ".transform" to my gameobject var to fix.
     
    Last edited: Mar 27, 2013
  20. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    I asked this over at the PM forums, but I'll ask here again

    Is there a way to actually get the how many instances where prepooled for a Pool and access their indexes?

    Count doesn't work since it only refers to whats already spawned. I actually want what in the pool.

    EDIT: I basically want to iterate through the prepooled objects and spawn them...
     
    Last edited: Mar 27, 2013
  21. MoDD

    MoDD

    Joined:
    Mar 29, 2013
    Posts:
    3
    Hello,

    I'm interested by your product.
    Does your "Despawn" method reset every fields of every component to their default value ?
    If yes, how do you do this ? By reflection ? Isn't it too costly ?
    If no, what's the really amazing feature of your product ?
    There's some free pooling systems everywhere ( http://www.booncotter.com/unity-prefactory-a-better-pool-manager/ )
    So why choosing your product ? ( your features list just repeat the same thing, so I want your arguments ;) )

    Thank you !
     
  22. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Hi jrDev,

    Yes. You have full access to the per-prefab total count, spawned and despawned. I replied on our forums here: http://forums.support.path-o-logical.com/viewtopic.php?f=3&t=2043



    Hi MoDD,

    PoolManager is a framework that handles the pooling for you, and has a deep API so you can get advanced and creative with the particular needs of your game. It would be too error-prone or processor-intensive to try and predict every possible GameObject state for every game and situation. Reflection in particular can be terribly slow. Instead, events are provided so you can manage the exact states needed for each GameObject. Often you will need no state reset at all. In some cases it can be quite specific. This makes PoolManager a far more effective tool for every game and pipeline, and keeps it as light on performance as possible.

    Regarding PoolManager versus other solutions... I won't say anything that can be construed as negative about other tools offered by the community. I will only comment on the strengths of PoolManager itself. PoolManager has been around for a couple of years now. It has been production-tested by hundreds of users. PoolManager is incredibly solid and helps you organize as well. It is easy to get started and still extremely flexible. The API gives you total control for easy access, solutions for fringe use-cases and integration in complex production environments.

    I have personally used Pooling with a number of other packages as well, such as EZGUI and nGUI to pool GUI sprites. You will also find numerous popular packages offering PoolManager integration, such as PlayMaker.

    Support is incredibly important to us, so we'l be there for you if you need us.

    Please feel free to post here, on our forums or email us at support@path-o-logical.com if you have any further questions.
     
  23. outtoplay

    outtoplay

    Joined:
    Apr 29, 2009
    Posts:
    741
    Rafes,

    I thought PoolManager was compatible with 3.5x? I just tried to purchase it for the 24 hour sale, and it isn't available, wants me to upgrade to Unity 4.1?

    That would sorta....suck.
     
  24. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    It is. That is just the AssetStore, not PoolManager.

    Here is a coupon to buy it from our store at a 30% discount, for anyone who wants to take advantage of the 24 hour sale. This coupon will work for everyone until tomorrow:

    Coupon: CPN22498308728
    Click the "Get It Now" button at http://packages.path-o-logical.com

    This is the same package you would get from the AssetStore by the way. You'll also get free updates forever from us. The alternative would be to get the free version of 4.1 and open the AssetStore through that just to download the package... a pain.
     
  25. outtoplay

    outtoplay

    Joined:
    Apr 29, 2009
    Posts:
    741
    Thanks,
    purchased.

    Weird how the 3.5 version isn't avail through the store. Is that an Asset Store thing to herd us toward premature purchase of 4.noGUIyet?
     
  26. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    I think it is because we submit the package using the latest version rather than 3.x. For a good while it made no difference. Recently it started mattering again. I've communicated this to them.

    The good news is, only Unity misses out ;)
     
  27. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
  28. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
  29. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    Hey, I asked another question on the pm forums.
     
  30. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Hi,

    You don't need to post here if you already posted on our forums. I check the forums several times a day, usually a few times in the evening and early morning PST.

    Cheers,
     
  31. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Hi,

    PoolManager is in the Madness Sale right now at 50% off!

    Having trouble getting PoolManager for Unity 3.5x?
    You can also purchase PoolManager from our store at http://packages.path-o-logical.com . You will the same discount and free upgrades forever.
     
  32. alexsan75

    alexsan75

    Joined:
    Feb 6, 2012
    Posts:
    95
    Great! Already purchased PoolManager directly from your site. Worked just fine to import into Unity 3.5.7 :)
    And 50% off? - excellent! Thanks. Can't wait to test this Asset in action.
     
  33. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Thank you Alex! I'm glad it went smoothly for you.

    i just want to remind our 3.5x users that the example scenes won't work as they were saved in Unity4, but the package itself is fine. The examples are handy, but mostly for script ideas and you can still check out the example scripts.
     
  34. Mcg

    Mcg

    Joined:
    Mar 28, 2012
    Posts:
    112
    Hi great tool I bought it a little while ago and works great , was just curious currently using the api to create a pool and adding transforms at run time instead of via the inspector , should the inspector still update the current items in the pool even using the api?
     
  35. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    You know... I don't think it does. I'd have to look at how the serialization is running. I'm sure it can be done. Is this a feature you would like to see? I'll look in to it either way.
     
  36. Mcg

    Mcg

    Joined:
    Mar 28, 2012
    Posts:
    112
    Yeah I think it would be nice to have making debugging easier :)
     
  37. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Sorry I have to ask this, but I'm not in front of my computer at the moment... If you switch the inspector tab to debug node (right-click the tab), can you see it then? I assumed it was just the custom inspector logic that made it not show up.
     
  38. Mcg

    Mcg

    Joined:
    Mar 28, 2012
    Posts:
    112
    oh yes I forgot about trying that sorry but yes It does show up just not in the custom inspector :D
     
  39. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
  40. x12378c

    x12378c

    Joined:
    Aug 29, 2013
    Posts:
    3
    hi, man, I see source code of PoolManager and found a BIG bug. the despawned instances not be set parent before them go into despawned list. If their original parent game object be destroyed, them will be null! please correct it.
     
  41. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Hi,

    This is not a bug. Every game and usage situation is unique. I've had situations where this parenting automation you suggest would have broken a setup, creating the opposite problem to your's. PoolManager's job is to manage instances and provide users with the ability to manage the custom state of their instances via the OnSpawned and OnDespawned events. The scene organization side of PoolManager is for convenience only and parenting has no effect on core functionality. The only way an instance would become a child of another object is if you added code to make it happen. This would be considered a custom state.

    I can suggest 2 possible solutions...

    1) Don't parent it. One of the reasons we created UnityConstraints was to handle this situation. Rather than make one instance a child of another, we simply "constrain" it so it moves the same as if it is a child. This is my preferred workflow because it is very safe and it doesn't matter if either object is despawned or destroyed.

    2) Add a custom script that un-parents the instance when it is despawned. E.g.
    Code (csharp):
    1. private void OnDespawned()
    2. {
    3.      this.transform.parent = null;
    4. }
    There are other possible ways to handle this. I hope these ideas help you find one that fits your game. If you need further assistance, please post to our forums at support.path-o-logical.com/forums.
     
    Last edited: Aug 29, 2013
  42. x12378c

    x12378c

    Joined:
    Aug 29, 2013
    Posts:
    3
    Hi,
    it is a good idea to not parent it. But, as PoolManager, when instances be despawned, user can think that he have put them back into system. so PoolManager should manage these despawned, make assure that them is all right.
     
  43. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    The point I'm trying to make is that it isn't wrong to have instances parented to something. In your case you want a certain behavior but another user may not want this behavior. This is why it is considered a custom state that should be managed by the instance or other custom pattern. In fact, PoolManager 5.0 will include a user-requested SpawnPool feature to turn off the auto-parent to SpawnPool transform on initial instantion because they felt even that amount of automation was too much. I could add a PrefabPool option to unparent on despan but I want to avoid bloat related to automation of custom states and allow the flexibility of the frame work to keep performance high and the interface and API clean and simple to use PoolManager in all games.
     
  44. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Hi,

    PoolManager 5.0 is now available for download.

    Please note this is a major version release because it will require a minor update to your project. PoolManager is still backwards compatible, we just added everything to a namespace. Any script that uses the PoolManager API will simply need 'using PathologicalGames;' at the top. That's it.

    See the full release notes here.


    Best wishes,
     
  45. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,315
    does v5.0 work for the unity 3.5.7 users like v4.1?
    [edit:]havent seen it is still backward compatible
     
    Last edited: Sep 12, 2013
  46. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    I'm glad you posted this. I hadn't considered that the namespace itself may not be backwards compatible. This is why we went for a new major version though. Unfortunately we don't have Unity 3.x anymore so I can't easily test this. If anyone with 3.x confirms that PoolManager 5 isn't backwards compatible, please let me know so I can update the information out there.

    While we won't be supporting Unity 3.x directly anymore (less than 5% of all Unity users are still in 3.x), we are, of course, dedicated to supporting our users. If PoolManager 5 no longer works in Unity 3.x, and you need the latest PoolManager 4.x, please email support@path-o-logical.com with your order information and I'll send it to you.
     
  47. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,527
    This 5 percent comes from 95 percent unity 4 free version ..
     
  48. Bradamante

    Bradamante

    Joined:
    Sep 27, 2012
    Posts:
    300
    I just purchased PoolManager and imported it. As far as I can see there are two install locations being used: Assets/Editor/PathologicalGames/ and Assets/Plugins/PathologicalGames/

    Why don't you use Assets/Plugins/Editor/PathologicalGames/ for the former? For me, PM does belong into the Plugins folder (which other plugins use). If I see a Assets/Editor/ folder, I would assume this to be the location of 1st party or my own Editor extensions.

    Can I manually move the files from Assets/Editor into Assets/Plugins/Editor without breaking PM?

    P.S. The first post of this thread still says v4.
     
  49. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Hi,

    These are the standard locations in Unity. For larger projects with numerous plugins this organization really helps. There should not be any editor folders under the plugins folder. They have made the compiler quite flexible if that works though! I would be concerned about broken editors or unnecessary dependency files being shipped with builds.

    I am pretty sure the package updator knows if you have moved files and still works, but breaking convention is done "at your own risk".

    Unfortunatly there is an issue related to editing thread posts right now. I have confirmed it with other users and reported it to Unity. I will continue to try and update it. Thanks for reporting this though!
     
  50. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I don't think it's as low as 5%. I personally know TONS of people who have 3.X pro licenses and only sometimes use 4.X free version because they haven't made enough money to buy a pro upgrade. Unfortunately.

    I always keep a copy of the 3.5.7 installer for my plugins, and submit it using V 3.5.7. That way those users aren't in bad shape or unsupported. I would suggest you do the same...it is your choice in the end though. It does open up the floodgate for Pool Manager competitors on V3.X though if you do not.
     
    Last edited: Sep 13, 2013