I've been working on a firearm system and have been pulling my hair out trying to get a bullet impact particle system to orient properly using the Create Object action. You would think that the spawn rotation could be accomplished by just simply providing the hit normal in this action. I doesn't work. I've read old posts on here about these long drawn out processes using many actions just to simply align the created object.
I found the solution to make it work as I think it was intended.
Make this simple edit in the Create Object script and your particle systems and bullet hole sprites will align perfectly to the surface they hit. (assuming you supply it with the hit normal from your raycast.)
Approx location is line 95 in the script. Replace the RED with the GREEN and all is good.
(old) var newObject = (GameObject)Object.Instantiate(go, spawnPosition, Quaternion.Euler(spawnRotation));
(new) var newObject = (GameObject)Object.Instantiate(go, spawnPosition, Quaternion.LookRotation(spawnRotation));