{"id":13589597,"url":"https://github.com/JanSeliv/PoolManager","last_synced_at":"2025-04-08T09:33:51.275Z","repository":{"id":157005825,"uuid":"633207270","full_name":"JanSeliv/PoolManager","owner":"JanSeliv","description":"Open-source plugin that helps reuse objects in UE5.4","archived":false,"fork":false,"pushed_at":"2024-10-25T03:06:52.000Z","size":490808,"stargazers_count":89,"open_issues_count":0,"forks_count":14,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-26T16:43:42.800Z","etag":null,"topics":["c-plus-plus","cpp","game-development","object-pool","object-pool-pattern","object-pooling","objectpool","objectpool-pattern","plugin","plugin-repo","ue4","ue4-plugin","ue5-plugin","unreal","unreal-engine","unreal-engine-4","unreal-engine-code-plugin","unreal-engine-cpp-plugin","unreal-engine-plugin","unreal-plugin"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JanSeliv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-27T02:25:48.000Z","updated_at":"2024-10-26T08:36:06.000Z","dependencies_parsed_at":"2024-03-31T05:24:24.042Z","dependency_job_id":"194b7d40-7e48-4b96-a787-a43760e2479d","html_url":"https://github.com/JanSeliv/PoolManager","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JanSeliv%2FPoolManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JanSeliv%2FPoolManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JanSeliv%2FPoolManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JanSeliv%2FPoolManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JanSeliv","download_url":"https://codeload.github.com/JanSeliv/PoolManager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223314265,"owners_count":17125040,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-plus-plus","cpp","game-development","object-pool","object-pool-pattern","object-pooling","objectpool","objectpool-pattern","plugin","plugin-repo","ue4","ue4-plugin","ue5-plugin","unreal","unreal-engine","unreal-engine-4","unreal-engine-code-plugin","unreal-engine-cpp-plugin","unreal-engine-plugin","unreal-plugin"],"created_at":"2024-08-01T16:00:32.080Z","updated_at":"2025-04-08T09:33:51.263Z","avatar_url":"https://github.com/JanSeliv.png","language":"C++","readme":"\u003ca href=\"https://github.com/JanSeliv/PoolManager/blob/main/LICENSE\"\u003e![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)\u003c/a\u003e\n\u003ca href=\"https://www.unrealengine.com/\"\u003e![Unreal Engine](https://img.shields.io/badge/Unreal-5.5-dea309?style=flat\u0026logo=unrealengine)\n\u003c/a\u003e\n\n\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/JanSeliv/PoolManager\"\u003e\n\u003cimg src=\"https://github.com/JanSeliv/PoolManager/blob/main/Resources/Icon128.png?raw=true\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n\u003c/a\u003e\n\u003ch3 align=\"center\"\u003e🔄 Pool Manager\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\nReuse any objects and actors to improve performance\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003ca href=\"https://discord.gg/jbWgwDefnE\"\u003e\u003cstrong\u003eJoin our Discord ››\u003c/strong\u003e\u003c/a\u003e\n\u003cbr/\u003e\n\u003ca href=\"https://github.com/JanSeliv/PoolManager/releases\"\u003eReleases\u003c/a\u003e\n·\n\u003ca href=\"https://docs.google.com/document/d/1YxbIdc9lZRl5ozI7_1LTBfdzJWTwhxwz2RKA-r0Q4po\"\u003eDocs\u003c/a\u003e\n\u003c/p\u003e\n\n## 🌟 About\n\nThe Pool Manager helps reuse objects that show up often, instead of creating and destroying them each time.\n\nCreating and destroying objects, like projectiles or explosions, can be slow and cause issues such as making the game slow or laggy when done frequently.\n\nThe Pool Manager alleviates these problems by maintaining a pool of objects. Instead of creating and destroying objects all the time, the Pool Manager keeps these objects for reuse. This strategy improves the smoothness of the game.\n\n![PoolManager](https://github.com/JanSeliv/PoolManager/assets/20540872/0af55b33-732c-435d-a5b3-2d7e36cdebf2)\n\n## 🎓 Sample Projects\n\nCheck out our [Release](https://github.com/JanSeliv/PoolManager/releases) page for two sample projects showcasing the Pool Manager, one with blueprints and another in C++.\n\nAlso, explore this [game project repository](https://github.com/JanSeliv/Bomber) to view the Pool Manager in action.\n\n## 📅 Changelog\n#### 2025-01-01\n- Updated to **Unreal Engine 5.5**.\n- Implemented **[Priorities](https://docs.google.com/document/d/1YxbIdc9lZRl5ozI7_1LTBfdzJWTwhxwz2RKA-r0Q4po/edit?tab=t.0#heading=h.72e3golkh2jm)** to process important objects faster than others:\n\u003e![Priorities](https://github.com/user-attachments/assets/3a0501f6-28ed-4bc9-8f06-93bf95385625)\n- Implemented **[Pool Object Callback interface](https://docs.google.com/document/d/1YxbIdc9lZRl5ozI7_1LTBfdzJWTwhxwz2RKA-r0Q4po/edit?tab=t.0#heading=h.re9d8tpdk6q1)** by [Bigotry0](https://github.com/Bigotry0) to notify objects when they are taken from or returned:\n\u003e![Interface](https://github.com/user-attachments/assets/8cd05e9b-3877-43ed-9285-50a56641132f)\n#### 2024-05-05\n- Updated to **Unreal Engine 5.4**.\n- Implemented **User Widgets support** allowing to pool widgets.\n\u003e ![UserWidgets](https://github.com/JanSeliv/PoolManager/assets/20540872/53652ec5-9795-4473-bbe6-792ad2574bc2)\n- Added [Take From Pool Array](https://docs.google.com/document/d/1YxbIdc9lZRl5ozI7_1LTBfdzJWTwhxwz2RKA-r0Q4po/edit#heading=h.m317652zeuu9) and [Return To Pool Array](https://docs.google.com/document/d/1YxbIdc9lZRl5ozI7_1LTBfdzJWTwhxwz2RKA-r0Q4po/edit#heading=h.la64v3qmhabw) functions to support pooling multiple objects:\n\u003e ![PoolManagerArray](https://github.com/JanSeliv/PoolManager/assets/20540872/b28b45ec-5ce0-48ac-ad7e-33e6bcb7758e)\n#### 2023-11-25\n- Updated to **Unreal Engine 5.3**.\n- Introduced **Factories** to handle differences in pools by object archetypes (e.g.: uobjects, actors, components, widgets etc.).\n- **Take From Pool** now spreads out the creation of large pools of UObjects and Actors over multiple frames to avoid any hitches.\n\u003e ![image](https://github.com/JanSeliv/PoolManager/assets/20540872/10bdf24f-d078-4dd8-96bf-de5d92421bc8)\n#### 2023-05-28\n- 🎉 Initial public release on Unreal Engine 5.2\n\n## 📫 Feedback \u0026 Contribution\n\nFeedback and contributions from the community are highly appreciated!\n\nIf you'd like to contribute, please fork the project and create a pull request targeting the `develop` branch.\n\nIf you've found a bug or have an idea for a new feature, please open a new issue on GitHub or join our [Discord](https://discord.gg/jbWgwDefnE). Thank you!\n\n## 📜 License\n\nThis project is licensed under the terms of the MIT license. See [LICENSE](LICENSE) for more details.\n\nWe hope you find this plugin useful and we look forward to your feedback and contributions.\n","funding_links":[],"categories":["Utilities"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJanSeliv%2FPoolManager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJanSeliv%2FPoolManager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJanSeliv%2FPoolManager/lists"}