Editing Arbitrary unit possession

From Halopedia, the Halo wiki

You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{Status|Gameplay}}
{{Era|RW}}
'''Arbitrary Unit Possession''' is a glitch in ''[[Halo 2]]''. It allows players to play as any character in the game, and even play as vehicles. While playing as a different character, such as a Marine, [https://youtu.be/6A_UQJFI0wE you can even pilot the Pelican on the level Metropolis]. The glitch is caused by  [[Wikipedia:Stale pointer bug|Stale Reference Manipulation]] in the games [https://en.wikipedia.org/wiki/Object_pool_pattern Object Pool Array]. Whenever an object is created, it creates a reference in memory to the actual object. An object is defined by 2 parts using Hexadecimal, a Salt and an index. The Salt is a number that is increased every single time something new spawns, and it can only increment. The Index however, simply lists how many objects there are currently loaded on the map, and because of the Pooling, can be increased, and decreased if an object has been removed from the map. If you are able to get into a very small space and prevent your Coop player from respawning, and restart the level, the glitch will begin.
'''Arbitrary Unit Possession''' is a glitch in ''[[Halo 2]]''. It allows players to play as any character in the game, and even play as Vehicles. While playing as a different character, such as a Marine, [https://youtu.be/6A_UQJFI0wE you can even pilot the Pelican on the level Metropolis]. The glitch is caused by  [[Wikipedia:Stale pointer bug|Stale Reference Manipulation]] in the games [https://en.wikipedia.org/wiki/Object_pool_pattern Object Pool Array]. Whenever an object is created, it creates a reference in memory to the actual object. An object is defined by 2 parts using Hexadecimal, a Salt and an index. The Salt is a number that is increased every single time something new spawns, and it can only increment. The Index however, simply lists how many objects there are currently loaded on the map, and because of the Pooling, can be increased, and decreased if an object has been removed from the map. If you are able to get into a very small space and prevent your Coop player from respawning, and restart the level, the glitch will begin.


== Discovery ==
== Discovery ==
Line 14: Line 14:


== Salt Overflow ==
== Salt Overflow ==
If something is loaded at the very start of a level, this would usually mean it is impossible to become that object because of the fact that the Salt cannot decrease. However, if we shoot 32,767 bullets, the salt will overflow back to 8,000 (Hex), and then continue from there. The reason that this works is because the Array uses a [[Wikipedia:16-bit computing|unsigned 16-bit integer]], and therefore, has a max size of 32,768 possible integers before it overflows. For example, if we wanted to possess a character at the salt 500, but the total salt is already at 1,200, we would need to shoot exactly 32,068 bullets to make the salt wrap back around 500. This takes a lot of time, however. If you are on a map with dual SMGs, it would still take you around 40 minutes to shoot that many bullets. This idea of overflow had been theorized by Mister Monopoli and Nibre, and had been [https://www.youtube.com/watch?v=CePHH2Gu4KE proven to work] on April 8, 2020.
If something is loaded at the very start of a level, this would usually mean it is impossible to become that object because of the fact that the Salt cannot decrease. However, if we shoot 32,767 bullets, the salt will overflow back to 8,000, and then continue from there. The reason that this works is because the Array uses a [https://en.wikipedia.org/wiki/16-bit_computing unsigned 16 bit integer], and therefore, has a max size of 32,768 possible integers before it overflows. For example, if we wanted to possess a character at the salt 500, but the total salt is already at 1,200, we would need to shoot exactly 32,068 bullets to make the salt wrap back around 500. This takes a lot of time, however. If you are on a map with dual SMGs, it would still take you around 40 minutes to shoot that many bullets. This idea of overflow had been theorized by Mister Monopoli and Nibre, and had been [https://www.youtube.com/watch?v=CePHH2Gu4KE proven to work] on April 8, 2020.


== The Result ==
== The Result ==
[[File:H2A AUPPhantom.png|thumb|175px|A Player that has become a Phantom with the Arbitrary Unit Possession Glitch.]]
[[File:H2A AUPPhantom.png|thumb|175px|A Player that has become a Phantom with the Arbitrary Unit Possession Glitch.]]
When you do the glitch, you can become any character and vehicle in the game. These characters include, but are not limited to; Phantoms, Pelicans, Marines, Elites, Jetpack/Ranger Elites, Grunts, Jackals, Hunters, Brutes, Drones, Machine Gun Turrets, Wraith Turrets, Constructor Sentinels, and Scarab Turrets. Just keep in mind that the further into a level something is, the harder it will be to predict the object pool. The best way to try to predict late level characters is to overload the map so nobody can shoot bullets.
When you do the glitch, you can become any character and vehicle in the game. These characters include, but are not limited to; Phantoms, Pelicans, Marines, Elites, Jetpack/Ranger Elites, Grunts, Jackals, Hunters, Brutes, Drones, Machine Gun Turrets, Wraith Turrets, and Scarab Turrets. Just keep in mind that the further into a level something is, the harder it will be to predict the object pool. The best way to try to predict late level characters is to overload the map so nobody can shoot bullets.


== Trivia ==
== Trivia ==
* If a player tries to become turrets on a Phantom or Pelican, the game will crash. It is likely that the game has trouble with these turrets when they are detached from the Vehicle. However, becoming a Warthog turret poses no issue.
* When you become a different biped, the players HUD appears very different. There is a less detailed motion radar, and no shield bar. [[File:H2 AUPHUD.png|thumb|250px|A Possessed Elite, showing the different HUD elements.]]
* When you become a different biped, the players HUD appears very different. There is a less detailed motion radar, and no shield bar. [[File:H2 AUPHUD.png|thumb|250px|A Possessed Elite, showing the different HUD elements.]]


{{Glitches/H2}}
{{Glitches/H2}}
[[Category:Halo 2 glitches]]
[[Category:Halo 2 glitches]]

Please note that all contributions to Halopedia are considered to be released under the Attribution-ShareAlike 3.0 Unported license (see Halopedia:Copyrights for details). If you don't want your writing to be edited mercilessly and redistributed at will, then don't submit it here. You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)

To view or search uploaded images go to the list of images. Uploads and deletions are also logged in the upload log. For help including images on a page see Help:Images. For a sound file, use this code: [[Media:File.ogg]].

Do not copy text from other websites without permission. It will be deleted.

Templates used on this page: