x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Office Holiday

Epic Games' offices will be on holiday from June 22nd to July 7th. During this period support will be limited. Our offices will reopen on Monday, July 8th. 

Private functions are listed in external blueprints

Function is still visible from other blueprints when setting it to "Private". Is this a bug? How to properly hide a function from other blueprints?

Product Version: UE 4.9
Tags:
more ▼

asked Oct 29 '15 at 04:07 PM in Bug Reports

avatar image

Slavq
2k 157 153 207

avatar image Shadowriver Oct 29 '15 at 04:55 PM

But you can call it?

avatar image Slavq Oct 29 '15 at 05:55 PM

Ah, now I see that there is "Function '...' is private and cannot be called outside its class" warning, but it still does execute when calling it. I've thought that setting a function to Private will make it disappear from object's context menu. ... Well, at least there is this warning :)

avatar image Shadowriver Oct 29 '15 at 07:02 PM

I will move it to Bug Report as i think fact that private nodes are listed outside of class is a bug (or rather lack of implementation to hide them)

avatar image Adam Davis STAFF Oct 29 '15 at 07:47 PM

That depends on how you are calling it. If you have cast to a blueprint and call the function you are telling the blueprint to run the function, however you should not be able to make direct changes to that function from outside the blueprint. How are you attempting to interact with the blueprints in question?

avatar image Slavq Oct 29 '15 at 07:51 PM

The test case was something like this: Create blueprint A & B, in blueprint A make a private function. In blueprint B, Spawn Actor from Class (class A) and the function is visible after dragging wire off the spawn node output (reference to spawned object). When called, it displays this warning, but it executes (tested with one print string inside this private function)

avatar image Adam Davis STAFF Oct 30 '15 at 01:39 PM

Can you post a screenshot of your blueprints as well as the specific warning you are seeing?

avatar image Slavq Oct 30 '15 at 02:05 PM

Here, I've also created a demo project: alt text

link text

After playing, the private function is called and executed, showing print string message on screen.

avatar image SeaShellWe Jan 22 '18 at 08:50 PM

*bump*

They can even be overriden !

Not only are private functions visible and callable, you can actually override them in child-blueprints.

This is a consistent bug since UE 4.09. It would be nice, if it would get higher fix-priority.

avatar image Strombonni Apr 01 '18 at 06:23 PM

Still an issue in 4.19.1

avatar image DenKuzn Sep 25 '18 at 05:05 AM

Still an issue in 4.20.3

avatar image David Respawn Nov 22 '18 at 11:03 PM

This is a terrible bug. I'm on a large team, and it's important to be able to properly encapsulate functionality that should not be exposed to other Blueprints (including the Level Blueprint).

Private functions should not be callable from any Blueprints that are not of the exact class of the Blueprint defining the function.

Protected functions should not be callable from any Blueprints that are not either the exact class of the Blueprint defining the function, or of a derived class inheriting from the Blueprint defining the function.

The "Private" checkbox on variables works correctly, but the callability of functions needs to be fixed.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Hi Slavq,

I was able to reproduce this on my end and have entered a bug report, UE-22843, to be assessed by the development staff.

more ▼

answered Nov 02 '15 at 03:16 PM

avatar image NullBlack Apr 15 '16 at 04:06 PM

Any progress regarding this?

avatar image Adam Davis STAFF Apr 15 '16 at 06:29 PM

Hi NullBlack,

This is still under assessment by the development staff. Unfortunately, however, our resources are currently dedicated elsewhere. I do not have a timeframe of when this will be addressed.

avatar image MajorFailure Apr 29 '16 at 06:16 PM

Please can this be bumped up in priority? Aside from being a bug it's really important for usability if other people will be using your blueprints. Thanks.

avatar image Willard720 Oct 14 '16 at 10:29 PM

This bug still exists. Can you please get around to fixing this?

avatar image Adam Davis STAFF Oct 17 '16 at 01:12 PM

Hi Willard720,

At present our resources are dedicated elsewhere. As such I do not have a timeframe of when a fix will be made available. I have added an internal note that additional developers are experiencing this error, you can track the report's status as the issue is reviewed by our development staff here.

avatar image Kalabrix Jul 13 '17 at 06:28 PM

Hi Adam, any news on this? 4.17 is upcoming and the bug is still backlogged since 4.9. Would be a great improvement to hide private functions in other blueprints - especially for marketplace content, where I don't want to confront the user with functions s/he actually must not call.

avatar image b1016103 Oct 17 '17 at 09:40 PM

This annoyance still persists in the end of 2017. Although it's not critical, it results in a noticeable loss of productivity due to the function library containing the name of every single Private-marked function out there.

Is it really that hard to read the Access Specifier value and avoid populating the general library list with all non-internal Private functions? Admittedly, I haven't looked at the the code yet, but it seems like a very easy thing to fix.

avatar image Spyryx Oct 30 '17 at 08:30 PM

Any informations about when it will be fixed ? I have some functions that I want to hide from other developers, because I don't want them to use it.

avatar image HitEmUp Feb 27 '18 at 11:32 PM

4.18.3 here and same issue. Good to know that i m not stupid and my 20 years of experience are not wasted. lol

avatar image David Respawn Nov 22 '18 at 11:22 PM

It looks like there is a proposed fix for this issue ready for review and integration at https://github.com/EpicGames/UnrealEngine/pull/5248 . Can this be reviewed and integrated, please?

avatar image Clement.Demaret Feb 01 '19 at 10:04 PM

Hi all, this problem persists in 4.21 and your URL is not founded David ^^ Any information about this and a possible fix?

avatar image david.midgley Feb 04 '19 at 01:13 PM

Yes, I actually tested that fix, and it didn't work for me, even when it was available online. So I'm guessing that it was pulled because it didn't work :( I am still waiting on a fix for this.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question