Creating a reliable Pet / follow system

I’m working on a Pet system - As the name suggests - I’ve seen many games that have reliable follow systems where the Pet follows the characters without any server delay(s). I’m just wondering how this was done?

I’ve attempted setting the NetworkOwner of the Pet to the Player and this hasn’t worked as I’d hoped. Any suggestions?

16 Likes

Introduction

Ok, there are allot of YT vids on this sort of stuff. I’d recommend next time look them up first. But here are some suggestions if they solved your issue please mark my comment as solved so users in the future will know what the solution was.

Final Tutorial Videos:

Video One

https://www.youtube.com/watch?v=ejMyQ1aSK0k

Video Two

https://www.youtube.com/watch?v=0CWusqCHmRs

Models

Model One

https://www.roblox.com/library/2929629028/Ryukos-Egg-Tutorial

Model Two

https://www.roblox.com/library/3581951194/Pet-Simulator-Tutorial-Part-6

Following YT Tutorials

Video One

https://www.youtube.com/watch?v=x5ukWwTlA8Y

Video Two

https://www.youtube.com/watch?v=zSu7LMvM4v0

4 Likes

So I assume you trying to make an pet that will follow the owner. I seen different methods, most of them uses BodyGyro, BodyPosition and etc… As @Strongjohnfgamer said, theres many tutorials already on YouTube that you can learn from.

3 Likes

Pet systems without delays are often the result of physics-based movement (Body Movers) and network ownership in the hands of the client. If it hasn’t worked for you, you may be doing it wrong - details about what you did would help here.

4 Likes

Hey, no sorry it’s pets that walk behind you as opposed to floating.

I’ve seen a game called Loomian Legacy that does this method smoothly.

An idea would be to have a value in the Player that indicates what Pet the Player has selected and to generate it client side to follow the Player.

2 Likes

Greetings!
I’ve discovered a way to do this:

I insert the model Server-Side, following this I parent it to a folder in Workspace and SetNetworkOwner to the Player.

I then fire a :FireClient() to a LocalScript that manages the movement. I’ve used BodyPosition and BodyGyro for this, as you can see it’s not 100% perfect and is still a prototype; but it’s progress none-the-less! Thank you all so far.

https://gyazo.com/74658675b58d4ef62cd0221eeec53931

18 Likes

Great Job on getting this working. Any scripts you could share would help me with my learning. BTW: Is that an R15 custom character? (It looks great)

3 Likes

Hey, I actually no longer have access to these codes as I scrapped the project.
However, I would recommend using the SetNetworkOwner & using BodyConstraints. I’ve not actually practiced these but I’ve heard it’s more efficient.

3 Likes

I recommend checking the current speed and play diffrent animations for the pet, so it’s not playing a walking animation while you’re standing still.

1 Like

Ok. Thanks for the tip on efficiency. Just wanted to start working on avatar style pets in the future.

1 Like