Web Browser + GUI System

Hi everyone, have been around Unity for a while but not put much up. So here is my first effort.

WebBrowser plugin using the CEF embedded system.
Features:

  • Full HTML5 + CSS3 support (although pop-ups are difficult to handle and not yet implemented)
  • Callback attachment to your Unity3D scripts (currently only C# wrappers built but Im working on Js as well).
  • Multiple render targets (You can have multiple browser instances running within your app).
  • Mouse/Buttons/Touchpad all supported currently (click drag etc as well)
  • Win x86 support at the moment. Win x64 and OSX to be added. The x86 build works on x64 environments correctly though.
  • Local and network URL’s supported.
  • Highly stable - have had instances running for 4 days straight with no memory issues. (Testing for Kiosk styled apps).

Todo (still missing):

  • Keyboard focus and input is still being worked on.
  • Alpha masking is currently rudimentary so not ideal for complex alpha GUI’s yet.
  • More sample videos
  • Trial/Demo release for people to play with.
  • Store product (this will be sub 50 USD).

I’ll put up some links to videos soon, and hopefully have a demo package for people in the next couple of weeks.
Here are some screenshots I just grabbed:
1475136--81353--$SampleCSSMenu.png
1475136--81354--$SampleWebOutput.png
Some extra notes

  • it seems GLSL shaders work very well within the Apps (not all, but a large majority).
    Here is some screenshots of this running in Unity3D - the URL is: http://glsl.heroku.com/e#13427.0
    1475136--81355--$SampleGLSLOutput1.png
    1475136--81356--$SampleGLSLOutput2.png

This is kind of weird since you can run OpenGL GLSL within a DX context because its rendering in its own process. So you can have 3D rendering in a 2D texture that is rendering in a 3D Unity environment :slight_smile: Yes, Im sure many will say “Why? god Oh why?”. The simple answer - it was a nice side-effect of implementing the CEF system.

I’ll be back soon with updates and hopefully releases. I welcome any comments/questions.
Cheers,
Dave

This looks very promising. Kinda like CoherentUI without the huge price tag. Does this require unity Pro?

I don’t know much about CoherentUI - but it does look similar in implementation. The system uses DLL calls to bind to some of the interfaces (although just thinking about it, I may be able to achieve this via another method). So at the moment it does require a Pro version of Unity.

Coherent’s ridiculous pricing scheme and reliance on pro version are what have kept me from buying it so far. It would be awesome to have a less expensive alternative. You look like you are off to a good start. I’m excited to see where this goes.

To give a little more detail about how it works. I haven’t really done a huge amount of work - more trying to solve process issues. Im using this:
http://code.google.com/p/chromiumembedded/
Which does all the hard work. So it is quite decoupled from Unity (and could be used in any system). I have an idea to get it working without the Pro version which I’ll try out this weekend. At the least I should have a simple demo up and running in a couple of days for people to examine.
Thanks for the feedback.