Cull - Fully typed blazing-fast distance culler

Back to home
Click me!
About

Cull is a fully typed blazing-fast distance culler that can load/unload objects with a minimal logic behind it. It would have been even faster if not my failed RenderCache module.
:warning: THIS MODULE USES PARENTING TO LOAD AND UNLOAD OBJECTS :warning:

API
local Cull = require(game:GetService("ReplicatedStorage"):WaitForChild("Cull"))
local Culling = Cull.new()
Culling:Start()
Tips/How to use

Cull utilizes CollectionService[Tags] to add culling objects. So to add culling object you need to add tag that you have in your Cull settings. Here’s Cull setting list:

return{
	
	--//[[Main settings]]\\--
	
	--Self explanotory[No default, its all up to you]
	RenderDistance = 600;
	--Culling object tag[Default = "Cullable"]
	Tag = "Cullable";
	
	--//[[Perfomance Settings]]\\--
	
	--Module will multi-task for faster culling[Default = true]
	Clusterization = true;
	--Self explanotory[Default = 3]
	NumClusters = 3;
	--How much seconds before culling objects update[Default = 1]
	UpdateTime = 1;
	--Will update culling every frame[Default = false]
	--[[Will ignore UpdateTime]]
	UseRunServiceConnection = false;
}
Why Cull?

Cull has Clusterization that allows to cull thousands of objects at the same time. How it works: cull gets all culling objects and splits them into clusters, and then for each cluster it opens a different thread.

Showcase

Stresstest 6000 trees, updating every frame [UseRunServiceConnection enabled]

Stresstest 6000 trees, updating every second

Links
16 Likes

Feel free to show me errors/bad moments in my code

How well does this work along side content streaming? (I am curious and might want to use this for my projects)

1 Like

I recommend disable streaming because of how you should use this module. Module should not be used like in stress test, it should be used to partially remove decoration only props from big maps but still, how you use, its up to you. (I didnt really test compatibility with content streaming but it should work fine because it uses parenting :grin:) Edit: Cull works fine with content streaming!

1 Like

I’m wondering how this works together with moving objects? For example, a car on the conditional A-Chassis or something else

I would assume you would have to make an exemption, similar to how content streaming needs exemptions for certain objects such as infinitely displayable nametags/parts.

Oh actually car in the video was a culling object, soo


Link needs to be fixed.

its working


Thats a problem on your side.

Out of curiosity I found that the link doesn’t work for me either.

I just got banned, thats why it doesnt work, i will be unbanned in two hours.

Did you get banned again because I tried to get it and got the same error as Drew