[PIE] Cannot Edit Variable Defaults of a Blueprint during PIE any more

Dear Epic,

#Repro

Please try this In 4.7.6

-Add an exposed/public float variable to a Character template BP, such as third person

-Every tick print value of this float variable

-Go into Play In Viewport (PIE)

-Alt Tab so you can go to and edit value (WHILE game instance is still runing)

-Watch printed value constantly change as you edit value, DURING gametime / PIE / runtime!

#Bug in 4.8

Try to do same in 4.8, you can’t, because blueprint defaults are now greyed out while game instance is running

#Solution?

Is there a way to restore 4.7 functionality of editing default values during runtime?

Editing defaults during a PIE instance made polishing a game EXTREMELY fast!

Thanks!

This is intended.

Hi ,

Thanks for report, but I’m not able to reproduce this in 4.8.0. To test, I created a new Actor Blueprint with an editable float variable and dropped it in level. During PIE, I selected Actor in World Outliner. In Details panel, variable appeared as expected, and I could set value by typing or using slider. Can you test this in a new project in 4.8.0 binary for me and see if it happens there as well? Or am I missing a step somewhere? Thanks!

Hey ,

We haven’t heard back from you in a while on this. Are you still able to reproduce this issue? I’m going to resolve this for now, but if you still see this issue in 4.8.0 please feel free to respond with information requested above and we’ll keep looking into it. Thanks!

Ah, I see where confusion was. I’ve been using 4.8 for a while now, and I forgot that had changed. Thanks for clarification!

#Thank You !

Dear ,

Thank you for your answer !

Prior to 4.8 I could edit default settings of Blueprint asset itself, your method describes and demonstrates that I can now only edit properties of instances of blueprint

Again, 's solution for anyone who is curious:

“. During PIE, I selected Actor in World Outliner. In Details panel, variable appeared as expected, and I could set value by typing or using slider”

Thanks !

I have noticed that when you change value on instanced variable, it doesn’t update default value in original blueprint when it is edited. Is there a way we can change this default value while game is running in a PIE.

Edit: I noticed there is a way to Set instance to defaults, but this doesn’t help me as there are parts of C++ code that change these default values which I don’t want to have changed at start. I also get a crash when trying to set default values to new instanced ones as there are a few tick functions trying to access my HUD which doesn’t seem viable. I was hoping there was still and old way to edit these values.

Hi ,

Changing value on an instanced blueprint’s variable only changes that instance’s value. This is true whether in PIE or simply in editor. There isn’t a way to convert an instance’s values into default blueprint’s values.

Please open a new post for crash you’re getting so we can investigate that fully. Include as many details as you can, like reproduction steps and crash logs. Thanks!

Hi ,

What is way to get values I am changing to then be saved to then be kept for default values of blueprint (as it seemed to do when opening blueprint and changing values pre-4.8).

For now, I am having to:
Open instance of blueprint.
Change values while running a new editor window.
Take a mental note/save of values.
Stop game.
Open actual blueprint and add values into default values.

This seems quite laborious and as mentioned - “Editing defaults during a PIE instance made polishing a game EXTREMELY fast!”

Hi ,

I have managed to find a solution that may work for you, though I would highly recommend changing these variables outside of PIE to prevent potential errors from occurring. If you select an instance and make changes, then press edit blueprint dropdown menu, there is an option to apply instance changes to Blueprint, which should override variables within blueprint, please try this and let me know if it is what you are looking for.

Hi ,

I have seen that option and it is basically what I’m looking for. However, due to my code also changing variables from defaults in blueprint, it means that all those changes will be applied to defaults (which I don’t want to happen). I also get a crash when attempting this on my HUD blueprint, as my character class is ticking, it is trying to access HUD class and I’m assuming something happens with that instance character is using when I try to apply defaults which causes HUD to become NULL.

Unfortunately this is only option that we have available. In regards to crash, please make a new post in bug reports section so we can assist you specifically with this error. In crash report, please include your callstack, crash logs, and what steps you are taking to reproduce this on your end. Additionally, if there is any information that you find may be helpful or pertinent, please include it in new crash report.

Thanks for help, I’ll gather some info on crash, but like I said it doesn’t really matter as my defaults are changed while playing as well.
This option however used to be available until I upgraded to 4.8 as mentioned in OP. If you could give some direction to where it greys out defaults while you PIE and I can attempt to disable it via source code?

Most unfortunate. This bug is unnecessary, and very irritating. You CAN STILL EDIT DEFAULT VALUES by PASTING TEXT INTO PROPERTIES (in 4.8.1 at least). Let us edit them outright!!

process for changing settings is now:
Launch PIE.
See how settings look.
Close PIE.
Make changes to blueprint.
Launch PIE.
See how settings look… and waste A LOT of time because of this.
tweaking of settings never really ends, you just run out of time.
I now have MUCH less time to polish every aspect of game I work on.

Changing values in Details panel of instance is not possible if you use a ChildActorComponent to spawn actor/blueprint you are trying to modify because… editor won’t let you see it’s details. Using ChildActorComponents for multiple cameras is necessary because view targets are specified by Actor and not Component. If I make camera a component of actor and try to modify FOV on instance… postprocess settings are still grayed-out.

: if I find where we can disable disabling of UI in editor code, I will post back.