For the first time when I know about ECS (Pure and Hybrid), I think it will be a good approach for game development future, especially in Unity. Changing 180 degrees of our way of thinking from OOP to DOD is really painful but worth. The way we treat “Player”, “enemies”, etc no longer as Gameobject, instead we treat each of them as an Entity that stores data. It will be “Fun”, they said.
I just want to know about some of these topics below :
-
Do you guys use Unity Physics like Rigidbody and Collider for Pure ECS, don’t you?
-
I ended change to Hybrid ECS by creating one Child Gameobject for each Entity and adding Collider and Rigidbody on it. I create some lists (like Player, Animation, Position, Enemy) to determine how the child and it’s parent communicates. For example, Child Gameobject will equalize its transform position using position value from List Position by their index (parent and child indexes are initialized when they are instantiated, the Entity write its Position value to list to be read by its child). But then I’m stuck for collision physics.
-
How do you guys use Job on Hybrid ECS? (I tried this when I change my Pure into Hybrid ECS for the sake of Unity Physics. and yes I know it’s pointless)
-
Somehow some Value on IComponentData that attached to Unity Gameobject NOT “Modified” by Job system on the Inspector. I checked on Entity Debugger and Boom! it’s modified. I don’t know how why there is like two different components when an Entity Component implemented on Unity Gameobject.
I would be grateful if you explain this in “super detail” mode (seriously, I’m not that smart, I just won’t give up for bloody Unity ECS struggle )
I’m sorry for my rip English, Thank you very much !!! and yes I currently prototyping