You are seeing documentation of an old version (1.3) - Switch to newest version (1.4 and 2.0)

Solution for Unity's First Person Controller

First, keep in mind: - If you're using FPS Controller from Unity Standard Asset, it uses a Character Controller, and it won't allow you to manually change the player position (the portal will teleport the player, but controller will override that movement, resulting in no teleporting), so check this solution in a few lines - Rigidbody First Person Controller will work with teleportation, because it allows sudden changes on position, but it doesn't allow rotation changes, so it will work with portals with same rotation on "portal_one" and "portal_two", but will produce undesired effects on "skewed" portals (with different rotations between the two portals of a set). This happens because this asset will apply a rotation to the character, but your first person controller will override that rotation, causing a visual sudden change of rotation (when actually it's a no-change of rotation where it should be one). How to correct that? In order to allow that rotation change, you should force the script to NOT change rotations in that frame (meaning: to not override the rotation made by the portal, actually allowing the player to rotate freely, at least for one frame). In the case of Unity's RigidbodyFirstPersonController, you could go to its script and add a public method like this: public void forceMouseLookInit() { mouseLook.Init(transform, cam.transform); } ...and then, in this package's "teleport" script (in /Scripts folder), go to the final lines of Teleport function, and add this code: setup.playerCamera.parent .GetComponent<UnityStandardAssets.Characters.FirstPerson.RigidbodyFirstPersonController>() .forceMouseLookInit(); And that's it, it should work perfectly. If you're still having issues, contact me! Back to troubleshooting