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"

Interface function replication

In a related question server-only-function-replication-does-not-fire I came across what seemed to be a straightforward task and that was to ensure that my objects could be easily reused. Because they are network capable they needed to run through the player controller but also had to account for different player controllers. To best encapsulate them, I used an interface to determine what controllers could click on the items. Though this could not replicate because the server only replication was not available on the interface events.

Is there a reason for interfaces not being able to have server only events? The documentations says they should be able to.

Product Version: Not Selected
Tags:
more ▼

asked Apr 14 '15 at 04:31 PM in Bug Reports

avatar image

Justin.Dooley
2.1k 104 68 159

avatar image Justin.Dooley Apr 17 '15 at 04:47 PM

Any additional insight into this would be beneficial. Currently, the work around is to have all networked functions copied in the player controller. The interface function just calls a second function directly next to it. This seems unnecessary. Any thoughts?

avatar image Justin.Dooley Apr 21 '15 at 04:38 PM

Almost a week and no comment so far as to if it's the documentation that needs updating because this functionality was removed from interfaces or if it is not in yet. @Steve Allison maybe you can address this? I've seen you comment on interface questions in the past.

avatar image Justin.Dooley Apr 29 '15 at 02:23 PM

I don't usually bump posts, but when I do I wait a week ;)

avatar image Justin.Dooley May 06 '15 at 11:05 PM

I just checked 4.8 preview 1 and I don't see a interface replication option. Can I get a reply (any reply) to this?

avatar image Tulrath May 07 '15 at 04:36 PM

I just want to echo that I've run into this as well, and so have a LOT of other people. See also: https://answers.unrealengine.com/questions/224340/bug476-interface-functions-cannot-be-replicated.html

avatar image Justin.Dooley May 07 '15 at 06:08 PM

I was starting to think that no one could see my post given that I am the only one who has posted in it for over 3 weeks now. @BenHalliday. You are always around to help (thanks). Can you point us in the right direction of who to ask.

avatar image Justin.Dooley May 12 '15 at 05:35 PM

I refuse to allow this to be marked complete due to inactivity when there are so many people with the same problem so I'll just keep adding comments every 4 days or so until the end of time. Or until we get a proper answer :)

avatar image _cDub May 13 '15 at 03:30 AM

Clearing this up would be nice. I looked at the docs and tried to find the replication option everywhere. If it is there, it must be default. If not it looks like we will have to make a custom replicated event on each blueprint that is fired by the interface. Kind of clunky though.

avatar image TheMunky May 13 '15 at 11:37 AM

Having the same issue, I just can't get Action interfaces to replicate, no matter how I try and no matter how many times I make posts, I never get an answer.

avatar image Justin.Dooley May 13 '15 at 03:05 PM

Well we are basically at a month of updating this thread so hopefully Epic will read it now that more people are replying to it. Some sort of "We are looking into it" or "This functionality was removed because..." would go a very long way.

avatar image mateun Jun 02 '15 at 03:37 PM

I would be interested in a follow-up by Epic on this one as well! Please :) !!

avatar image Ben Halliday STAFF Jun 02 '15 at 08:22 PM

Hi all,

Sorry we missed this one! It's hard for us to track posts that aren't bugs right now because we're such a small team, but I'll be talking to the network team about this and see if I can get one of them to give a thorough answer. Thanks for your patience so far, and please continue to be patient as I round up some answers for you.

avatar image mateun Jun 02 '15 at 09:17 PM

Thank you, Ben!

avatar image Justin.Dooley Jun 03 '15 at 04:21 PM

Yes thanks Ben. I'd be happy to know if simply removing the replication from interfaces was an oversight that will be reintroduced or if it was removed for a reason.

avatar image Ben Halliday STAFF Jun 04 '15 at 09:34 PM

Do you think you guys could come up with a simple, clear case for how you're using this, and what you'd like it to do? A test project to reference would be nice, too, if possible. I'm not sure that there's a way around this, since in the editor Blueprint Functions aren't set as RPCs, only Events are. I may be misunderstanding the use-case you're shooting for, though. Thanks!

avatar image _cDub Jun 04 '15 at 11:54 PM

I have since used other methods, but on a general sense RPC interfaces would help to skip making custom functions to get the interface called on clients and such.

avatar image Justin.Dooley Jun 05 '15 at 06:28 AM

Well the documentation is a bit off which might be causing some confusion in itself. In the Other Consideration section of the interface user guide it states

You can use the Replicates checkbox for any Interfaces containing functions that need to replicate across the server. This is found within the Details tab by first clicking the BlueprintProps.png button.

