Search Unity

Prefactory: Free PoolManager / PoolObject System

Discussion in 'Made With Unity' started by faultymoose, Mar 16, 2012.

  1. faultymoose

    faultymoose

    Joined:
    Oct 1, 2010
    Posts:
    246
    I've taken plenty of awesome advice and assistance from the community, and I'm keen to give something back. For most of you, this will probably be too basic to be worth your time, but I do hope someone can make good use of it.

    This is my custom PoolManager / PoolObject system. Get it at my blog:

    http://www.booncotter.com/unity-prefactory-a-better-pool-manager/

    It's completely free to do whatever the hell you want with. Thanks for being such a great bunch of folk <3
     
    Last edited: Jul 26, 2012
  2. muchacha1977

    muchacha1977

    Joined:
    May 11, 2012
    Posts:
    1
    Hi faultymoose;-) Great work! Thanks
     
  3. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    The community should be aware this is not PoolManager

    Best wishes,

    - Rafe
     
    Last edited: Aug 25, 2012
  4. cupsster

    cupsster

    Joined:
    Apr 14, 2009
    Posts:
    363
    it is like calling my script MissileManager release it on asset store and anyone else that uses that name is breaching my copyright? :) Pool Manager is just too generic term to breach any copyright and in certain point of developement more aware people will go after that name.. just for shake of simplicity. take no offense, just thinking loud.
     
  5. softwizz

    softwizz

    Joined:
    Mar 12, 2011
    Posts:
    793
    So faultymoose I went to this thinking it was some sort of framework for making a pool (8 ball) game, but it isn't, so without offence, what does it do, just spawn and kill game objects?

    I'm confused.

    I agree, so the manager of a swimming pool cannot be called a pool manager?
    Way to generic a term to copyright.

    It would be like me claiming copyright to 'floor cleaner'.
     
    Last edited: Jun 5, 2012
  6. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Hi,

    I don't mean to flame or steal the thread but I wanted to point out copyright infringement is anything that can cause confusion in the marketplace. This tool seeks to provide direct competition. It isn't the words so much as the context and the intent when using the words. If it is spoken about in promotional material in a way that can cause confusion by a casual reader, then it becomes an issue of misrepresentation of the copyrighted material.

    We love this community and certainly have no interest in squashing creativity in any way. If you want to have a component called PoolManager.cs, that is fine. My request is specifically to not speak about it in terms that sound like a product or brand. If a casual reader won't be confused, then it is probably fine. That may mean simply posting a quick 1-liner and link to PoolManager.

    The subject of this thread is fine because it makes it clear the product is "Prefactory". The website gets ambiguous at times (there is a feature called "Culling" for example). I felt it got questionable enough to post a clarification.

    It really isn't a big deal. I'm just trying to do the right thing. I hope that is understood. My original post wasn't as clear as it could have been.
     
  7. cpasjuste

    cpasjuste

    Joined:
    Apr 2, 2012
    Posts:
    154
    If you don't want your product names to be "copyrighted" (ie .unique) then don't choose a common word :)
    If tomorrow I submit a script/asset and name it ArrayList then I won't complain if someone else use the same name :p

    That's said it's for sure a good idea to talk about this here.
     
  8. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    Hi,

    I didn't mean it the way it was taken. All I asked is that you limit the possibility of confusion in the marketplace, which is really the only way to measure the strength of a copyright. Use your judgment and play fair. I think you have and that is all I would ask. I hoped this was clear in my first post. Again, just the clarification is enough to satisfy us. No big deal.
     
    Last edited: Jul 25, 2012
  9. faultymoose

    faultymoose

    Joined:
    Oct 1, 2010
    Posts:
    246
    I deleted my post because I do realise you weren't attacking me or anything. I didn't want you to think I was jumping down your throat in response :) And as you've asserted, I wouldn't attempt to cause confusion with your product even if I did decide to release my (crappy) PoolManager.cs on the asset store. But you should take some time to learn the appropriate copyright/trademark laws as ultimately they will be your best protection against someone who DOES want to infringe on your copyrights/trademarks.

    Also, the question of "PoolManager" as a description/noun is grey due to the context: Pascal case (UppercaseFollowedByLowercaseWithNoSpaces) is a common concatenation for sentences in code, so if you wanted to brand your pool manager with a clear identity, perhaps consider giving it a memorable, unique name for the next major release. I will not be the only person to write a pool manager called PoolManager ;)
     
    Last edited: Jul 25, 2012
  10. Eiznek

    Eiznek

    Joined:
    Jun 9, 2011
    Posts:
    374
    I called the Poolmanager I wrote Poolmanager .. because thats how I read them to be called. Seems a bit odd that you are trying to say not to use the very generic term pool manager which is exactly what his scripts are.
     
  11. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    PoolManager is a product name (it isn't a dictionary defined word due to the lack of a space, and is incorrect terminology anyway) and and Pool Manager is the definition of the product's purpose. If it's a problem, it's a problem solved by the space bar. Just being friendly :)

    Yes, that's right. If it's a product that's first using a name of two or more combined words, it pretty much has the copyright for that combination if no prior art within the same field. Once you insert a space, you get into the realms of the English Language, and it becomes less clear what is copyright and what is not :)

    Except programming isn't the English language and has no bearing on reality :D And you're silly for deleting it, stick to your guns, maybe put a space in it :)

    But then you risk this guy firing you:



    Quit bickering, people! :)
     
    Last edited: Jul 25, 2012
  12. hafizmrozlan

    hafizmrozlan

    Joined:
    Jun 15, 2012
    Posts:
    117
    Ooops, the link seems broken. :-|
     
  13. JamesLeeNZ

    JamesLeeNZ

    Joined:
    Nov 15, 2011
    Posts:
    5,616
  14. faultymoose

    faultymoose

    Joined:
    Oct 1, 2010
    Posts:
    246
    Should be fixed now. My blog was down for a reskin, but that's taking forever so it's back up with the crappy old skin for the time being.
     
  15. tr1stan

    tr1stan

    Joined:
    Jan 23, 2009
    Posts:
    150
    The pool object system is cool but I got a problem using it. If I add the pool manager object to scene1, then switch to scene2, once I reload scene1 in scene2 there's an exception:
    How to resolve it?
     
    Last edited: Aug 24, 2012
  16. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    I ended up giving up on PreFactory due to this , if you try to code around this ( like trying to tell Prefactory to ignore this code on reload, ) it breaks everything .

    I might just end up making my own system , or buying Breed which is about 5$ on the asset store ....
     
  17. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
  18. Rafes

    Rafes

    Joined:
    Jun 2, 2011
    Posts:
    764
    I am only posting again to say I updated the original post to help the flames die down. I only requested a mention if there was a chance of confusion. No one is trying to corner the market on the words "Pool Manager".

    I will respond to this last statement though. This has nothing to do with money (or eating). We only wish to protect the integrity of our product so claims, features, comments, errors, etc are attributed to the right plugin (it works both ways). Again, it is about limiting confusion.

    I think it is awesome that faultymoose has donated his time and energy to share this with the community. Let's let this subthread die now.
     
  19. faultymoose

    faultymoose

    Joined:
    Oct 1, 2010
    Posts:
    246
    Sorry I took so long to reply, I've been out of commission for quite a while, and it seems like forever since I wrote this script. I updated the link on my blog to a new version which clears the static Dictionary of object pools on a level load. Now I honestly don't know if this fixed the problem or not, I didn't have time to extensively test it, but if it doesn't fix the problem I will write a new version that doesn't use a static field ASAP. I'm not even sure WHY I used a static field. Perhaps it was legacy for some original design plan? Who knows? I am an artist pretending to be a programmer, so I don't know why I do most of what I do!

    EDIT: Actually, it probably doesn't fix the problem. I think I might have made this a forced singleton because it made sense for the thing I was playing around with at the time. In the Awake() method I check for an existing PoolManager and then delete the instance if one exists.

    I *think* if you use the new version AND make sure you don't drop the script onto an object which is marked as DontDestroyOnLoad() it should work. You DON'T want the existing PoolManager to survive the level load.

    If it doesn't work, feel free to spam this thread with abuse and I'll be shamed into putting aside some time to fix it!
     
    Last edited: Aug 29, 2012
  20. deadfire52

    deadfire52

    Joined:
    Jun 15, 2011
    Posts:
    101

    Thank you! I'll be trying out in the next few days:)
     
  21. mmax

    mmax

    Joined:
    Mar 24, 2012
    Posts:
    13
    Did anyone get it to work with Unity 4 ?
    In my case it spawns an object, then in next frame it despawn the same object and after few more frames it deletes it completely from the scene
     
  22. mmj

    mmj

    Joined:
    May 1, 2013
    Posts:
    1
    In Prefactory ver 1.0
    I moved the Pools.clear(); the only line of code in OnLevelWasLoaded() to OnDisable(); and i got rid of the exception.

    Thanks for the good work.
     
  23. hellcaller

    hellcaller

    Joined:
    May 19, 2010
    Posts:
    381
    Hi guys! is there a way to Spawn a random gameObject from PoolObjects assigned in poolManager? How can i call it?