One fairly cheap solution that I can think of: You could take a full length piece of it and use world position offsetting to scale the length up and down. Might take a little math to get right. Ultimately, you’d use a blueprint to update a material parameter collection, which would then be read by the material.