This question might be quite inane but just bare with me and let me know your suggestions, i am writing my own game A.I for a Endless runner game and i came through a point where i do not need more than 30 to 40 game objects(with 30 children each they all have colliders , rigidbodies, sprites and relevant scripts)Its not like they are obsolete it is just that they lost the need to be in game for the time being(very long time to be exact), should destroying be the right way to get rid of them or setting them inactive be the one ? if i destroy them will the memory be occupied by garbage values? which would be the right way of doing it, kindly advice.Thanks in advance
should destroying be the right way to
get rid of them or setting them
inactive be the one ?
If you destroy them then when you would need them in the future, you would have to set them up again. If you just make them inactive then they will remain in the scene and will occupy memory but when you need them all you have to do is activate them.
if i destroy them will the memory be
occupied by garbage values?
No. When you delete gameobjects from a scene in the editor, they are just gone and will not be included in the build itself. They are not replaced by garbage values. If you destroy a gameobject during runtime then the memory occupied by this gameobject will be garbage collected by garbage collector.
which would be the right way of doing
It depends on whether you want to avoid the rework of setting these gameobjects up when you need them vs saving memory. Or you can take a middle ground and destroy gameobjects that can easily be set up when you will need them and set complex setup gameobjects to be inactive. You need to weigh these by yourself and decide path you want to take.