Enhance your workflow

Extend the PlayCanvas editor with powerful tools to super charge your development process.

Uranus Tools for PlayCanvas

A collection of ready to use PlayCanvas scripts that add powerful capabilities to your project.

Uranus GPU Instancer

A plug and play hardware instancing solution that can easily reduce the draw calls in any PlayCanvas project to the minimum required.

GPU Instancing

Tired of watching your frame rate drop after adding too many models to your game?

GPU instancing automatically groups all models by their mesh and material to reduce the number of draw calls rendered to the minimum.

No need to setup batch groups and assign them manually, all models will be automatically instanced on runtime.

Supports both Model and Render components with all of their properties for dynamic lighting (static lightmaps are not supported).

Changing any component property on runtime will update the instancing groups automatically, no need to regenerate batch groups!

Level of Details

Your models can now include easy to use level of details by simple tagging the entity name with a suffix “_LOD2”.

It’s that simple! The instancing script will automatically toggle on/off the corresponding level of detail against the active camera.

You can set both global LOD distance levels, and optional local, per model, levels.

 

Cell based Frustum Culling

Open world games usually demand large numbers of models drawn e.g. for rocks, grass, trees etc.

Using the PlayCanvas per entity frustum culling solution can lead to massive performance drop for large number of entities.

Uranus Instancer can partition your entities in a grid, that you can size, and do frustum culling on each cell instead.

Works great with the Uranus Painter to quickly spawn massive amounts of models without hindering performance.

 

Seamless Operation

Uranus Instancer requires minimum setup and can seamlessly integrate to your PlayCanvas project.

It will identify any model or render component that doesn’t support instancing e.g. skinned models or UI elements and skip them.

At the same time it can work in parallel with PlayCanvas CPU batching so you can get the best of both worlds, if you require it so.

You can easily exclude any entity by using a special tag and also control with layers should be excluded completely.

Together with Uranus Editor Scripting, works in the editor, too!

 

Physics component system

When the instancer is consuming data directly from either the editor painter or a terrain distributor, it can directly create physics bodies without the need to create entities.

That way you can add thousands of static bodies to your game with great performance.

Uranus Terrains (Enterprise)

A fast and extensible solution to get beautiful terrains rendered both in the PlayCanvas editor and on runtime.

Fully Parameterized

A vast number of properties to fully control your terrain look.

You can easily generate mountains, lakes and islands. Control the terrain size and complexity.

Easily find the right settings by playing on real-time with each parameter.

 

Seeded Generation

Terrain generation can be fully random or you can control the seed.

That way you can generated seeded random terrains and provide limitless variations for your players.

By using the same seed you can generate the exact same random terrain on any client.

 

Works in a Web Worker

All terrain generation happens in a web worker so the main thread isn’t being blocked at all.

The worker will transfer only the required values to generated the terrain mesh using transferrable objects. That avoids big stalls and large memory allocation when generating terrains.

You can easily generate multiple terrains on the background even on low end mobile devices.

 

Level of Details

You can easily generate any number of LODs required by your application.

 The Uranus Terrain Generator uses a special library to reduce the number of triangles rendered (RTIN terrain mesh generation).

All LOD variations will be generated in the web worker. They work seamlessly with the Uranus GPU Instancer on runtime.

 

Heightmap Support

You can feed the terrain generator a grayscale heightmap, instead of using procedural generation.

All terrain features works seamlessly with heightmap based terrains. 

Dynamic Texturing

The terrain can be easily textured by using as many texture channels as supported by your GPU.

Each texture channel can be mapped on the terrain surface based on height and slope.

Support for diffuse & diffuse with tint, normal and an optional noise texture is provided.

 

Procedural Object Distributor

A powerful object distributor that can procedurally spawn entities and objects on the terrain is provided.

Using a fast BVH raycasting solution it can accurately spawn huge number of objects on your terrain.

You can control their position by using the terrain color, height range, slope angle and even an optional valid surface (objects can spawn on top of other objects).

Using the Uranus GPU Instancer you can spawn huge numbers of models to cover your terrain like grass and rocks. 

