Hi guys!
I’ve got a UserInterface-Widget and inside that I have an InventoryWidget.
My first problem:
When I check the DedicatedServer option to play in editor, AddToViewport() and SetVisibility() give me an error. “Accessed None from Return CreateUserInterfaceWidgetBP Widget”.
This doesn’t happen when I PIE offline.
I know that widgets are only created on the client, but the whole thing doesn’t work when I use the “IsLocallyControlled”-Node to check that first.
The problem is that “Hide Button” says the target couldn’t be accessed. Another nullptr I guess?
Why is that happening? It didn’t happen in 4.8.3.
This happens regardless of offline/online PIE.
Am I missing something?
I know that I should always check my pointers and values, and I did that but it never gets a valid value.
What changed from 4.8.3 to 4.9 that this error comes up?
Thanks in advance guys, I hope I could explain my problems well.
Here the error list, may clear some things up that I didn’t explain well:
To clarify: I upgraded my 4.8.3 project to 4.9 and then the errors occured.
I tried creating a new CharacterBP and assigned a completely new Widget but the errors still occur.
This gives me the exact same two lines of error you see in the last picture of the first post.
I know that widgets are only created locally.
Could it be that the server tries to execute some stuff he normally shouldn’t?
Maybe I’m doing something fundamentally wrong? I’m kinda new to blueprinting, especially UMG.
What is even stranger is that the widgets get created for the player.
Edit:
I still need to recreate the inventory which will take me a little longer.
After looking into this issue I found that the reason that you are receiving the errors in the screen shot that was provided was because you are running a dedicated server, This means that that the player will not be spawning on the server but the script to add the widgets to the player are still being run. In order to just run this on the clients and to get rid of the errors that you are having you will need to add a “switch has authority” node and run them remotely. I hope that this helps.