Sorry, my job is taking my attention. I don’t see why you’d have to delete anything, just add the code to your character, or do another reference from your character BP to the Night Vision BP.
BP_Alpha and BP_Omega (random names) can both reference each other, in fact. It’s a simple, easy way to link various elements together. One BP can have references to many other BPs, either as an array of one specific type, or several variables of different classes of BPs.
It’s all very flexible - the issue I addressed is that you weren’t seeing a blueprint that was instanced in your level in the drop down, and they only way that happens is if there’s no instance of that type.
And I wasn’t trying to write anything for you - all those BPs were very simple, if you have a player BP you can just add the variables and events to it, you don’t need the one I wrote. Just create a reference to the BP_Lazer instance and do whatever you want with it.
Your image suggests you’re maybe not understanding the difference between the array and a single element. In your image, you are trying to set the array to a single element.
But I suspect you are just reaching for a solution now without understanding why the original way you wanted to do it isn’t working - it WILL work IF (and ONLY IF) your variable is set to an object reference of the class you want AND there is an instance of that class in the level.
So again, your LEVEL outliner should have an instance of “Lazer 1”. IF and ONLY IF you actually have some instance of “Lazer 1” will it be listed in your referring object’s details panel for you to select it, as shown in the last image in my post above.
It’s important to understand the difference between a Blueprint Class, and an INSTANCE of that class in your level, and I can only suspect the Blueprint is NOT showing up when you try to select a reference in the Details Panel of your other blueprint (I suspect that’s your character blueprint) because there’s no instance of it to select:
I still can’t add anything to the default value of any BPObject variable in any blueprint. I thought that maybe it wasn’t letting me add anything because my player character isn’t technically in the world, but spawns at a player start. So I made a nightvisionBP, threw it in the level, added a “lazercolor” variable and gave it a bp object reference to “Lazer1”. But when I click on the variable “lazercolor” in my nightvisionBP I can’t change the default value to an actor in the scene (its greyed out)
Please keep in mind that this whole time I have had instances of “Lazer1” in the level (the first actor changes color when it is supposed to). It simply cannot be the reason why this isn’t working, I can play the game and see the 1 object changing.
This is the root of the issue, and if when I figure out how to fix it I will be in really good shape. I’m hanging in there and appreciate the help.
Edit: I am able to correctly reference blueprints the way you showed me in my level blueprint, but it continues not to work for me when going BP>BP.