I always stumble when I try to remember everything that’s needed for basic shader initialization, especially when I’m using mesh instances, so I made this playground as a starting point.
Note that you don’t need to comment the includes and you don’t need to pass #define INSTANCES: the engine will be smart enough to not add the shader code if the mesh is not using instances, and it will automatically add the define if the mesh is using them.
Any performance cost to having the instance stuff in the shader even when not using instances? (But really instances are almost always the way to go, anyway!)