Relocating Avatar Spawn Point from Hips to Feet



We’re introducing a change in the upcoming RC 72 release which relocates the origin used to place the avatar in a domain.


We’ve experienced a number of issues the past in which avatars would enter a new domain with their feet penetrating the floor. One of the reasons for this is that the origin used to place the avatar has been located at the hips. We’d place the avatar using the hip location and, as a result we’d have to calculate the location of the feet.

What’s Changing

We’re moving that spawn point to the feet. That means that avatars should be correctly placed on the floor going forward.


But, we’re not updating exiting domains. What this means is that, for existing domains avatars will suddenly start arriving in domains a few feet off the ground.

We’ll provide more details shortly for owners who want to update their domains so that avatars show up correctly on the floor.

We hope this change won’t be too disruptive and eradicate what is currently a commonly-reported bug.


Trenchcoat Guy


To double check on a few things:

  • Is the origin of the avatar also being changed to the feet?
  • Does this mean a new function that will tell us the feet/ground location? So far, the only way I’ve been able to get it to work was to calculate the distance from the hips to the feet and use that as an offset on the avatar’s hip positions.

EDIT: Nothing yet? This is rather important with things like my spawn spacer and footstep script. Kind of need to know what is going on with this.


It seems to work the opposite of what you claim. At least for one of my domains. And just wondering, how does this work with shoes and other attachments?


It isn’t RC72 yet, but I’m still concerned that no answers have been made. What is the process going to be with these new spawn points and will it effect MyAvatar.position in scripting?

Beta Release 72

The change won’t affect MyAvatar.position in scripting. This is just a reinterpretation of the meaning of the numbers in hifi:// urls – the rest of the system is unaffected. So, if an old url placed you at a certain height, the same url will now place you slightly higher, depending on how long your avatar’s legs are. We used to put the avatar’s hips at the point indicated by the url, and now we’ll put the avatar’s feet at that point.


So… how do we know where there user’s position is going to be? If MyAvatar.position isn’t effected, but a script expecting an avatar to arrive at a certain location now doesn’t arrive due to changes in how avatars are now arriving… how are we supposed to detect this?

My spawn spacer script now is useless since it relies on the avatar’s position to ensure it only executes once, so not having some variable or even talking about how the new positioning works has completely obliterated a project, and just days before the Billion in VR user test, which this project would have greatly helped out, since no one has yet solved the “what happens if everyone still spawns in at the same location and we have avatar collision enabled?”


can (My)Avatar.getWorldFeetPosition() be used?


If this is a new command that was added for this purpose, then yeah, it should totally work. I’ll test it later.

Also, the script in question: