A downloadable datamosh effect

Buy Now$12.00 USD or more

Datamosh is a post process shader that creates a frames blending effect by simulating a video editing technique in which the footage is manipulated to look 'trippy' or 'glitchy,' usually by manual compression.

Demo

Jam2go's video about datamoshing in Unreal

Epic Marketplace

Documentation

Using engine classes, plugin injects the shader into the rendering pipeline, ensuring it is compatible with other post process effects after the default installation.


Technical details:

  • Supported engine versions: 5.0, 5.1, 5.2, 5.3, 5.4.
  • Built-in blueprint functions.
  • Automatically applies on viewport camera on any scene.
  • Console commands to adjust the effect parameters (noise type, noise intensity, effect intensity).
  • Compatible with other post process effects.
  • Does not support replication (temporarily).
  • Small performance cost.
  • If you want to use the feature of rendering the effect in Custom Depth, first - 
    enable Custom Depth-Stencil Pass - Enabled with Stencil in the project settings

Commands list:

r.Datamosh (1/0) - Toggle datamoshing effect;

r.Datamosh.Noise (0/1/2/3) - Select datamoshing noise preset;

  • 0 - No noise;
  • 1 - Pseudo-random cubic noise function; 
  • 2 - Horizontal strip noise function;
  • 3 - Jittering;
  • 4 - Simplex2D Noise
  • 5 - Cubic simplex2D

r.Datamosh.NoiseIntensity (float) - Intensity of the effect scaled by float;

r.Datamosh.Noise.PerBlockSize - Datamoshing noise size effect;

r.Datamosh.UseSceneDepth - Use scene depth pass for rendering the effect;

r.Datamosh.UseCustomDepth - Use custom depth pass for rendering the effect;

r.Datamosh.SetStencil (value, value, value, value) - Use this to set the stencil values for the effect when sampling in the custom depth;

r.Datamosh.ExcludeCustomDepth - Toggle effect rendering for objects in Custom Depth;

r.Datamosh.ClearStencil - Clear the stencil values and reset it to a single value of 0;

r.Datamosh.Factor (float) - Datamoshing alpha between current and previous frames, .99 by default;

r.Datamosh.Motion.x and y - Datamosh motion effect;

r.Datamosh.DepthDistance - Datamoshing depth buffer distance;


Performance

GPUAverage, ms
3060TI0.11ms


Supported Development Platforms: Win64, Mac, Linux

Supported Target Build Platforms: Win64, Mac, Linux

Network Replicated: No (Temporarily)

Current Version: 0.3

Changelog:

0.1:

  • Early access.

0.2:

  • Full code refactoring.
  • Fixed an issue with artifacts appearing in the output texture, when using two or more active viewports simultaneously.
  • Added common shader file for easier use in the future.
  • Overall optimization of the effect calculations on the CPP side.
  • Added new blueprints to control new feature settings.
  • Redesigned the noise generation function in the shader.
  • Added new effect features: effect motion, render buffer selection, draw distance for the depth buffer, new noise presets.
  • Expanded effect monitoring capabilities using stat gpu and Unreal Insight.
  • Extended version support.

0.2.2:

  • Fix for potential crashes in engine version 5.4.4.

0.3:

  • Refined depth handling in the shader for both scene depth and custom depth.
  • Added ability to use Stencil with custom depth via the r.Datamosh.SetStencil command and blueprint.
  • Introduced a feature to exclude objects from the effect in both custom and depth rendering passes using the exclude option r.Datamosh.ExcludeCustomDepth.
  • Expanded the motion functionality to allow adjustments for both X and Y axis movement.
  • Added the ability to change the noise "grain size" with the r.Datamosh.Noise.PerBlockSize command.
  • Updated the Blueprint library to support new shader features and enhance ease of use.


Updated 12 days ago
StatusIn development
CategoryAssets
Rating
Rated 5.0 out of 5 stars
(2 total ratings)
AuthorPetyu
Made withUnreal Engine
TagsEffects, plugin, Real-Time, Shaders, Unreal Engine, visual-glitch

Purchase

Buy Now$12.00 USD or more

In order to download this datamosh effect you must purchase it at or above the minimum price of $12 USD. You will get access to the following files:

DatamoshEffect_5.4_0.3.1.7z 14 MB
DatamoshEffect_5.3_0.3.1.7z 10 MB
DatamoshEffect_5.2_0.3.1.7z 9.4 MB
DatamoshEffect_5.1_0.3.1.7z 13 MB
DatamoshEffect_5.0_0.3.1.7z 13 MB

