I want to develop entirely in C++, but the first stop is that the weather system makes me unable to start, but the sky ball provided by the engine is a blueprint. How should I write it in C++?
Hello! The most straightforward way is just to move all logic from BP to your custom C++ class… But you can also check some code like this
// Set up sky sphere showing the same cube map as used by the sky light
UStaticMesh* SkySphere = LoadObject<UStaticMesh>(NULL, TEXT("/Engine/EditorMeshes/AssetViewer/Sphere_inversenormals.Sphere_inversenormals"), NULL, LOAD_None, NULL);
check(SkySphere);
SkyComponent->SetStaticMesh(SkySphere);
SkyComponent->SetCollisionEnabled(ECollisionEnabled::NoCollision);
SkyComponent->bVisibleInRayTracing = false;
UMaterial* SkyMaterial = LoadObject<UMaterial>(NULL, TEXT("/Engine/EditorMaterials/AssetViewer/M_SkyBox.M_SkyBox"), NULL, LOAD_None, NULL);
check(SkyMaterial);