Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CreateBrainInternal ( ) returning invalid brain_id on Unreal Engine but able to log and see the created brain id log on python service #36

Open
badAcc3ss opened this issue Jan 14, 2022 · 1 comment

Comments

@badAcc3ss
Copy link

badAcc3ss commented Jan 14, 2022

Hey,
So this happens after I have established my service using the C++ SDK with Unreal Engine.
When i am creating the brain using CreateBrain(BrainName.c_str()); which in turn invokes CreateBrainInternal()
I get a random string as the brain_id and hence when I try to StartSession(). The python service throws the following error

[libprotobuf ERROR T:\src\github\protobuf\protobuf\src\google\protobuf\wire_format_lite.cc:581] String field 'falken.proto.SessionSpec.brain_id' contains invalid UTF-8 data when parsing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. E0114 15:35:11.568410 29492 _common.py:88] Exception deserializing message! Traceback (most recent call last): File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\grpc\_common.py", line 86, in _transform return transformer(message) google.protobuf.message.DecodeError: Error parsing message with type 'falken.proto.CreateSessionRequest'

I have checked my python as well as protobuf dependencies and they seem fine.
P.S. The fun part is the example project HelloFalken works fine using the same SDK and dependencies

Unreal Engine 4.27.1
Visual Studio 2019
C++ sdk (0.0.2)
Python 3.9.9
protobuf :3.19.3

@Pikachuxxxx
Copy link

I'm not sure but what I think is happening is that, unreal and godot loads the scripts as byte codes and for some reason falken fails to properly cast it to a string which leaks through to the protobuffers and gets messed up.

But godot loads the c++(nativescripts) as a dll and it wasn't an issus for me but when I used gdscript this happens. I guess that's what is happening with unreal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants