.
There are no tools more loved by artists than Adobe’s CC - and we want you to keep using them. Design and draw in Photoshop, create effects in After Effects, add motion in Animate.
Use Adobe Animate’s wide range of capabilities - animate colors, positions, sizes, masks, even the shapes themselves! Love Persona5’s UI? All of it is doable with Coherent Prysm and Adobe Animate.
Through Prysm’s plugin for Adobe Animate, add interactivity to your screens without code.
There’s no loading, baking or other preprocessing time - hit play and see how your UI looks immediately.
No visual effect is out of reach - apply filters and blend modes, 3D and 2D transform UI elements, use transparent videos for particle effects.
Credits for the above video go to CyberWebFX
You don't need to guess what resolutions your players will be running on. Your UI will look as intended everywhere thanks to:
Want to use some platform-specific texture format (DDS, KTC, ASTC) or an image straight out of Photoshop (PSD)? You can do that. Want to load your UI textures by yourself? You can do that. Want to display your in-world camera capture in the UI (e.g. for a 3D player avatar)? You can do that.
If you are using the amazing Unreal Engine 4 or Unity3D, installation steps are as easy as 1-2-3. Our plugins for both engines will make you feel like our tech is a native part of the engine.
We are the fastest UI technology you can find anywhere and we have the data and testimonials to back it up. For example, the UI in the previous bullet runs in under 1 ms on a standard PS4 (not PS4 Pro!).
We are aware our tech doesn’t run in isolation from your game. For best performance, we give you control over all subsystems we can.
void OnWorkAvailable(void*, cohtml::WorkType WorkType, cohtml::TaskFamilyId TaskFamily)
{
MyEngine::EnqueueWorkOnSomeThread([WorkType, TaskFamily]()
{
cohtml::Library::HintThreadUsage(WorkType);
CohtmlLibrary->ExecuteWork(WorkType, cohtml::WEM_UntilQueueEmpty, TaskFamily);
});
}
We write code so you don't have to and you only need an hour to understand how to use our API.
// your game loop
while (true)
{
// Update UI
uiSystem->Advance(MyEngine::CurrentTime);
auto frameId = uiScreen->Advance(MyEngine::CurrentTime);
uiScreenRenderer->Paint(frameId);
DrawUITextureOnScreen();
// Update engine simulation
}