It’s really not too difficult to make your own “spring arm” via script canvas. All I did was shoot a ray from the camera to the character and if it hits anything then I move it up. Then I have a sphere cast at the camera and slightly behind with a specified radius and if there’s no collision then I move it back to the set distance I want the camera.
And for camera shake I use script canvas as well. I just change the cl_camera_noise and frequency values and then change them back after a set period of time.
All of this can be accomplished with very few “nodes” in script canvas.
The more complicated bit was the input to get the camera to swivel. I’m sure there’s a better way to do than what I did. There’s an example in Samples project. But I just used a horizontal and vertical “pivot” entity with origin set to what I want and then I use that rotation and clamp it where necessary for the camera.