there are 2 possible ways the spring arm will change length:the first case is you set your spring arm to “do collision tests” this way, the length will change so the camera don’t hit anything, the second case is manually (you asked it to change through code, or let the player change it through some button).
in the first case you can add a box colission component attached to the camera, the box collision componnent can generate a “OnComponentHit” event, so when the camera hit something the OnComponentHit will be called, and you can do the test.
in the second case there’s some event in your code that’s changing the arm length, you can add this code after changing the arm length in the same event.
Another option is using tick as S-ed suggested, and it’s going to work fine, but Event Tick is called every frame for every actor you have in your game, so have in mind that every code you add to tick will have to be computed before generating a frame, it may cause a performance problem, just avoid adding to much code on tick and it will be ok.
About “Event Begin Play” it won’t work because Begin Play is called just ONCE when the game starts (or after immediately after spawning the actor if it wasn’t in the game when it started).