How to set a "brightness floor" on a mesh to keep it from disappearing into shadows?

I have a mostly-black outer space background. When small objects are in the shadows of large objects, those small objects are very difficult to see. I know I can set those small objects to not receive shadows, but that’s causing me a couple of problems (now they don’t have shadows at all on them, and when I deploy to my phone there’s a unity player bug related to non-shadowed meshes). What I really want is to set a minimum light brightness on some objects, guaranteeing those objects never get so dark that they can’t be seen against the background. If there’s no feature to fit this problem in Unity, I’m open to leaning on the asset store.

Any suggestions?

There is a solution that I know of but it’s not the ‘best’ solution per say. All you have to do is just add another Directional Light to your Scene facing against the direction of the shadows and set its Intensity property to a really low value and set its ShadowType property to ShadowType.NoShadows.

You can also use a Shader on those objects that has an Emission property and set it to a low value, this’ll make them more visible as not to disappear completely. You can read more about this here.

Alternatively you can be more adventurous and write your own Surface Shader as you have the ability to choose which lighting model to use and how lights and shadows behave.

I first “solved” this by slightly increasing the ambient light in my scene. This had the undesirable side effect of washing-out all shadows a bit because it brightens shadows which weren’t problematic the same as those I was trying to address, so I threw up my hands and attached a light to my ship so that objects I’m in danger of colliding with are guaranteed to be lit. I’m sure there’s a shader-based approach that would solve my problem well, but I don’t care to dig that deep on this problem myself and couldn’t find anything that sounded like a solution on the asset store either.