Do i have to run full node to receive unconfirmed transactions? i want to query unconfirmed transactions by using getrawmempool.

do i have to run a full node ?

or if i set prune in bitcoin config, will i still get the newly unconfirmed trsanctions ?
As far as I know, this should work just the same even with pruning enabled.

A Bitcoin Core node with pruning really still is a "full node" on the network; it relays transactions and fully checks the validity of incoming transactions and blocks.  The only difference is that without pruning, received blocks are stored forever and can be shared with other nodes who are initially downloading the chain.  With pruning, all blocks are downloaded and checked but only newer blocks are stored and shared.  Everything else should be the same.