Improbable Icon

Forums

UE4 Error: RPC name collision after removing non-alphanumeric characters

unreal
unreal-gdk

#1

Hi, I’m not really sure where to ask this as the Support part of the forum is closed for me…

I’m trying to integrate SpatialOS in my UE4 game to try it out in a “real” project, but I’m getting this error when trying to build schema in the editor:

“LogSpatialGDKSchemaGenerator: Error: RPC name collision after removing non-alphanumeric characters: ‘Multicast Destroy’ and ‘Multicast Destroy’ - schema not generated”

The project is 99% blueprint and I have tried to unplug some of the RPC “destroy actor” nodes from my BP’s without any luck, but I’m not really sure what the error is.

If someone could give me suggestions about how to solve this, I would be very happy :slight_smile:

Thank you


#3

Hey @Kasper-Valente,

I’ll take a look at this with the team for you.

Regarding the Forum, we don’t have a specific “Support” channel per se, but you can check out the # setup-help, # bugs-and-problems, # feedback-and-suggestions for help if the question is relevant to those topics. You can also ask the # unreal engine channel for Unreal-specific questions too. If you can’t see any of these channels, let me know!

best,
Nee


#4

Hi @Kasper-Valente

You need to check if your RPC function call on a class like this Multicast Destroy! and Multicast Destroy? . When you generate the schema the non-alphanumeric character will be removed which will lead to the error… so you might need to rename one of them.

Best Regards

Stan


#5

Sounds great and thanks :slight_smile: FYI I just tried to port another UE4 multiplayer project to spatialOS, and am getting this error:

LogSpatialGDKSchemaGenerator: Error: RPC name collision after removing non-alphanumeric characters: ‘ServerHover’ and ‘ServerHover’ - schema not generated

It seems like a common error, as it resembles the previous error from the other project.

Regadring the channels, I can only see these

image

With the Support channel “locked”

Thank you very much!


#6

Hi @Stan, thanks for the info. I’m not quite sure I understand what you mean by " You need to check if your RPC function call on a class like this Multicast Destroy! and Multicast Destroy?". Am I right in understanding that the RPC node names (in my blueprints) are the problem here?


#7

Just to clarify (I hope). These are the nodes I’m talking about:

image

and

image

Thank you


#8

Basiclly the schemlang we use to generate scheme don’t accept non-alphanumeric characters so non-alphanumeric will get striped hence if you have two RPC function call Multicast Destroy! Multicast Destroy? , they will have the same name after ! and ? get stripped …you just need to name one of them to avoid name collision. Apologise for the confusion !


#9

Ahh, okay I understand now - but I don’t think I have made any non-alphanumeric function names, all the names of my functions are made purely by letters :-/

I don’t really now where to look for the problem as the error message doesn’t refer to a specific blueprint or anything.

Thanks for the help so far


#10

Hey Kasper, I think this may be a bug regarding inheriting the Server Hover event. We are generating schema for both the overridden function in the child and for the original function in the parent, thus causing a name collision.

I’m looking into this now just to check and will get back to you with my findings :smiley:


#11

That sounds great :slight_smile: So maybe this will solve the problems for both of the projects I have tested - I’m hoping


#12

Hey @Kasper-Valente,

that’s my bad, I had a temporary mind blip and thought you were talking about our Discord channel, sorry! :see_no_evil:

For the Forums category, the lock symbol is there and seen by everyone, but you should still be able to access it and post in it. When you click in to it and go through to https://forums.improbable.io/c/sup, do you just see a blank page? Or do you get an error message at all?

Thanks,
Nee


#13

@Nee Hehe, that’s okay :slight_smile: I have just tried to see if I could make a new posts in the support threads, and it seems like I can, so that’s good. I just thought that the lock icon meant that the section was only for “paying customers” or something like that :wink:

Should I move my post to the support section instead?

Thanks


#14

Just an update, this was a bug and a fix is now in review :smiley:


#15

Great news :slight_smile: Can I get it on github, or will I have to wait till the next release?

Thank you


#16

Yeah of course!
It’s not yet merged but the branch is bugfix/schema-function-override and the PR is https://github.com/spatialos/UnrealGDK/pull/541

You can try it before the pull request goes through if you’d like but I’d recommend waiting for the review to finish in case any issues are found ^^


#17

Awesome. Thanks!


#18

Hey @Kasper-Valente,

no worries and don’t worry about moving this thread to Support but for future queries, do throw them in there. Glad we’ve been able to help you with this :slight_smile:

Best,
Nee


#19

Hi again @joshuahuburn, I applied the bugfix from github, but I’m not sure if I’m building the UnrealGDK correctly from source, because the problem(s) still persist :-/ I just copied the code from the bugfix into the code from the master branch and then ran Setup.bat, but I’m getting exactly the same errors as before.

Any ideas?

Thanks


#20

Hey buddy, just as a sanity check, did you make sure to regenerate your schema and snapshot after you merged these changes and built?

If so there may be something else at play, I’ve reproduced your scenario here and the branch appears to fix it for me, might need some more details from you if it doesn’t work :smiley:

Edit: Of course you ran schema generation as this bug is related to that :stuck_out_tongue: My bad. Investigating further.


#21

Hi @joshuahuburn, yes I already tried that (twice) :wink: Please tell me if I should send more information about the error. Alternatively I can try to send you a link to the project itself?

Thank you

EDIT: I got it working now! :slight_smile: Sorry, but I don’t know what I did different compared to the last time I tried :frowning:

Thanks