for mipmapping, am i forced to use GL_TEXTURE_BASE_LEVEL and GL_TEXTURE_MAX_LEVEL ?


No, you should only use these if you don’t intend to load all your MIP map levels, or intentionally don’t intend to draw with them all ( the second option is unlikely ).

It is an error to try to draw with a texture that you do not have all MIP levels loaded for. So you must either limit the levels to those you load or load all that are required by default.