MSwarms is a simple, modular system for creating swarms, flocks, and groups. Built for expandability, it comes ready with and supports custom behaviour, randomisation, and optimisations :)If your SRP somehow interacts poorly with the system, please let me know- this package is written to be independent from rendering, however the samples do use the built-in pipeline.The system itself only handles the creation and motion of the agents, so issues with rendering likely would be traced back to something else, e.g the prefab selected on a swarm.IMPORTANT NOTE: Make sure to screenshot your swarms before updating to 2.0.0! The update completely redoes SwarmValues, so you will lose what you don't archive!MSwarms is a package developed for games that need swarms or groups with replicated and easily customisable behaviour. Other Boids or swarm packages focus primarily on having a lot of agents of a specific type (e.g fish, birds) with limited control over their behaviour and little to no support for behavioural divergence- MSwarms is directed towards behaviour control and allows pseudo-divergence.It comes packed with >10 separate behaviour modules ready to be used and deeply customised, with the ability to very easily implement more as is seen fit- this means that you can replicate specific behaviour patterns across a large number of agents, allowing for simple or complex simulations alike.Swarms can be separated across and differentiate behaviour in response to layers, dynamically grown and shrunk, modified at runtime, integrated with pre-existing gameplay and more! :) They're made to be easy to use and deeply customisable for whatever purpose you may have.Hopefully this package sounds cool and useful for your project- if you have any questions, concerns, or suggestions, shoot me an email !! This is my first package, any and all feedback is deeply appreciated and I'll do my best to be around for any support you might need :))Custom Inspector classes for streamlined random valuesNaughtyAttributes usage for dynamic, concise and streamlined UIPremade optimisation (custom spatial partitioning, caching, optional parallelism)ScriptableObject integration for swarm storageCustom agent prefabs (NOTE: dynamic rigidbodies are not supported- they will cause Unity to lock up, I believe due to this package and rigidbodies clashing, however kinematic bodies with continuous (and etc) collisions do work)Layer-based behaviour splittingInspector-integrated random valuesModular behaviour classes with very simple custom implementationPremade behaviours (including Boids (whole and split into rules), obstacle avoidance, transform targeting, agent targeting, boundaries, static and random vectors, etc)Supports ~3000 agents above 60fps (this is less than other packages- if you need performance with simple behaviour, check others out! :) some really really cool packages are out there)Pseudo-divergent behaviour- individual agents can have multipliers for specific behaviours, allowing, albeit limited, divergenceAddressable behaviours for modifications at runtime/from scriptsInterfaces and polymorphic classes for implementation of custom swarm/container types (e.g static swarms, gpu integrated, etc)Sample scenes with premade functionalityDocumentationDocs for this package are in the DOCUMENTATION.md file at the root of the package folder. This documentation is not extensive, however should cover most aspects of the package- if you have any questions, issues, etc, shoot me an email. :)