[FREE] Block Constructor Plugin

I repeat all your steps but again not work, so VS2013 maybe is the problem. Maybe …

Most likely, you can get the community version of Visual Studio 2015 which is free for students. :slight_smile:

There is not necessary of VS2015, I compiled successfully with VS2013, and there is no necessary to delete any files.
in “f:\UnrealEngine Projects emp\Plugins\BlockConstructorPlugin\Source\BlockConstructorPlugin\System\LevelBlockConstructor.h”:
1)insert the line “#include <sys/stat.h>” right after “#pragma once” at the top of the file;
2)replace the line “struct stat buffer;” with “struct _stat buffer;”
3)replace the line “return (stat(name, &buffer) == 0);” with “return (_stat(name, &buffer) == 0);”
Start your project, compile and wait to load Editor

I played around with the plugin a bit and there seem to be some instability, but in general it’s working fairly well. The default way of placing or removing blocks I found was rather awkward so I took the liberty to try and improve it and make it behave a bit more like it would in other, similar games;

Suggestion; add a function to remove a block*(or just get the ISM reference to get its location)* via using the item ID you get from a hit result. That way you wouldn’t need to fiddle around with so many vectors. Not really necessary, just a thing for convenience and keep things clean. :slight_smile:

Hello everyone.

I found a job and was really busy with documentation , therefore had not time to read the thread or reply.

– Rebuild the project

I don’t know why this happens , not only this project but all my project require full rebuild with C++ and Visual Studio Installed.

I don’t know how to fix this. And I am too tired of searching of a way to solve it.

– LevelBlockConstructor.h 306 error.
I didn’t know that could happen.
Try Angel Tsvetkov](https://forums.unrealengine.com/member.php?24084-Angel-Tsvetkov) method.

There may be jitering because the system is loading the data from hard-disk sequentially. (I wanted asynchronous loading but didn’t have time to implement it)

I intentionally did it that way.
My method doesn’t use line-tracing but pure algorithmic method.
Line tracing will return only the static mesh reference as system sees InstantStaticMeshComponent as one single mesh.
(Maybe if trace for physics body of the block you can get reference to it. BUT will it give you ID of that ISM? No )

You only need to tell the system the global position (Vector) and it will add/destroy the block located there.
And for that you can use line trace to get hit point and destroy block at the location you want.

Good Luck