Anchor problems on my Skill "Dark Zone"

I’am making a skill called Dark Zone

1. The skill create a small sphere on your hands, while you hold the mouse
2. When you stop hold the small sphere Will grow to trap the players around (of course is a hollow sphere)
3. Enemys cant leave from the sphere, and the caster (the player that actived the skill) have a good mobility if he goes in the corner < he will be teleported to the corner > (this with all angles)

I started but iam having that problem:

As you can see I’m thrown out of the sphere (even though it’s hollow), I thought about removing the anchor but I don’t want the sphere to get stuck in any building or on the ground, I’ve been trying for a long time, here’s the code:

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local DarkZone = ReplicatedStorage.Skills.Impure.DarkZone.Remotes.DarkZone
local Meshes = script.Meshes
local TweenService = game:GetService("TweenService")
local Debris = game:GetService("Debris")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local trainingm = require(game.ServerStorage.TrainingFiles.TrainingModule)
local function darkZoneF(player)
    local usingSkill ="BoolValue")
    usingSkill.Name = "usingSkill"
    usingSkill.Value = true
    usingSkill.Parent = player
    print("DARK ZONE")
    local Character = player.Character
    local Humanoid = Character:WaitForChild("Humanoid")
    local HumanoidRP = Character:WaitForChild("HumanoidRootPart")
    local Track = Humanoid:LoadAnimation(script.DZone1)
    local ValueA = Track.Length
    local Folder ="Folder",workspace)
    Folder.Name = player.Name.." DZone"
    Folder.Parent = workspace
    local mDark = Meshes:WaitForChild("MDarkZone"):Clone()
    mDark.CFrame = Character:WaitForChild("LeftHand").CFrame *,0,-0.1)
    mDark.Parent = Folder
    local weld ="WeldConstraint")
    weld.Parent = Folder
    weld.Part0 = mDark
    weld.Part1 = Character:WaitForChild("LeftHand")
    local goal = {}
    goal.Transparency = mDark.Transparency - 1
    local info =  
    local tween = TweenService:Create(mDark,info,goal)
    local Track = Humanoid:LoadAnimation(script.DZone2)
    HumanoidRP.Anchored = false
    mDark.CanCollide = true
    local goal = {}
    goal.Size = mDark.Size +, 185, 185)
    local info =  
    local tween = TweenService:Create(mDark,info,goal)
    mDark.Anchored = true
local function checkEnable(player)
    if trainingm.GetTraining(player)["Endurance"] ~= "No" or trainingm.GetTraining(player)["Mind"] == "Auto" or player:FindFirstChild("usingSkill") then
        player.Character:WaitForChild("HumanoidRootPart").Anchored = true

You could unanchor it, set collisions to off and use BodyPosition.
Then simply add this line of code

BodyPosition.Position = Sphere.Position

I Will try, but after i Will need active collision and Anchored again, because the skill stay for a time

you need to keep anchored on but your problems is collisions

you want to keep players trapped in a sphere, you can’t do this with a normal sphere part or it will just throw you out like you showed

what you can do is make a union: two spheres (one smaller and one bigger) with the smaller one negated and the bigger one normal. this will make a hollow sphere that you can turn collisions on and it should work better

I already did that, as i said is a hollow sphere, i did exaclty that you said

did you make sure that Meshes.MDarkZone is set to CanCollide false originally?

Yep, the original is false, and anchored original is false too

Collision 0 make
collision 0 causes the part to simply fall infinitely

Read what I said, I told him to use BodyPosition as well.

i used, but dont work, it is a union so collide detection is trash