Why is my child blueprint not inheriting parent functions?

they are public by definition. anybody can call an interface, so all functions are public.

you can think of public / private as if the class is like a radio. Public would be the buttons that other things can see and manipulate. But the radio may have stuff that it needs to do on the inside that others dont need to know about - that would be private functions.

So like if you walk up to a radio and it has 50,000 buttons, you’ll have no idea what to do with it. But if you look at it and it just have 10 buttons and they have names like “volume knob”, “power off”, then you understand what can be done with the thing.

so access specifiers is just a way to organize access. its more important in a team environment.

since the purpose of an interface is just to give a common way for disparate classes to act upon the same functions/events, it is by definition public.