pls help me

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;

public class Playermovement : MonoBehaviour
{
    ContactFilter2D filter = new ContactFilter2D();
    public float moveSpeed = 1f;
    public Contactfilter2D movementFilter;
    public float collisionOffset = 0.05f;
    Vector2 MovementInput; 
    Rigidbody2D rb;
    List castCollisions = new List();

    void Start()
    {
        rb = GetComponent();
    }

    private void FixedUpdate()
    {
        if (MovementInput != Vector2.zero)
        {
            int count = rb.Cast(MovementInput, // X and Y values between -1 and 1 that represent the direction from the body to look for collisions
                                movementFilter, // The settings that determine where a collision can occur on such as layers to collide with cast
                                Collisions, // List of collisions to store the found collisions into after the Cast is finished
                                moveSpeed * Time.fixedDeltaTime + collisionOffset);
        }
    }
    void OnMove(InputValue movementvalue)
    {
        MovementInput = movementvalue.Get();
    }
}

error CS0246: The type or namespace name ‘Contactfilter2D’ could not be found (are you missing a using directive or an assembly reference?).

Welcome to the forum. I have tidied up your code in the above question because it was all but illegible – all on 1 line and unformatted.

There are many things that need fixing in your code but, before we get on to those, please learn how to use this Answers forum. If you want to post code, please do it using the Code Sample Button (ones and zeros). Please explain the problem you are trying to solve and do use a meaningful title. “pls help me” doesn’t help others who are looking solve potentially similar problems. It’s a good idea to read the User Guide and the FAQ, linked to the right of every page.

Line numbers refer to the code I’ve pasted above and may vary from the line numbers in your editor.

Line 10 tries to create a variable of type ContactFilter2D but you’ve typed Contactfilter2D. Capitalisation is very important.

Line 14 you are trying to create a List but you must specify what type of variables go in the List. The normal syntax is (for example)

List<int> myList = new List<>; or just List<int> myList = new();

Nor do you ever use the variable castCollisions. Worth checking what you’re trying to do there.

Line18 should be rb = GetComponent<Rigidbody2D>();

Line 27 you use “Collisions” but it’s not defined anywhere.

Line 33 just doesn’t make any sense at all. You have your types and methods all mixed up.

We are here to help but you will find it difficult getting someone to help if you post this kind of code. I’m not trying to put you off - we wee all beginners once. It’s just that it’s taken me 30 minutes to sort this out and I still can’t fix some of the errors in the code. If you are following a tutorial, please go back and check it carefully. Capitalisations, syntax, punctation - everything must be accurate.

Finally, in respect of the error message you were getting, do read it carefully. it says that it didn’t recognise Contactfilter2D. That should alert you to the name not being defined or being wrongly spelt. You could have fixed that and then moved on to the next problem. Getting to understand error messages will save you (and me) a lot of time…