Works in the web worker, too!

 

Uranus Material Effects

A number of advanced shader effects are provided to improve your rendering quality.

Realistic Water

A water effect that features dynamic reflections, depth based water color, and shore foam and transparency effects.

All water features can be easily toggled on/off to achieve optimal performance on each device.

 

Planar Reflections

An easy to use script to enable real time planar reflections on any material surface.

 

Day and Night Skybox

A dynamic skybox that features a 24 hours cycle with a sun, moon and stars and procedural 2D clouds.

You have full control over all atmospheric scattering values to achieve the right sky for your game.

The skybox renders a cubemap that can be used for IBL (image based lighting) and provide realistic lighting to your scene.

The current time can be easily set via a property or smoothly animated.

Environmental fog

Updates the PlayCanvas exponential squared fog to sample the cubemap color automatically, so the fog is colored to match the horizon color.

It includes support for height based fog to better give volume to distant object. The fog can also be animated using a noise pattern to add movement.

Vegetation Wind

An easy to use script that can add one or more wind channels to any material in your scene.

It can use UV (UV0 or UV1) or World based coordinates to create an animation curve for the effect.

You can add random wind gusts and control the frequency and amplitude of the effect.

An optional object interaction toggle is available that can bend the polygons on the Y direction against a list of referenced objects. Works great to simulate how vegetation is affected when players pass by.

 

Vegetation Surface Color

Add a surface color tint to any material. The surface color is being rendered to a texture so it can include any layers of your choice e.g. terrain, rocks etc.

Works great for grass and low vegetation to make it visually integrated to the terrain.

Supports adding any number of optional animated noise channels that can simulate effects like clouds shadows.

Vegetation Player Interaction

A vertex shader based effect to make selected materials bend when an entity walks close by.

It’s super easy to enable and have control of which entities should interact with it.

 

Multi-Material Blend

A powerful extended material that allows you to blend multiple textures on the same model based either on painted vertex colors or provided texture masks.

In the hands of an artist it can be used for easily improving the look of models e.g. sand on old floor or moss on a rock.

Alpha Distance Fade

Smoothly fade out any material after a certain distance from the active camera.

Works great for vegetation to smoothly fade out the grid cells of the last LOD.

 

Shadows Timer
Overrides the internal PlayCanvas shadow renderer to customize how often each shadow cascade updates. Easily increase performance and reduce draw calls by reducing the update cycle of distant shadows. Works for PCF shadows only.

 

Brightness and Contrast
Easily change the brightness and contrast of the scene without using an expensive post effect. The effect is applied as a global shader chunk affecting all scene materials.

 

Uranus Editor Painter (Enterprise)

A powerful editor extension to easily paint large numbers of entities in your PlayCanvas projects.

Click and Drag Brush

Click and drag on any surface (including on Uranus Terrains) to paint one or more entities in place.

The script will automatically raycast to find a valid point on top of a rigid body surface. The entity will be placed with accuracy and if required aligned to the surface normal.

Easily control the number of entities to spawn, the distance between each brush stroke and if required add randomization for rotation and scale.

Multiple Templates

Easily add variation to your brush strokes by including any number of template entities.

The brush will randomly select a template from that list on each stroke to spawn an entity from.

 

Instancing Data

If you are painting large number of objects like grass, the painter script can spawn them directly in a .JSON data file to be loaded on runtime.

This way you can paint thousands of objects with a few brush strokes while the PlayCanvas editor continuous to perform smoothly.

 

Paint, Erase, Save Buttons

Easy to use interface exposed directly on each painter script instance.

You can switch between painting and erasing mode, preview your brush stokes and save them to the data file when you are ready.

 

Uranus Editor Scripting

A battle tested solution to enable editor scripting for any PlayCanvas script.

Simple to use

Enable editor scripting for any existing or new PlayCanvas script by adding a single attribute.

The Uranus Editor browser extension will parse each editor enabled script when the editor loads and execute them.

Write your own tools for the PlayCanvas editor or simple view the result of your runtime scripts in editor.

 

