title: Why are Unity Prefab values wrong when instantiated?
body: <p>I have a C# script on a character that holds a reference to a Prefab.</p>
  
  <p>During initialization, the script runs :</p>
  
  <pre><code>weaponSlot = Instantiate(weaponPrefab) as Transform;
  </code></pre>
  
  <p>and sets </p>
  
  <pre><code>weaponSlot.parent = rightHand;
  </code></pre>
  
  <p>the prefab contains scaling information for the weapon, as well as some small rotation and position offsets for it to look correct.</p>
  
  <p>When the game is run, the weapon's actual position is offset from the rightHand by a massive amount, although the rotation is preserved. The scaling is also a bit off, smaller than the prefab-ed size by roughly 40%.</p>
  
  <p>Any insight on why this is happening, or even hints on what to check would be appreciated!</p>