In a large mixing bowl, beat the softened cream cheese and butter together until the mixture is light, creamy, and free of lumps.
Mix in the powdered sugar, brown sugar, vanilla extract, cinnamon, and nutmeg. Continue beating until everything is fully incorporated and slightly fluffy.
Gently stir in the grated carrots and crushed pineapple. Make sure both are well drained to avoid excess moisture. Add the chopped pecans and shredded coconut if using, and mix until evenly combined.
Cover the bowl and refrigerate the mixture for at least 2 hours. This allows the flavors to meld together and helps the mixture firm up enough to shape.
Once chilled, transfer the mixture onto a piece of plastic wrap or parchment paper. Using your hands, gently form it into a ball.
In a shallow dish, combine the chopped pecans, coconut, and graham cracker crumbs. Roll the cheese ball in the mixture until it’s evenly coated on all sides, pressing lightly so the coating sticks.
Place the coated cheese ball back in the refrigerator for another 30 to 60 minutes before serving. This final chill helps it hold its shape and enhances the flavor.