Hi @sedoyjan, welcome to the forum
Not a stupid question at all, as there are a lot of ways you could handle this. Here are a couple things you could try:
Extend Graphics - As you noted in your post, all of the parts of your player are extended from GameObject, so they’ll all have access to the same GameObject methods. However, probably only one of these will have a physics body enabled, and I’m guessing that’s a circle drawn from the Graphics object. In that case, I would extend Phaser.GameObjects.Graphics to a custom subclass - let’s call it Player. You can enable a body for this object from within the Player class, and you can also create your text and particles and store them to properties on the Player instance.
It’s up to you to keep them all in sync - you’ll need to update the positions of your text and particles to match the “parent” graphics object in the new Player class’s update method, and you’ll need to CALL Player’s update method yourself within the update method of your scene. If the Player has physics interactions, make sure you update the positions of the text and particles in relation to the BODY’s x and y, not the Graphics object, otherwise they’ll appear to lag a frame behind.
So in a way, you’d kind of be duplicating the setup you had in Unity. You can access the text and particles of a player through whatever properties you set them to. But while the player class has REFERENCES to these objects, they’re all in the same update list for your scene, so if your player gets destroyed, you need to remember to destroy the text and particles as well!
Container - Another option is Phaser.GameObject.Container. It’s been criticized for performance reasons that I don’t fully understand, but it’s an extension of GameObject that can have other GameObjects added to it, and it applies any transformations you apply on the container to its children GameObjects. I’ve found containers to be very convenient for bundling game objects together to make one single entity, so this might be a convenient option. I’ll leave it to those who understand them better to point out their potential flaws.
Other Stuff - There’s some other weirdly specific stuff like the “follow” and “source” properties on particle emitters that you could use in conjunction with either of the above. Just go to the GameObject > Particle Emitter section of the Phaser 3 Examples and you may find some convenient features.
As for the networking, I’m afraid that’s beyond me. But if you need any more help getting a Player class up and running, let me know and I’ll dig up some relevant examples from the Phaser 3 labs.