I provided a example way back that you did reply to and provided a work around but that work around caused a cast to the player controller. This means that I would need to set up cases for different types of player controllers with that functionality. Think player one is a hero and player 2 is an assistant (Similar to Child Of Light) So in that example, what would be the work around if different unrelated player controllers had to use the same interface.

avatar image Justin.Dooley Jun 09 '15 at 06:00 PM

In the interest of entertainment, Lets sing a song.

99 bottled up bugs on Trello, 99 Bottled up bugs.

Make a fix, write patch notes,

98 Bottled up bugs on Trello.

avatar image dMsLT Jun 26 '16 at 03:22 PM

Any news guys? Really needing this myself now.

avatar image _cDub Jun 26 '16 at 03:26 PM

I don't think so. I have been using a combination of RPC's and interfaces.

(comments are locked)
10|2000 characters needed characters left

2 answers: sort voted first

Hi all,

After a lengthy conversation with our blueprints and networking teams, it sounds like this is a bug. Functions themselves can't be replicated, but interface events should have the same options for replication available to them as custom events. I have entered a bug report (UE-16910), and I'll post here when I see any update on it (or if they determine this is, in fact, by design, in which case I'll get as detailed an explanation as to why). Thanks for your patience!

more ▼

answered Jun 11 '15 at 04:58 PM

avatar image Justin.Dooley Jun 11 '15 at 06:27 PM

Thank you very much Ben. With that in mind I'll be able to put off creating custom modifications and digging through piles of network code.

avatar image r8ivy Apr 07 '16 at 03:58 PM

Did you ever find a way of doing this Justin?

(comments are locked)
10|2000 characters needed characters left

I played around with some things and the easiest way to do it is to pass your target actor (the one that has an interface implemented) to a multicast custom event. On the same blueprint call that event and pass it into the interface. It will replicate just fine and you will not have to worry about setting up custom events in each object if you put that multicast in whatever blueprint is calling the interface (i.e. your character). I have this setup in my own project and it works nicely. Every BP that receives an interface call from this character will automatically be replicated. (Be sure to mark your receiving actor as replicated :P )

**Be sure that the one who is calling the multicast has authority.**With my project there were some issues with the server being the only one that could make changes to clients without it. alt text

more ▼

answered May 13 '15 at 05:47 PM

avatar image

_cDub
109 13 14 17

avatar image Justin.Dooley May 13 '15 at 06:37 PM

Multicast replicates from the server to the client and while that might work for some things it only works on objects that exist on the server. If you are having a client side effect that is trying to replicate a request up to the server then this technique should not work.

avatar image _cDub May 13 '15 at 09:10 PM

Can you give an example of what would do with it?

avatar image Justin.Dooley May 13 '15 at 11:33 PM

I assume you mean an example of what would be a client side function that we want to replicate to the server where the object only exists on the client and not on the server.

If you spawn in an item on a client and not the server (instanced loot perhaps) then any multicast events called on that object will be treated as if it where only on the client.

Say a item that drops revives nearby enemies (a trap) The enemies would only revive on the client as the multicast revive function would not run on the server.

https://docs.unrealengine.com/latest/INT/Gameplay/Networking/Blueprints/index.html#events

avatar image _cDub May 14 '15 at 04:36 AM

I guess something you could do is have the sever tell the clients that it is okay to spawn something on their own with some randomization on what that item is, but that would mean ask clients would be spawning their own. If you wanted to control specific clients spawning items you would probably have to keep a list of connected clients. Unfortunately I haven't gotten that far in my project. Examples of that are very hard to find if non existent.

avatar image TheMunky May 20 '15 at 01:12 PM

Yeah, i'm still not seeing any progress on this issue, there are work arounds but action interface's would save so much time and effort if we could just get them to work..

avatar image Justin.Dooley May 21 '15 at 01:53 PM

Hey Epic, It's been another week since I last posted. Please let us know you can read this thread.

avatar image JoeWintergreen May 29 '15 at 02:20 AM

I too could benefit from an answer to this

avatar image Justin.Dooley Jun 01 '15 at 05:13 AM

Day 44. Still no word from epic regarding this. Starting to think it will simply never happen. And this isn't even bring a post back from the dead. There has been discussion and people talking for that long.

avatar image Sir Quizalot Nov 14 '16 at 12:55 AM

An efficient looking workaround would be to have replicated event call the interface. That way you can separate the other network things (checks) before you call the interface.

Same results just think of it as an opportunity to refactor efficiently.

Page 67: http://cedric.bnslv.de/unreal-engine-4-network-compendium-released/

(comments are locked)
10|2000 characters needed characters left
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