I am creating a 3D platformer game and I want to have full control over character collision and movement so I want to make the character movement/collision system from the ground up. Is this possible to do in Godot or do I have to use the premade character system?
You probably don’t want to make your own collision system from the ground up, to utilize a more physics-based character many use a RigidBody3D for their characters, this means you’ll be programming in forces rather than velocity and position. Otherwise the CharacterBody3D class is very good for utilizing a fair amount of physics (especially collision detection) while giving you full control of the object. Some games can make use of an Area3D player, where they aren’t expected to run into walls, these games are very rare for 3D.
Could you explain more about why you feel the CharacterBody3D isn’t fitting your needs? What are you trying to do?
Make sure to post in Help
Why? Have you tried it and found it lacking? I ask because there are many posts on here asking for help on their custom Area2D/3C or RidgidBody2D/3D players because the physics are complicated, and usually the solution they come to is to use CharacterBody2D/3D because it simplifies the code a lot, and they still have all the control they need.
Also, like @gertkeno said, this is a Help question.
Ultimately, the short answer is yes, you can do it.