When character possesses object the object changes color

You will have first to create a Material with a parameter, even as simple as the following one:

Then, in the Blueprint of your possessable object (which in your case, as I can see from your code, it is a Pawn, and you use the player controller to posses that pawn), you need to create a Dynamic Material Instance, and assigned it to your mesh (I assume that Static Mesh is the mesh characterizing your pawn), better if you do this in the construction script, and hold a reference to the material (if you use the shortcut to promote the pin to a variable, remember that it is not a local variable). Also, don’t forget to select the material you have just created.

Finally, at the end of your code, you can just get your dynamic material (from the pawn) and set a parameter, in this case it is a vector, and the name needs to be the same you gave it in the material (in this example “BaseColor”). As you can see, you have a pin in which you can select a color or assign one with your custom logic.

Hope this helps. If you have other questions, let me know.