Is Unity a good program for people completely new to game design?

I want to learn how to make my own games from scratch and publish them online. Is Unity a program for me or should I use something else? Also, can you make an entire game in Unity without needing to use any other program?

can you program in C# or javascript?

If so yes unity is great. Honestly its in lots of indie games.

Starforge Alpha for example. Just coming out on steam. Great indie game
Pro studios used it too like Disney used it to make a pirates of carib online game

its an amazing game engine.

No you cannot make it using just unity unless you want a rather bad game.

Models require modelling programs like blender

Textures require like photoshop or gimp or some other PS/gimp clone

animating can be done in unity and its perfectly great. In many ways preferable but some like to use Blender/3DS max etc to animate I think mostly cause they’ve used that before.
It’s just using a new tool and learning new stuff vs using what you already know (unity is fine with importing animations so thats cool)

other than that mostly models and textures are pretty much the big things you’d have to go outside. OH SOUND

yes you’d need to record sound and probably want to use some sound editor program for high quality sounds.

This isn’t unique to unity though. No program is an engine + a modelling software + a sound editor + a texture editor

No one does it all.