You could assign textures and change shaders, here how to copy a shader between materials.
dim HomeLogo, HomeColor1, HomeColor2 as xpBaseObject
dim HomeLogoMat, HomeColor1Mat, HomeColor2Mat as xpMaterial
dim HomeLogoSha, HomeColor1Sha, HomeColor2Sha as xpBaseShader
dim HomeLogoFile, HomeColor1File, HomeColor2File as String
HomeLogoFile = Engine.ProjectPath & "\Images\Logos\" & text & ".png"
HomeColor1File = Engine.ProjectPath & "\Images\Logos\" & text & "_color1.png"
HomeColor2File = Engine.ProjectPath & "\Images\Logos\" & text & "_color2.png"
Scene.GetObjectByName("HomeLogo", HomeLogo)
HomeLogo.GetMaterial(0, HomeLogoMat)
HomeLogoMat.GetShader(0, HomeLogoSha)
HomeLogoSha.SetFileName(HomeLogoFile)
Scene.GetObjectByName("HomeColor1", HomeColor1)
HomeColor1.GetMaterial(0, HomeColor1Mat)
HomeColor1Mat.GetShader(0, HomeColor1Sha)
HomeColor1Sha.SetFileName(HomeColor1File)
Scene.GetObjectByName("HomeColor2", HomeColor2)
HomeColor2.GetMaterial(0, HomeColor2Mat)
HomeColor2Mat.GetShader(0, HomeColor2Sha)
HomeColor2Sha.SetFileName(HomeColor2File)
------------------------------
Simon Redmile
Senior Graphic Programmer & Designer
Ross Video
Bristol United Kingdom
------------------------------