How do I make a clientsided part? (with physics)

I know how to create a part on the client, everything works.

But there’s an issue, other players might not see your own clientsided part, but can still interact with it physically, how would I prevent this?

This might not be the most efficient way, but maybe you could check after creating the part on the client, you can check who touched it? Probably something like this:

local Player = game.Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()

local ClientPart = Instance.new("Part")
ClientPart.Size = Vector3.new(4, 2, 4)
ClientPart.Parent = workspace

ClientPart.Touched:Connect(function(Hit)
    if Hit.Parent ~= Character then
        ClientPart.Position = ClientPart.Position --Will reset the position back, preventing any other players that could touch it
    end
end)

Or you could look at what Collision Groups are maybe :thinking:

Collision groups only work on the server, and the script you have provided can sadly be abused.

Maybe, but there should be some functions that can be used from the client side as well I believe?

The only potential way I could really see client-only parts for each player is by first creating the Collision Groups on the server, then setting/configurating the properties on the client themselves

Other than that, I’m out of ideas