How can I make a Blueprint Interface not Read-Only?

Is there any way to make a new Blueprint Interface that is not read-only?

You can only define the functions’ interfaces (name, input/output parameters) in an interface. That’s their entire point.

You have to implement the interface in an existing Blueprint to define the actual function logic. To implement an interface, open the Blueprint’s Class Settings and Add the Interface you want. The available functions are then listed in the Interfaces section in the My Blueprint tab.

You can then define the function content as you like, but you won’t be able to rename the function or change the input/output parameters (because they’re defined by the interface).

Note that adding an interface will fail if your Blueprint already contains a function with the same name as one of the Interface functions.

You want to put some code in here? You cant, idea of interface is to have only name and variables transferred and actual code may be different for each instance where it used.

Yeah, I figured it out with your help. I was watching one of the instruction videos and in that video he was able to edit the interface blueprint. I guess it was an older version. Thanks!

I don’t know if you know about this. You don’t need to use interface to communicate between objects, you can talk to classes direcly all you need to do is bering object to it’s class or base class which hasfunction you want to call. Point of interface is to relate unrelated classes, because you can have unrelated classes that can do same thing and you want to use that as common relation, insted of standard parenthood relation.

I do want to do that, yes. Basically I want to pick up items. A lot of items. Seemed to me that the interface would be the best way to “send the message” to all objects that I make Interactable. Seems to work fine with the system I use now!

Generally you make a base class for all items, which has event for On Pick Up for example and you create Item blueprint out of that base class where you override that event. If you have variable Item, it can hold any object with based from Item class and you can call functions and events defined in base class, invidual Item can override default code in base class if it wants extra code in it (but as i know Events are better to override then Functions in blueprint). Thats the basis class inherence, Interface is that extra feature when you want to relate unrelated classes for example Item Class with YourGamePawn, for some reason if you like.

Heres my tutorial about classes and objects and how they are relate each other:

Note that no other objects from engine code use interfaces as default means of communication, and they been rarely used in UnrealScript which they been introduced in UE3. For some reason blueprints made people think that Interface is main way of communication between objects in UE4.

So, I want to put my input here and say I was having the same problem, searching all over, realizing that the game was RUNNING while I was in the editor. Don’t do this. Of course, it will be Read Only. If anyone knows another reason why BluePrints might show as Read Only, I’d love to know why. Closing the runtime completely removed this error. It is a simple solution.

- YouTube on this video the Unreal Engine tutor edits the interface… any explanation on why we can’t? And what would be the work around for this tutorial?

- YouTube on this video the Unreal Engine tutor edits the interface… any explanation on why we can’t? And what would be the work around for this tutorial?

actually I found out that even though it says Read-Only and you can’t actually do anything in the graph you can still follow along with the video and do everything that he does on the side menus

actually I found out that even though it says Read-Only and you can’t actually do anything in the graph you can still follow along with the video and do everything that he does on the side menus

THE CORRECT ANSWER IS… Stop Compiling the program ! ! !

Shadow, zak made a point of doing an extra tutorial recently covering interfaces, he had already done so in the twin stick shooter tutorial. Pretty much, interfaces are just a safer and easier way of executing functions on any class that has that interface you are checking for, and it wont ever run on any that doesnt…