Introducing the "Avatar Evolution" Studio Beta Build!

I actually hope humanoids never get deprecated, I still find a lot of use in them and would break so many games/force updates on them.
Tbh I’m a bit concerned about humanoids getting removed in the future.
I still like the mesh update tho, it looks amazing still.

1 Like

Deprecation != removal

Humanoids will likely never be removed, but they won’t be usable in new work.

We don’t currently have any dramatic changes to Avatars planned.

We’re planning to continue using R15 as the body and accessory scheme. We’re just going to gradually extend it. We’ll probably add some body packages that use skinning. Existing packages will remain unchanged.

Skinning tech should release this year.

Eventually we want to add support for more bones to the avatar format, but we need to finish additional tech to support this with good forwards/backwards compatibility. We’ll take our time to do this right. This might take a while.

Developers will be using high bone count custom characters in their games way before we support them in canonical Roblox avatars.

Of course we don’t have any plans to remove Humanoids. We plan to eventually release a new replacement character controller suite that fully replaces Humanoids that you can opt-in to and will eventually become the default for new games. At that point we will probably declare Humanoid “deprecated,” but probably not before. Body scheme stays the same. Existing games will remain unchanged. Humanoids will fade into obscurity like R6. It will take a while for this to happen though.

11 Likes

Oh I love that site! It’s unfortunate that until now it had very limited use because we didn’t have these features yet.

I know deprecated doesn’t mean removed, but what if I want to use it in new work?
Or what if the new “humanoid” is released right when I’m in the middle or almost done with a project where switching from humanoid to new humanoid is too much work?

1 Like

When @coexperience says you can not use humanoids in new work, that isn’t a Roblox rule or anything. Technically, you can use it in new work if you want. It’s just not recommended.

No one is saying you have to stop using humanoids mid-project if that is when this new update releases. You can if you want. But you can also keep humanoids and use them for the time being, and maybe transition out of using humanoids after your game releases or whenever you have the time. You can even choose to never replace it, but once again, not recommended.

When something is deprecated, that doesn’t mean its removed. It’s still available and fully functional. You can even use it in new projects if you really want too. Deprecated just means it’s been replaced, and won’t be receiving new features and updates.

Also, the reason something usually gets deprecated is that its replacement feature is much better, easier to use, and has more functionality. Things don’t get deprecated so they can be replaced with something worse.

5 Likes

Yes this is true, but the problem with deprecated things is that if they break because of an update then roblox won’t fix them. This could be a problem because if humanoids are deprecated and then they break, Roblox might not fix them and then any game made using the old humanoids will be unplayable.

Of course. This is why I mentioned it is not recommended to use humanoids even after they become deprecated. However, I doubt Roblox will leave humanoids broken if an update breaks it. Roblox does focus on backwards compatibility. Now this doesn’t mean Roblox will support humanoids forever, eventually yes, what you stated is possible. But that is a while away, and I am sure humanoids will still be supported even after deprecated for at least the first few years so all currently existing games can transition over to the new features.

4 Likes

Alright, thanks for that.

Now I do wonder, if the new humanoid is better.
I wonder if it keeps the health, forcefield and state system, etc. Would the new humanoid have improved, faster and feature rich ones?
I really like using the whole human:TakeDamage() system and using forcefields for temporal invincibility.

Most of the things Roblox releases takes some influence from developers. From posts and things they have said and wanted. If Roblox is replacing something, they would want to make it easier to work with and better in terms of features. And honestly, I don’t think that Roblox has really failed us that much. When they try to improve something, they usually succeed. And the replacements they deliver, I usually find really helpful because most of the time it’s easier and better to use.

I doubt Roblox will remove anything unless they really think its not needed. They may change some things, but probably for the better. Using human:TakeDamage() is really nice and simple. I am sure Roblox won’t make this harder in an attempt to improve something. Also, Roblox staff have explained that they release updates with scalability in mind. (Basically, they want to make things to last). So to answer your question, I don’t know for sure. But its most likely going to be better, more feature rich and easier to use then humanoids.

TakeDamage() is definitely useful though I don’t know that I would really miss it considering the ease of creating my own method for such a thing in as little as 5 lines of code.

I use TakeDamage() for optimization, I feel like a single line of TakeDamage() runs faster than writing 5 lines of code to check for a forcefield, etc, it’s not a big deal but I imagine having a game with 200 NPCs that constantly attack each other would cause a bit of stress on the server?

I Can’t wait for PBR it will be the best feature yet in my opinion!

1 Like

I’m probably not the best person to answer this question. but I would venture to say there is no noticeable difference between the two since they are essentially doing the same thing anyway.
Having 200 NPCs on the server with humanoids in their current state is going to cause a lot of stress on the server by themselves, even with most humanoid states disabled.

Has anyone managed to test the performance of the new humanoid system?

1 Like

TakeDamage() doesn’t appear to have any optimizations, you can see for yourself by putting the code below into a script, for me it prints the same number twice meaning that TakeDamage() doesn’t have any extra optimizations.

game.Players.PlayerAdded:Connect(function(player)
	
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character.Humanoid

local tick1 = tick()

humanoid:TakeDamage(5)

print(tick() - tick1)

local tick2 = tick()

if not humanoid:FindFirstChild("ForceField") then
	
humanoid.Health = humanoid.Health - 5
	
end

print(tick() - tick2)
	
end)

edit: after a few more tests it appears that :TakeDamage() is actually slower than manually checking for a forcefield and subtracting health.

edit2: actually after some more tests it seems to be really inconsistent, sometimes :TakeDamage() is faster and other times it’s slower, either way the amount is so tiny it doesn’t really matter.

Nice can’t wait to try out PBR stuff!
I’ll post what I come up with

Okay here are my findings!

image

In roblox the PBR texture is a bit flat but shine correct.

The software I used to generate the textures (Materialize) showed this


&

In the software (unity) it looks like it deforms the mesh depending on the height map :thinking:
I think this adds a whole new layer of depth and should be used on roblox.
I am NOT very good at custom pbr stuff but still I think deforming the mesh (since it’s already a theme in this beta) would be easy to code. But I might be wrong

19 Likes

This is awesome!!
I feel like there might be gifs added. If not also cool LOL

1 Like

We just published a new release including a lot of bugfixes for skinned mesh import and rendering, along with merging in 4 weeks of changes from the latest production release of Studio.

If you had issues with previous releases please download and give this new build a shot to see if it fixes your issues and let us know if it doesn’t!

8 Likes

I jumped with joy when I saw that Roblox was releasing this and I made some cool stuff with it in my PBR/Mesh Deform Testing place.

I really can’t wait until PBR fully comes out in the next Future is Bright update… although I noticed that Normal Maps only work in Ambient light from skyboxes but not light sources from point lights and etc…

Bug or intended feature for optimization reasons? Perhaps this can only be applicable at lower graphics settings to allow developers to make even more beautiful scenes while allowing players to optimize their graphics themselves?

Not only that but when can we get Emissive Maps and Transparency Maps? Emissive Maps would allow even more creativity and options.

20 Likes