Editor Script Methods

Optional script methods can be used in any editor enabled script to add editor only functionality:

– editorInitialize

– editorAttrChange

– editorScriptPanelRender

Editor facing Custom UI

You can easily add buttons or any other custom HTML to any script instance.

The Uranus Editor Painter script uses the same functionality for its Paint, Erase and Save buttons.

 

Update and Physics

The Uranus Editor browser extension enables automatic update of the pc.Application render loop allowing all of your editor enabled scripts to update like they do on runtime.

At the same time it enables execution of Ammo.js in the editor to easily add raycasting support and any other physics related simulation in editor.

 

Uranus Player Controllers

An ever growing library of drag and drop, physics enabled, player controllers.

Third Person Controller

A powerful third person controller that can walk, run, jump and swim with keyboard, mouse and touch input.

The controller includes animations compatible with Mixamo and Ready Player Me skeletons and can be easily extended to support any other.

Ready Player Me

Easily add Ready Player Me avatars to your PlayCanvas scenes.

The avatars are fully working with the Uranus Player Controllers. Animation, networking, input controls work out of the box.

Find out more about Ready Player Me here.

Animation LOD

Fill your digital worlds with multiple animated models!

PlayCanvas CPU based skinning comes with a performance hit. Our Animation LOD system enables a massive performance increase to continue using regular animated characters with no changes. 

Automatically reduce the playback frame rate based on distance level of details.

Frustum culling support for disabling playback on non visible models.

 

Virtual Joystick

An easy to use virtual joystick that can be used for visualizing touch input.

Graphics Settings UI

An extensible settings script that can be used to select graphics quality presets and also control basic game settings like sound level, time of day and active player controller.

Uranus Realtime Multiplayer (Enterprise)

A plug and player networking solution to easily get started with live networking in your PlayCanvas projects.

Plug and Play

Easily drag and drop the Multiplayer scripts in your scene and get networking on any Uranus Player Controller.

You can setup a simple Colyseus server using our ready to deploy template and enjoy all the merits of networking.

 

Multiple rooms

Spawn any number of server rooms to organize your players.

If required any client can connect to more than one rooms.

There are no hard limits at the maximum number of connected clients. Scale your server as little or as much you like! 

Authoritative multiplayer

If required by your game to add anti-cheat mechanisms and server side prediction, you can easily do so by adding your own code in the server.

You can add your own custom JavaScript in the server template script or write your own server from scratch. 

3D Spatial Audio

Add positional voice chat to enable your players to locate each other using positional and directional 3D audio.

Using the powerful Agora SDK and streaming services to get crystal clear performant voice chat between multiple players.

More tools coming soon!

We have many tools and extensions in development or planned that will soon be part of this collection.

If you’d like to see a tool included, feel free to contact us on how we can add it to our roadmap.

 

Featured Case

Aritelia

Aritelia

HTML5 Social MMO

Aritelia is a procedurally generated persistent online world where you can explore, build and play with your friends.

Aritelia is a unique web based experience featuring an enormous open world. A vast archipelago of million of unique islands which you can visit with your friends.

It uses our Uranus PlayCanvas Tools and serves as a test bed for pushing our technology ahead. Aritelia is in active development by our studio. 

Pricing

A wide range of services to support your business.

License Details

* Limited collection includes: Uranus GPU Instancer, Uranus Material Effects, Uranus Editor Scripting, Player Controllers

* Enterprise collection includes: Uranus GPU Instancer, Uranus Terrains, Uranus Material Effects, Uranus Editor Painter, Uranus Editor Scripting, Uranus Player Controllers, Uranus Realtime Multiplayer.

* A personal or organization PlayCanvas account is required to receive the SDK.

* The SDK includes extensive examples with ready to use templates. All script attributes contain explanative descriptions. Analytic documentation including a user manual and tutorials is in development due for release in Autumn 2022.

* Upon purchase your subscription is activated within the next two (2) working days. All purchases are non-refundable.

* You can view the License Agreement for the Uranus Tools for PlayCanvas here.

Looking for a custom developed tool?