Camera Culling Object

Camera Culling Group is a tool that allows you to easily integrate and configure your own systems into Unity’s culling and LOD pipeline, all from Unity Editor inspector.

Simply attach the script to each camera object in your scene and choose the game objects that you want to integrate into Unity's culling system, without writing any code. The visibility of these game objects will calculated, along with a distance band value that can be treated like a LOD level number. Or you can interpret these distance bands as ‘close range’, ‘medium range’, ‘far range’, and so on.

Each game object will receive callbacks when changings its visibility or an it moves from being in one band to being in another, giving you the opportunity to do things like change the behaviour of that object to something less CPU-intensive or activate/deactivate code or components governing behavior that should only run while it is visible.

Key Features:
• Easy to use and specially designed for non-programmers, fully configurable from Unity Editor inspector
• Useful components to activate/deactivate other components, animations, game objects or particle systems according to visibility or proximity to the camera
• Fully flexible and extensible. You can implement your own scripts based on culling object status
• Support for multiple cameras. The visibility status of a game object can be handled simultaneously by more than one camera. The results of each camera will be evaluated and the best visibility status will be chosen for each object
• High performance. Code designed and optimized to provide exceptional performance. This makes the tool perfectly suitable for mobile and low-end systems
• Uses Culling Group API (purely accessible via script)
• Complete tutorial and fully documented code
• Full C# code
• Scenes with practical examples
• Compatible with Camera Off Axis Projection

There is a wide range of possibilities available with Camera Culling Group; for example:
• Simplifying AI behavior on objects that are distant or not visible by the camera
• Skipping Particle System generation at great distances
• Replacing animated characters with a version with fewer bones
• Applying simpler Shaders
• Determining whether certain enemy generation points are hidden, in order to generate enemies without the player seeing them "appear" into view
• Having thousands of marker points in your scene and efficiently finding out when a player is near any of them

Contact:
emimartino8@gmail.com

Contact me for any questions, comments or help if you run into any issues. New ideas or features are welcome.