I am trying to update the rotation of a static mesh with the bluescript below but the “Equals Object” comparison always fails (I think it is because I am trying to compare an Actor to a static mesh).
Firstly, this doesn’t seem very efficient (the comments on the GetAllActorsForClass states this shouldn’t be used for Tick events). How should I be updating a static mesh from a controller blueprint?
1)You can get the array element from the loop and use Get Static Mesh (or whatever name you gave to the component) to get its static mesh and compare it.
2)What are you trying to do exactly? Are you trying to move a specific actor? There are many ways to get reference to them and actor iterator might not be the most efficient in this case. Give me more info as for what exactly are you trying to do, do you want to move an actor you placed in the editor, a spawned actor, etc. I might be able to help you.
Thanks for getting back to me 
I am simply trying to get rotate a specific static mesh actor from within the controller blueprint; I cannot find a way to specify the static mesh within the controller blueprint and I think I’m missing something really basic…
The reason behind putting this in the controller blueprint is the player can control different actors depending on what is happening in the game.
So how are you going to define which actor is going to move? There are different ways to get references. You can get them by clicking on an actor, when they overlap a volume, when they spawn, etc.
As for the equal sign problem. Did that get solved?
The initial actor being controlled at the start of the game is consistent; it can change through gameplay.
No, still not resolved the == sign; I really dont want to loop through all of the static mesh actors in each tick to find the right one, it doesnt seem the right way of doing things.
It seems that blueprints can be exposed as variables but static mesh actors are not listed.
I have created a custom event in the Level Blueprint which can “see” the static meshes; however I am unable to call the Level Blueprint custom event from the Controller Blueprint - is really frustrating 
Let me try to explain myself better. You should be thinking how do I get my reference to the gameplay object I’m trying to use. Here are some image examples to show you how this works:
On the get by name example, you can find a preexistent actor by iterating once through name. Then you store the reference on the StaticMeshActor variable. That way, you only need to get it once and then do as you with later.
The other examples just show how to dynamically update which actor to use through gameplay.
My bet is you weren’t fully aware of reference variables, right? Hope this helps you. On a sidenote, overlap event only works when bot the overlapping component and target have “generate overlap events” activated.
You should also try to create a blueprint for your targets instead of just using a default Static Mesh actor. Almost every mesh in your scene are static meshes. Creating a blueprint for your controllable meshes would let you go around the “equal object” issue. Instead, you can use a Get Class, and just compare it to your custom blueprint class.
Thanks for that.
In essence the reference to a static mesh (or blueprint) has to be setup manually at the construction of the graph to allow it to be referenced thereafter. It seems awfully convoluted but I really appreciate the feedback to allow me to progress.
To call events you have to use interfaces. Try not to use the level blueprint. I only use level blueprint for one time events like matinees since it’s hard to communicate with it and access it from other classes. Maybe the GameMode?
Thanks for the advice, am not using it for much at the moment excepting level occurrences involving multiple objects. Mostly am just working with the scripting to understand the scope and utilisation of objects within Bluescript.
I really appreciate your help 
To summarise the comments above; to utilise static meshes (in this case) within the controller blueprint, the objects are manually assigned to variables by looping through each static mesh actor and comparing the Display Name to distinguish them.
I have added this to the Construction script for the controller blueprint. If anyone has any further information on the scope of variables within different blueprint modules, it would be very welcome.
Thanks,