Any other way to implement collection service

Nope no other way other than collection services.

The only other method I can think of is if you manually use a dictionary or table which is too much effort.

Everything is bad with too many instances.

It’s a really bad excuse to not use it, it is pretty much all we are given.

The better question is how do you make the most with what you are given?

Perhaps you got tricked by a game dev optimization technique? It is only an illusion of thousands of instances rather the game is only processing far fewer 500 grass instances that the player can see.

If you study a grass module it uses a data structure to only get the ones in view. Previously the module was using Octrees but this time the module is using vector map which I haven’t heard of personally. And hey it still uses collection services as well.

	-- Update objects in view at their respective refresh rates
	self.VectorMap:ForEachObjectInView(camera, renderDistance, function(className: string, object: BasePart | Bone)
2 Likes