They declare the variable as ReadOnly but they change the value in blueprint. In the construction script they use the set brightness function and in the eventgraph they change the light color.
Hi! When I wrote that page, I had similar questions, so hopefully I can clear that up a little for you. The Edit / Visible keyword applies to the actual property (the PointLightComponent), not the subproperties like brightness or light color. If the component reference was EditAnywhere (or BlueprintReadWrite), you’d be able to change the reference to that native component itself, which is illegal. It’s visible to you, but you can’t change it. The subproperties obey their own Edit/Visible rules.