UE5 Neurogame Template using Neurosity and experimental NodeJS plugin. See how the Javascript can be used to get information from your Neurosity device and be used in-game.
You can log into your device and play some games with it. Take care to stop the script between levels as you continue making more levels! The neurogame example level uses the Calm score to make a sphere float and the focus score to make a cube glow brighter. Oh, the pause button is P, by the way.
The template may be a bit rushed but I wanted to share my progress with ther interested game designers. Be sure to add your name to the credits before you push any innovations.
This project was built upon the hard work of others. As such, it is also dependent on the scrutiny and update of the tools they so generously provide. Make sure to check their sites and repositories if you want to upgrade your own project or if you want to try your hand at older versions of Unreal Engine.
Thanks to AJ Keller and Alex Castillo for coming up with the Crown hardware and the Neurosity SDK.
Thanks to Jan Kaniewski for developing the Node.js plugin for Unreal Engine 5.
Thanks to Epic Games, Inc. for making Unreal Engine 5 accessible for everyone and for offering default assets.
I use the example assets provided by Epic Games, Inc. for their Third Person example game template.
The magic happens in the NeurosityInterfacer.js in the NeurogameTemplate\Content\Scripts folder. It's inundated with helpful comments! You cannot see it directly in the Editor, you have to look for it using your file explorer and open it in your favorite code editor.
You can find all my blueprints in the Content/Neurogame folder, inside the Editor. Don't forget to also open the Level Blueprints as well. Those are super important!
The BP_NeurosityInterface does all of the communication between NeurosityInterfacer.js and Unreal. Beware, the Node.js plugin does not stop scripts when a Node instance is destroyed, so I provided a way to tell the script to stop so that it can be automatically be restarted upon creating a new BP_NeurosityInterface instance. For examples on how this is done, check the Level Blueprints in Map_Title and Map_ExampleLevel (Content/Neurogame/Maps) and the WBP_TitleMenu and WBP_PauseMenu (Content/Neurogame/Widgets).
Make sure to add the folder where your project Scripts are as additional non-asset directories to copy relative to the Content directory (e.g. for the typical Content/Scripts folder add just Scripts).
Q: Why are there no questions here?
A: People haven't yet asked me questions to populate this section.