Wut
You don't change a shader of an asset, you use the same shader on many assets.
It's more work without Unity, trust me.
I think whats confusing you is you are thinking ideal case. All assets are just models that share the same pipe line, shader etc.
The reality is things get far more complicated than that.
Remember, Unity is an advertising malware, that also happens to be a game engine.
Unity is abstracting a lot of things that you would need to do anyway when you write your own engine.
Writting native?
Now you need to start dealing with all the libraries only to load different assets.
Want texture compression?
Unity already has all the code to help you choose the right compression on the fly.
You start to need to write specific code for texture compression.
I have written native apps with OpenGL and DX from scratch.
If you want to make a big 3D game.
If you don't use an engine, you will have to write your own engine anyway.
So you don't avoid using an engine.