Detail this asset from Unity Store: Original Link
This is a paid asset, but now you can download Flexible Camera Free.
Flexible Camera v1.0
This asset consists of a feature dense script designed to provide a top-down or side-scroller camera utilizing continual smooth movement. It maximizes vision for the player and is optimized for combat scenarios and high-speed maneuverability.
It’s both simple and quick to implement and still highly customizable. Optimized for mobile platforms as well – can use the same camera for building on both, PC and mobile.
– MoveAhead: Moves the camera in the direction the Player is moving based on its speed.
– ZoomOut: Zooms the camera out based on Player speed.
– LockOn: Assign a LockOn target so that the camera keeps both, it and the Player in sight. Has following types: Temporary, returning and permanent.
– Shake: Shakes the camera. Allows custom duration, intensity and uses intelligent algorithms to add additional shake effects.
– CursorFollow: Moves the camera based on the screen space position of the cursor from the Player.
– Restrictor: Allows colliders and coordinate min/max to limit camera position.
– Optional aspect ratio correction for mobile platforms.
– Simple and quick to set up. Use prefabs, or simply add the main script to the camera.
– Smooth at all times, even when disabling and enabling functions, changing parameters and toggling activation at runtime.
– A large amount of exposed parameters for detailed setting options.
– Allows setting a base camera rotation into any direction. That can include a tilt.
– Modular functions. Each can be toggled on and off. Code is written to be customizable (c#). Parameters are set up to interact with external scripts. You can change single functions without affecting others.
– Full documentation of all functions, parameters and methods, and a coherent ReadMe file. Contains sufficient demos.
– Mobile friendly, as almost all functions do not require a cursor. Has near zero performance drain.
– Compatible with other types of camera assets, as it only moves the camera position via the LateUpdate method. And when disabled, it has no effect at all. Reactivation is still smooth.