Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Convenience UDP wrapper for the Unreal Engine.

License

NotificationsYou must be signed in to change notification settings

getnamo/UDP-Unreal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Convenience ActorComponent UDP wrapper for the Unreal Engine.

GitHub releaseGithub All Releases

This may not be the most sensible wrapper for your use case, but is meant to co-exist withhttps://github.com/getnamo/SocketIOClient-Unreal with similar workflow.

Wraps built-in Unreal udp functionality as an actor component (UDPComponent) with both sending and receiving capabilities. Works through the c++FUDPNative wrapper which can be included and re-linked in a custom non actor component class if desired.

Confirmed working with node.jsdgram (seeexample echo server gist for testing).

Discord Server

Quick Install & Setup

  1. Download Latest Release
  2. Create new or choose project.
  3. Browse to your project folder (typically found at Documents/Unreal Project/{Your Project Root})
  4. CopyPlugins folder into your Project root.
  5. Plugin should be now ready to use.

How to use - Basics

Select an actor of choice. Add UDP component to that actor.

add component

Select the newly created component and modify any default settings

defaults

By default the udp actor component will auto open both send and receive sockets on begin play. If you're only interested in sending, untick should auto open receive; conversely untick auto open send if you're not interested in sending.

Also if you want to connect/listen on your own time, untick either and connect manually via e.g. key event

manual open receive

Receive Ip of 0.0.0.0 will listen to all connections on specified port.

Sending

Once your sending socket is opened (more accurately prepared socket for sending, since you don't get a callback in UDP like in TCP), use emit to send some data, utf8 conversion provided by socket.io plugin. NB: if you forget to open your socket, emit will auto-open on default settings and emit.

emit

returns true if the emit processed. NB: udp is unreliable so this is not a return that the data was received on the other end, for a reliable connection consider TCP.

Receiving

events

Once you've opened your receive socket you'll receive data on theOnReceivedBytes event

receive bytes

which you can convert to convenient strings or structures via socket.io (optional and requires your server sends data as JSON strings).

Receiving on Bound Send port

Since v0.9.5 when you open a send socket it will generate a bound send port which you can use to listen for udp events on the receiving side. This should help NAT piercing due to expected behavior.

To use this feature can useShould Open Receive To Bound Send Port which will cause any receive open to automatically bind to your send ip and send bound port.

auto open bound send port

Or if you want to manually do this you can untickShould Auto Open Receive and then open with own settings on e.g. send socket open event with the bound port.

open bound send port

Reliable Stream

Each release includes the socket.io client plugin, that plugin is intended to be used for reliable control and then real-time/freshest data component of your network can be piped using this udp plugin. Consider timestamping your data so you can know which packets to drop/ignore.

Packaging

C++

Works out of the box.

Blueprint

If you're using this as a project plugin you will need to convert your blueprint only project to mixed (bp and C++). Follow these instructions to do that:https://allarsblog.com/2015/11/04/converting-bp-project-to-cpp/

Converting project to C++

e.g. Using the File menu option to convert your project to mixed by adding a C++ file.

Notes

MIT licensed.

Largely inspired fromhttps://wiki.unrealengine.com/UDP_Socket_Sender_Receiver_From_One_UE4_Instance_To_Another.


[8]ページ先頭

©2009-2025 Movatter.jp