Object Pooling and GetComponent

I have several units that fire a lot of projectiles and I’m using object pooling to handle this. I want every projectile to have a velocity relative to the unit firing it.

Unit A is moving upwards with a y-speed of 10, so now the projectile won’t just go straight (x_Speed = 50), but diagonal (x_Speed = 50, y_Speed = 10).

To do this I am using GetComponent().SetSettings(x_Speed, y_Speed);

However the GetComponent Call puts a big strain on the CPU and slows down my game.

Is there a way to do object pooling and passing parameters to the objects when enabled without calling the somewhat expensive “GetComponent” function?

add values into prefabs and each unit that fires bullet has its own bullet prefab.
In my game i handle this by creating different bullet prefabs for each gun. So each gun uses its own bullet prefab with different speed and effect. By doing so you dont have to call getcomponent everytime you shoot. when you create objects in pool they would be already added into those prefabs. Dont try to add velocity to bullets from weapons. just enable them from weapons and from bullet scripts add velocity to itself… would be much efficent.
*type edit