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"

UpdateOverlaps not called after receiving component replicated transform

I'm not certain this is a bug, but it seems like an issue to me. Component transforms are automatically replicated by the engine if the component itself is replicated, so any component movements made on the server will be reflected on clients. However, on receiving the new transform, the client does not call UpdateOverlaps, which means that Begin/EndOverlap events will not be triggered client side.

This would seem to render these events useless (or anyway unreliable) on the client, since they will fall out of sync with the server, at least until the component in question subsequently gets moved client side (such as through character movement).

Of course the events could be processed server side and the desired results replicated manually to the client, but this is no good when doing prediction or anything else that needs to be low latency.

Product Version: UE 4.10
more ▼

asked Nov 14 '15 at 06:32 PM in Bug Reports

avatar image

2.1k 83 37 121

avatar image Ben Halliday STAFF Nov 17 '15 at 08:43 PM

Hi kamrann,

Typically, as you mentioned, this would be done on the Server. Can you give me an example with some setup details for when you'd need this to be done client-side? An example test project would be helpful, too. Thanks!

avatar image kamrann Dec 09 '15 at 06:34 PM

Hi Ben. Sorry, I didn't get chance to get back to you on this.

The specific situation I had with this was in making a basic interaction system. I wanted to use overlap events client-side to maintain a list of actors that were within interaction range of the player. This list would then be used to provide visual feedback, such as object highlighting, all of which was required client-side only and should be lag-free.

Of course, there are other ways to do this, however it just seemed to me like a legitimate use case for client-side overlap events, and I would imagine there might be plenty more. If however it is the express intention that these events should not be used on the client, I would think that could be made more clear, at least in the documentation, if not enforced somehow, or reported as runtime warnings.


avatar image Ben Halliday STAFF Dec 09 '15 at 10:35 PM

Okay, I misunderstood you. I can see a use for that, and it seems like it ought to work. I did a quick test and it seemed like the Client was detecting an overlap at both the old location and the new location of the component that was moved (using SetWorldTransform). I'm going to do another few tests and probably enter a bug report, if I don't see that I'm doing something wrong, and get back to you. Thanks for your patience.

If you can show me your setup or show me a test project, that may prove useful as well. Thanks!

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

1 answer: sort voted first

Hey kamrann,

I've entered a bug report for this issue (UE-24334), as I was able to reproduce the problem when using SetWorldTransform on the component directly. This does not seem to occur when the Actor itself is translated, and in fact this updates the overlaps on the components with it. The only workaround I can think of for the moment is to Set Transform on the Actor itself after setting the Transform on the component, even if only slightly, to update the component's collision on the Client. I will let you know if I see any update on the bug. Thanks for the report!

more ▼

answered Dec 10 '15 at 08:13 PM

avatar image kamrann Dec 10 '15 at 09:31 PM

Yep, I was also directly setting component transforms on the server in my case. That's interesting that it works fine on the actor level, and does suggest that it is in fact a bug.

Thanks for looking into it.

(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