Development log

Comments

Log in with itch.io to leave a comment.

Just bought this. Very happy with it! Thank you. I have a few questions. 1. Are there any features you're planning to do in further updates? 2. Are there any materials or HLSL shader or the like I can access to edit the effect myself? 3. I used the stencil thing but it completely limits the effect to the object. Which makes sense, but I want the effect to originate from an object but trail off to the rest of the image. If it's not a feature already, and if it's possible, I'd very much appreciate you implementing it!  4. Also in regards to stencil, I noticed the effect turns off if I have the object is far from the camera. Is that intended or did I set something up incorrectly?

(+1)

Thank you!
1. Yes, temporality. This will allow the effect to work with VR (anyway I still need to figure out how to properly work with temporality for the next plugin I'm working on)
And I might find a solution for how the effect can be used through the material editor.
If we're talking about some visual stuff – I might come up with something for the effect styles.

2. Yes. You should look at DatamoshCS.usf in the Shaders folder. Also, for convenience, I recommend enabling shader development mode in the engine to make shader recompilation easier. (Ctrl+Shift+.)

3. Actually I've thought about this, but I'm not sure about this feature yet. I haven’t tried it myself. However, you can imitate it with particles, for example -https://twitter.com/Jam2go/status/1829943496897421532

4 .Yes, that’s currently intended for better compatibility with Scene Depth. Try increasing the value for r.Datamosh.DepthDistance (for example, to 10)

Thanks for the great reply!

I'm a bit of a noobie but I have a couple of ideas in regards to the material and trail that might potentially help.  If you're available on discord, or any other messenger of your choosing, I'd love to chat with you about these nerdy stuff!

(+1)

Sure, please email me - pety4n@gmail.com

quick question, if I purchase on itch do I get a license on unreal marketplace as well? It would be easier to manage content under a single umbrella.

Unfortunately, no, I'm not sure how to like "sync" this. I think it would be possible if I were selling product activation keys for the Epic Marketplace, but it seems Epic does not encourage this.

(+1)

Is it possible to mask the effect. For example using depth to only have the data mushing appear far away from the camera?
Very cool post process effect!:)

(+1)

Thanks! Yes, this is possible.
To achieve this, you'll need to use the depth buffer for the effect and adjust the distance (r.Datamosh.Buffer 2, r.Datamosh.DepthBuffer.Distance for example ~0.1).

Cool!:)
Thanks for the quick response.

Is there a specific reason it doesn't support 5.03? ;(

(+1)

No, not at all. I will upload a major update soon, including extended version support

That's so awesome to hear! Thanks (:

Is there any way to make this object specific instead of affecting the whole viewport?

(+1)

Hi. If you mean that only a specific object on the screen can be the trigger for the datamoshing effect, then I’d say not yet. This would require quite a lot of work if we're talking about for example a mesh that leaves some sort of trail behind it.
But I have been considering adding this feature in future updates. At least I’ll try :)

(1 edit)

Hi, didn't jam2go use SceneViewExtension based on your work to achieve this in his last video ?

* Oh I just saw your last video, work in progress I guess ^^

I released this feature in the latest update, so Jam recently showed it in his video

Cool, it can be done easily, or I better wait for a public api/doc? 

Hmm, I'm not sure I understand you.
SceneViewExtension is used for the plugin's functionality, including achieving effect that apply only to specific objects on the scene. In the current version of the plugin, this can be done using plugin's blueprint library or console commands. What do you mean by public api/doc?

Have you tested what happens if you have the effect turned on while the player gets teleported? Would the effect make for a smooth transition, or will it not work?

nvm, bought the plugin and tested it myself, works great, offering a smooth transition when the player teleport

thank you for the feedback!

When I first downloaded the file I had no issues, but upon a second download windows defender blocked reporting a virus stating that it found "Trojan:Script/Wacatac. B! ml".
I like to be cautious so I removed the plugin from my pc and am now performing a full scan, I'm hoping for a fix that removes this issue since a datamosh effect for UE would be fantastic.

(1 edit)

whoa, well, I'll double-check the plugin and update the files to meet unreal marketplace standards (without binaries). I think it's a false positive since checking the plugin's DLL libraries on VirusTotal for different versions didn't yield any suspicious results