[Plugin] OSC for UE4

Hi all,

I’m using Mind Your OSCs, and app that recieves data from the Emotiv EPOC (a consumer eeg headset) and converts them to OSCs for use in other programs. I get a bunch of different entires in the output log of unreal when I run my game, so I know I’m getting information. I get a lot of different values though, all input on separate lines (the EPOC has algorithms for meditation, concentration, engagement, and emg values for blinks, furrowed brows, etc.) and I’m not sure how to sort through them and use them as User Input for controls in other Blueprints.

tl;dr - I have a bunch of OSCs coming in. How do I sort through them, find the values I want, and map them to User Input for use in other blueprints?

Its been about a week, do you think you could upload it anytime soon?

Erp - I need to change the middle a bit. Will do it tomorrow (my day off)

Ok, here’s a tutorial - it shows how to install the plugin from the githib download to compiling, and then using the plugin.

UE4 OSC Video Tutorial

I didn’t put it up right away because in middle when I’m sending commands in I wasn’t using the specific interface which i’d previously shown (it’ll make sense when you see it) At the end you can see the correct interface being used with a shaky iphone recording.

Please don’t hesitate to ask me any more questions - also, I hope MonsiurGustav isn’t gnashing his teeth because i’ve skipped over anything or done things differently to his preferred method - i’m speaking here about the timer based OSC message sender which I set up in this video - you can off course just send individual messages out from anywhere in the blueprint, but if you do it this way you can have some control over traffic in and out.

You have made me complete, thank you so much. Also obligatory extra thanks to MonsiurGustav for the plugin, you are literally opening whole new doors of artistic expresion for me! :slight_smile:

Hi!

I’m using Unreal 4.11.1, on OSX 10.11.4, together with the latest version of the OSC plugin. When I run the game in editor, I get all OSC messages, but none of them when I run the game as a standalone app. I use the Package Project command to build the standalone app.

Is there any configuration, or other tricks I need to do to make it work in a standalone app?

Thomas

Sorry for rubber ducking the forum thread (ref. my previous post)! I looked into the source code and found some hardcoded references to port 8000. I didn’t bother to thoroughly read every line of code to see why the port number was hardcoded, but did a quick test by switching to port 8000 in my test-app. And it worked! Seems like the packaged app must use port 8000 in order to work.

Hello all!

I’ve been using the OSC plugin for several engine versions and I’ve suddenly run into an issue with the 4.11 release. I’m able to receive messages but unable to send messages.

When sending stopped working in the 4.11 release I went through several tests to see if I could isolate the issue:
-Made sure it wasn’t a network issue, confirmed OSC communication with the old plugin and with external software.
-Tried changing the port for send and or receive and no behavior change.
-Created a simple project that attempts to send the string “HelloWorld”

I’m at a loss, as I’m not sure what is causing the issue, so I’m reaching out to see if anyone has any advice or if anyone is successfully sending AND receiving OSC messages in 4.11

Thanks in advance!

Did you figure out how to sort them yet?

Does this work with 4.12?

Also curious about this.

It does AFAIK: I had no complain and I just did a quick test to confirm.

As usual, if it doesn’t or you fail to use it, post an issue on the Github! :slight_smile:

(… catching up old messages)
Thank you so much for your tutorial , you totally made my day, you rock!

I’d say OSC Bundle are indeed “advanced usage”, most people won’t need this.
I generally use the simple SendOsc function myself.

Also, there is a easier way to add an OnOscReceived event on a component:

  • select the OscReceiver component in the “Components” panel
  • Right-click in the “Event Graph” window
  • If “context sensitive” is checked, “Add Event for Osc Receiver” should be the first entry.
  • Open it to the end to find “Add On Osc Received”.

It’s exactly the same thing (the bound is implicit), but it only takes 1 node.

There is a default port, being 8000.
Things are always easier when using the default :slight_smile:

But you can actually use the port you want, just do not forget to click the “Set as Default” button in the settings page.

This is a bit awkward, but most of the settings are “local” to the editor unless you click it.

did it right in his video tutorial: you should use a “SwitchOnName” node to route the messages.

(Actually, uses a “SwitchOnString” node that does the same but adds an unnecessary conversion)

Sorry, I missed your message.
Did you solve the issue in the mean time?

Hello Gustav! Thanks for reaching out. I did solve the issue, it was a funny thing, but my SendOSC destination addresses in 4.10 did not have a “/” in front of them. After following another user’s tutorial, beat for beat, and including the “/” in the address field, everything resumed normal functionality.

Good to know!

Normally, for such a thing, you should have seen an explicit error message in the log.
https://github.com/monsieurgustav/UE4-OSC/blob/master/OSC/Source/OSC/Private/Common/OscFunctionLibrary.cpp#L158

Does this work with the latest stable ue?

It works well on 4.12.5 as far as I could test.
I did the youtube tutorial and I could print on screen the incoming values using a simple blueprint.