Visual Studio Code - Change inline braces in snippets to newline braces

Situation You’re a monster like me and have standardised on newline braces in PowerShell, but the vscode PowerShell extension has used inline braces. Solution Copy the snippets you use from %userprofile%\.vscode\extensions\ms-vscode.powershell-1.5.1\snippets\PowerShell.json Add them to your user snippets for PowerShell (CTRL+SHIFT+P > Open User Snippets > PowerShell) CTRL+F, regex mode Find \{", Replace with ",\n\t\t\t"{", CTRL+, to open user settings, then add "editor.snippetSuggestions": "top" Note: there are PowerShell user settings for code formatting, but I found these didn’t apply to snippets. [Read More]

Read Valid Input in PowerShell

Previously, any time I wanted to validate input in PowerShell, I’d write custom validation functionality per-script. It turns out that I reuse the same basic methods though, so I’ve created and shared a generalised function! This prompts users to enter input that matches a displayed list, then returns their input if successful. This works from VM or object selection, to simple y/n acceptance restrictions. The full details and code are here: https://github. [Read More]

Setting up Reaper Backups and Paths

Reaper is the DAW of champions, but even champions are reduced to tears, and a lifetime of pained staring-into-the-distance, by the loss of their entire creative output. Protect yourself from emotional damage by applying the following steps to your recording set-up. As always, adjust it to suit your own workflow, and tweak where you can. Let me know if you’ve got your own helpful steps to add. Note: This works with Reaper, but should be applicable to any DAW that has a reasonable level of The Files mentality. [Read More]
Music 

UE4 Pie Graph/Chart Material

(Download link at the bottom) In Tropical Manipulation, I need to display the share of customers that each player will receive, and communicate the price interaction mechanics (a lower price gets more customers, etc). For this I’ve created a pie graph/chart material, so that I can add an image widget and use it in UMG. I actually posted an early version of this on the UE4 forums, but it was a basic version that only gave results like this: [Read More]

Create A UWidget At Runtime

UE4’s built-in blueprint function ‘CreateWidget’ only allows you to specify UUserWidgets, so to add something basic like a button, border or text at runtime, you have to create a custom UUserWidget to wrap it - very inefficient. Luckily, there’s a ConstructWidget() function in C++ that can easily be exposed to blueprints. Make sure you’ve got a BP/C++ project, then create a blueprint function library C++ class. Code Add this to the . [Read More]
UE4 

Height Based UE4 Island Landscape Material

For the island used in Tropical Manipulation, I wanted a simple material applied that I could quickly tweak to get a great looking island. I investigated using landscape layers, but found that for what I was using it for (an unchanging backdrop to the game) they wouldn’t be necessary. Here’s what I wanted from the material: Different areas based on height Beach - sand Flats - sand and grass Lower mountains - grass Upper mountains - snow Automatic rock textures on the side of cliffs A way to transition between areas A way to aesthetically combine sand and grass on the flats Colour manipulation Quick control and feedback over most variables without having to regenerate the material. [Read More]

Set spline point rotation in UE4 blueprints

Skip to the bottom if you just want the c++ code to use. Originally written for 4.9. Updated 2016-09-05 for 4.13 (also maybe .10, .11 and .12) code changes. After following the great tutorials on using splines and spline meshes by DokipenTechTutorials I had a very useable spline_path object, but wanted to extend it a little further. I re-implemented some existing blueprints I was using elsewhere and created options that let me auto-height and auto-pitch start, middle and end points to follow the shape of the ground or object underneath the spline. [Read More]
UE4